一、创建表
为利用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 '996@QAQ.com', 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;