1.資料的組織結構
<1>層次型
<2>網狀型
<3>關係型
2.mysql軟體包格式
<1>.軟體包管理器特有的格式:.rpm包
<2>.通用二進位製包:解壓玩就能用
<3>.源程式:原始碼包
3.mysql是c/s架構
客戶端:mysql 要安裝的包:mysql
服務端:mysqld 要安裝的包:mysql-server
預設是監聽在3306埠
它一般以mysql 使用者,mysql組來執行
4. 磁碟格式化之後把空間分為了兩個區域:乙個叫「元資料區域」,乙個叫「資料區域」。資料區域還會劃分成磁碟塊。
5.安裝完之後在客戶端命令列介面中輸入:mysql就可以進出mysql資料庫了
以上都是基於安裝紅帽自帶的rpm包的過程。
6.mysql命令的選項
-u 指定使用者名稱(預設是root,這個使用者是mysql的root。不是系統的。它的許可權是最高的)
-p (建議是-p後邊不要輸入密碼,這樣所有人可見,不安全。直接回車即可,使用互動的方式輸入密碼)
-h 指定主機
修改root密碼
第一次修改密碼: mysqladmin -u root password 『123123『 回車
第二次修改密碼: mysqladmin -u root -p password 『123123『 回車後輸入原密碼
注意在第二條命令中-p後邊不要有空格,直接接密碼即可
7.mysql客戶端互動有兩種模式
互動式模式
批量處理模式(執行mysql指令碼的)。
互動式模式中的命令類別:
客戶端命令:?或是help獲取命令幫助
服務端命令:
都必須使用語句結束符,預設為分號
8. 關聯式資料庫物件:庫 、表、索引、試圖、約束、儲存過程、儲存函式、觸發器、游標、使用者。
9.mysql的庫其實是對應在/var/lib/mysql/下的相對應的目錄
10.表
他是由行和列組成
表:又叫做乙個實體
行:raw
列:field
我們要網表裡插入乙個資料,需要定義欄位名稱,資料型別,型別修飾。
資料型別:
字元型:
char
varchar
binary
varbinary
text
blob
數值型:
整型:精確數值型
整型十進位制
近似數值:
浮點型日期:
布林型:
11.ddl:定義資料物件的
命令:create alter drop
dml:操作語言
命令:insert updata delete
dcl:控制語言
命令:grant revoke
這些命令是不區分大小寫的
12.庫的相關操作
格式: create database 庫名;
檢視有哪些庫 :show databases;
建立乙個庫 :create database pangbing;
刪除乙個資料庫:drop database pangbing;
use mysql:表示使用mysql這個資料庫,建立表時不指定資料庫的話就在這個庫里建立表。
否則在建立表的時候要使用:create table 庫名.表名
13.表的相關操作
格式:create table 表名(欄位的定義);
檢視預設庫中的表:show tables;
檢視特定資料中的表: show tables from 庫名;
檢視表的結構:desc 表名;
刪除表:drop table 表名;
修改表:alter table 表名;
修改的方法有這麼幾種
modify 修改某個字段 (把字段的屬性改改,欄位的名字不變)
change 改變某個欄位的 (欄位名稱改變)
add 新增乙個字段
drop 刪除字段
help alter table:檢視幫助
14.建立msql使用者
create user [email protected] identified by 『密碼『
例子:mysql> create user [email protected] identified by 『123『;
//上邊的ip位址是允許訪問的主機位址
特別注意:在授權使用者許可權後,登陸時一定要指定登陸的mysql伺服器
刪除mysql使用者
15.給使用者授權:
注意;如果使用者不存在,就會自動建立授權的使用者
grant 許可權列表 on 庫名.表名 to [email protected] identified by 『密碼『
取消授權:
reovke 許可權列表 on 庫名.表名 from [email protected]
<1>許可權列表:用於列出授權使用的各種資料庫操作,以逗號進行分隔
例如:select insert updata。使用all privileges代表所有許可權,可授權任何操作。
<2>identified by :用於設定使用者的密碼,如果在授權時省略,表示密碼為空。
『%『代表任意主機
例子:grant all on 庫名.* to [email protected]%『 identified by 『密碼『
16.檢視許可權列表:
mysql> show grants for [email protected]%『;
select user,host from mysql.user;
17.預設情況下,root使用者是不具備遠端登入的許可權的,這也是基於安全考慮;
mysql> grant all privileges on *.* to [email protected]%『 identified by 『123456『 with grant option;
18.檢視mysql支援的引擎
mysql> show engines;
mysql 組織層級查詢 mysql 層級結構查詢
描述 最近遇到了乙個問題,在mysql中如何完成節點下的所有節點或節點上的所有父節點的查詢?在oracle中我們知道有乙個hierarchical queries可以通過connect by來查詢,但是,在mysql中還沒有對應的函式 下面給出乙個function來完成的方法 下面是sql指令碼,想...
深入MySQL(一) MySQL的組織架構
今天開始將自己所學過的mysql的知識都嘗試融會貫通,並且用寫部落格的方式記錄分享下來。今天講的主題是mysql的組織架構,對於學習乙個中介軟體或者開源專案而言,我覺得最重要的便是先知曉其組織架構,以乙個全域性的姿態去觀察架構之後,再有選擇性的深入到細節,才能夠學的快且有收穫。根據圖可以觀察到,my...
MySQL遍歷上級組織並給組織向上排序
業務 場景 表中存有上級組織 字段,組織負責人字段,現需返回當前組織負責人及其所有上級組織的負責人,並以當前組織排序為1,上級組織排序為2,以此類推。實現方法如下 drop procedure if exists pt structure getprincipal create procedure ...