標籤:log modify 排序 修改表 color 孵化器 use 關聯 個數
本文基於對國家863中部軟體孵化器編著的《MySQL從入門大精通》一書的操作實踐。
一、建立資料表
資料表屬於資料庫,在建立資料表之前,應該使用語句 USE 資料庫名 指定操作是在那個資料庫中進行。
建立資料表的語句為CREATE TABLE ,文法規則如下:
1 CREATE TABLE 表名2 ( //為括弧3 欄位名1 資料類型 [列層級約束條件] [預設值],4 欄位名1 資料類型 [列層級約束條件] [預設值],5 ......6 [表級約束條件]7 ); //要有分號
使用CREATE TABLE 建立表時,要注意一下幾點:
(1)要建立表名,不區分大小寫,不能使用SQL語言中的關鍵字,如DROP、ALTER等;
(2)資料表中每一個欄位的名稱和資料類型,如果要建立多個,要用逗號隔開。
1、主鍵約束
主鍵,又稱主碼,是表中一列或者多列的組合。主鍵約束(Primary Key Constraint)要求主鍵列的資料唯一,並且不允許為空白。主鍵能夠唯一標識表中的一條記錄,可以結合外鍵來定義不同資料表之間的關係,並且可以加快資料庫查詢的速度。主鍵和記錄之間的關係如同身份證和人之間的關係,它們之間一一對應。主鍵分為兩種類型:單欄位主鍵和多欄位聯合主鍵。
(1)單欄位主鍵
a)在定義列的同時指定主鍵,文法規則如下:
欄位名 資料類型 PRIMARY KEY [預設值]
b)在定義完所有列之後指定主鍵,文法格式如下:
PRIMARY KEY [欄位名]
(2)多欄位聯合主鍵
文法規則如下:
PRIMARY KEY [欄位1,欄位2....,欄位名n]
2、外鍵約束
外鍵用來在兩個表的資料之間建立串連,它可以是一列或多列,一個表可以有一個多多個外鍵。外鍵對應的是參照完整性,一個表的外鍵可以為空白值,若不為空白值,則每一個外索引值必須等於另一個表中主鍵的某個值。主鍵所在的表為主表,外鍵所在的表為從表。
建立外鍵的文法如下:
[CONSTRAINT 外鍵名] FOREIGN KEY 欄位名1 [欄位名2...] REFERENCES 主表名 主鍵列1 [,主鍵列2...]
注意:子表的外鍵必須關聯父表的主鍵,且關聯欄位的資料類型必須匹配,如果類型不一樣,則建立子表是,就會出現錯誤提示。
3、非空約束
非空約束(NOT NULL Constraint)是指欄位的值不可為空。文法規則如下:
欄位名 資料類型 NOT NULL
4、唯一性限制式
唯一性限制式要求該列唯一,允許為空白,但是只能出現一個空值。唯一約束可以確保一列或基類都不出現重複值。
1)文法
欄位名 資料類型 UNIQUE
2)文法
在定義往所有列之後指定唯一約束,文法如下:
[CONSTRAINT <約束名>] UNIQUE(<欄位名>)
5、預設約束
預設約束指定某列的預設值。文法如下:
欄位名 資料類型 DEFAULT 預設值
註:UNIQUE和PRIMARY KEY的區別:
1)一個表可以有多個欄位聲明為UNIQUE,但是只能由一個PRIMARY KEY聲明;
2)聲明為PRIMARY KEY 的類不允許有空值,但是聲明為UNIQUE的欄位允許空值的存在。
6、設定資料表的屬性值自動增加
在資料庫應用中,希望在每次插入新記錄時,系統自動產生欄位的主索引值。可以通過表主鍵添加AUTO_INCREMENT關鍵字來實現。
一個表只能由一個欄位使用AUTO_INCREMENT約束,且該欄位必須為主鍵的一部分。文法如下:
欄位名 資料類型 AUTO_INCREMENT
然後對資料表中插入相應的資料以後看:
二、查看資料表結構
1、查看錶基本結構
文法如下:
DESCRIBE(DESC) 表名;
2、查看錶詳細結構
文法格式如下:
SHOW CREATE TABLE <表名\G>;
三、修改資料表
1、修改表名
文法如下:
ALTER TABLE <舊錶名>RENAME [TO]<新表名>;
註:修改表名並不修改表的結構。
2、修改欄位資料類型
ALTER TABLE<表名>MODIFY<欄位名><資料類型>;
3、修改欄位名
ALTER TABLE<表名>CHANGE<舊欄位名><新欄位名><新資料類型>;
4、添加欄位
ALTER TABLE<表名>ADD<新欄位名><資料類型>[約束條件][FIRST/AFTER 已存在的欄位名];
預設的添加位置是資料表的最後列
1)添加無完整性條件約束條件的欄位
2)添加有完成約束條件的欄位
3)在表的第一類添加一個欄位
4)在表中指定列之後添加一個欄位
5、刪除欄位
ALTER TABLE <表名>DROP<欄位名>;
6、修改欄位排序
ALTER TABLE<表名>MODIFY<欄位1><資料類型>FIRST AFTER<欄位2>;
7、修改表的儲存引擎
ALTER TABLE<表名>ENGINE=<更改後的儲存引擎名>;
8、刪除表的外鍵約束
ALTER TABLE<表名>DROP FOREIGN KEY<外鍵約束名>;
四、刪除資料表
DROP TABLE 表1,表2....
值得注意的是,刪除資料表時,若有外鍵約束,應先刪除約束條件,再刪除主表。也可以先刪除子表,再刪除主表。
總結:
1、資料表的修改用ALTER TABLE
2、資料表的刪除用DROP
MySQL中資料表的基本操縱