MySQL中資料表的基本操縱

來源:互聯網
上載者:User

標籤: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中資料表的基本操縱

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.