1. 程式人生 > >MySQL中數據表的基本操縱

MySQL中數據表的基本操縱

1-1 after alt font 括號 bsp mod 出現 ...

本文基於對國家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中數據表的基本操縱