17 创建和操纵表

17.1 创建表

为了用程序创建表,可使用SQLCREATE TABLE语句。 必须给出下列信息:

  • 新表的名字,在关键字CREATE TABLE之后给出;
  • 表列的名字和定义,用逗号分隔。
CREATE TABLE mytable (
  id INT NOT NULL AUTO_INCREMENT,
  col1 INT NOT NULL DEFAULT 1,
  col2 VARCHAR(45) NULL,
  col3 DATE NULL,
  PRIMARY KEY (`id`));

17.1.1 使用NULL值

每个表列或者是NULL列,或者是NOT NULL列,这种状态在创建时由

17.1.2 主键

主键值必须唯一。 如果使用多个列,则这些列的组合值必须唯一。
使用多个列作为主键是这样的:

PRIMARY KEY ( order_num, order_item )

17.1.3 使用AUTO_INCREMENT

AUTO_INCREMENT告诉MySQL,本列每当增加一行时自动增量。
每个表只允许一个AUTO_INCREMENT列,而且它必须被索引(如,通过使它成为主键)。

17.1.4 指定默认值

如果在插入行时没有给出值, MySQL允许指定此时使用的默认值。 默认值用CREATE TABLE语句的列定义中的DEFAULT关键字指定。

17.2 更新表

为更新表定义,可使用ALTER TABLE语句。但是,理想状态下,当表中存储数据以后,该表就不应该再被更新。
添加列:

ALTER TABLE mytable
ADD col CHAR(20);

必须明确其数据类型。

删除列:

ALTER TABLE mytable
DROP COLUMN col;

17.3 删除表

删除表(删除整个表而不是其内容)非常简单,使用DROP TABLE语句:

DROP TABLE mytable;

17.4 重命名表

使用RENAME TABLE语句可以重命名一个表: 

RENAME TABLE mytable TO mytable1;

猜你喜欢

转载自www.cnblogs.com/xlzfdddd/p/10167962.html
17