1. 程式人生 > >建立表和操作表

建立表和操作表

一、建立表

  為利用CREATE TABLE建立表,必須給出下列資訊:新表的名字,在關鍵字CREATE TABLE之後給出;表列的名字和定義,用逗號分隔。

1、如果僅想在一個表不存在時建立它,則應該在表名前面給出IF NOT EXISTS。

2、表的主鍵可以在建立表時用PRIMARY KEY(col1,col2,...)關鍵字指定。主鍵值必須唯一。主鍵中只能使用不允許為NULL值的列。允許NULL值的列不能作為唯一標識。

3、AUTO_INCREMENT告訴MySQL,本列每當增加一個值時自動增量。每個列只允許一個AUTO_INCREMENT列,而且它必須被索引。也可以簡單的在INSERT語句中指定該列的值,只要它是唯一的,該值將用來替代自動生成的值。後續的增量獎開始使用該手工插入的值。

4、NULL為預設設定,如果不指定NOT NULL,則認為指定的是NULL。

5、如果在插入行時沒有給出值,MySQL允許指定此時使用的預設值。預設值用CREATE TABLE語句的列定義中的DEFAULT關鍵字指定。

6、在你使用CREATE TABLE建立表時,該引擎具體建立表,在你使用SELECT語句或進行其他資料處理時,該引擎在內部處理你的請求。

7、外來鍵不能跨引擎,即使用一個引擎的表不能引用具有不同引擎表的外來鍵。

 1 CREATE TABLE IF NOT EXISTS customers (
 2   cust_id int NOT NULL AUTO_INCREMENT,
3 cust_name char(50) NOT NULL, 4 cust_address char(50) NULL, 5 cust_city char(50) NULL, 6 cust_state char(50) NULL, 7 cust_zip char(50) NULL, 8 cust_country char(50) NULL, 9 cust_contact char(50) NULL, 10 cust_email char(50) NOT NULL DEFAULT '[email protected]', 11 PRIMARY KEY (cust_id)
12 ) ENGINE=InnoDB;

 

二、更新表

  為更新表定義,可使用ALTER TABLE語句。

1、增加列

1 ALTER TABLE customers ADD cust_phone char(50);

2、刪除列

1 ALTER TABLE customers DROP cust_phone;

 

三、刪除表

1 DROP TABLE table_name;

 

四、重命名錶

1 RENAME TABLE table_name TO table_name_new;