创建表和操作表

一、创建表

  为利用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;

猜你喜欢

转载自www.cnblogs.com/ACGame/p/10106179.html
今日推荐