標籤:資料庫操作 儲存函數 nes nbsp 類別 strong 預存程序 類型 插入
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 ‘使用者名稱‘@‘主機‘ identified by ‘密碼‘
例子:mysql> create user ‘pangbing‘@‘192.168.3.110‘ identified by ‘123‘;
//上邊的IP地址是允許訪問的主機地址
##############################################################
特別注意:在授權使用者許可權後,登陸時一定要指定登陸的mysql伺服器
-h 要登入的伺服器IP地址 登陸: mysql -u pangbing -h 192.168.3.110 -p
##############################################################
刪除mysql使用者
drop user ‘使用者名稱‘@‘host‘
例子:drop user ‘bing‘@‘%‘;
15.給使用者授權:
注意;如果使用者不存在,就會自動建立授權的使用者
GRANT 許可權列表 ON 庫名.表名 TO ‘使用者名稱‘@‘主機地址‘ IDENTIFIED BY ‘密碼‘
取消授權:
REOVKE 許可權列表 ON 庫名.表名 FROM ‘使用者名稱‘@‘主機地址‘
<1>許可權列表:用於列出授權使用的各種資料庫操作,以逗號進行分隔
例如:select insert updata。使用all privileges代表所有許可權,可授權任何操作。
<2>IDENTIFIED BY :用於設定使用者的密碼,如果在授權時省略,表示密碼為空白。
<3>主機地址:這時允許哪些主機串連伺服器器,也可以寫成IP(用戶端的地址)
‘%‘代表任意主機
例子:grant all on 庫名.* to ‘pangbing‘@‘%‘ identified by ‘密碼‘
16.查看許可權列表:
mysql> show grants for ‘pangbing‘@‘%‘;
select user,host from mysql.user;
17.預設情況下,root使用者是不具備遠程登入的許可權的,這也是基於安全考慮;
mysql> Grant all privileges on *.* to ‘root‘@‘%‘ identified by ‘123456‘ with grant option;
18.查看mysql支援的引擎
mysql> show engines;
mysql組織圖