1、 创建表
CREATE TABLE demo(
id INT NOT NULL AUTO_INCREMENT,
nickname VARCHAR(100) NOT NULL,
gender VARCHAR(2) NOT NULL DEFAULT 0,
PRIMARY KEY(id)
)ENGINE=INNODB
1.1、主键
主键值必须唯一,且不能为空。即,表中的每个行必须具有唯一的主键值。如果主键使用单个列,则它的值必须唯一。如果使用多个列,则这些列的组合值必须唯一。
CREATE TABLE demo(
id INT NOT NULL AUTO_INCREMENT,
nickname VARCHAR(100) NOT NULL,
gender VARCHAR(2) NOT NULL DEFAULT 0,
PRIMARY KEY(id, nickname)
)ENGINE=INNODB
1.2 使用AUTO_INCREMENT
AUTO_INCREMENT告诉MySQL,本列每当增加一行时自动增量。每次执行一个INSERT操作时,MySQL自动对该列增量,给该列赋予下一个可用的值。这样给每个行分配一个唯一的id,从而可以用作主键值。每个表只允许一个AUTO_INCREMENT列,而且它必须被索引(如,通过使它成为主键)。
1.2.1 覆盖AUTO_INCREMENT
如果我们不需要mysql自己生成的值,那我们可以在插入的时候指定我们需要的值,前提是该值并没有存在该列中(即该值是唯一的)。不过需要注意的是,下一次自动生成的值,更改之后的值的基础之上进行增加的。
1.2.2 确定AUTO_INCREMENT值
last_insert_id()函数获得可以获得AUTO_INCREMENT的值。
SELECT LAST_INSERT_ID()
1.3 指定默认值
如果在插入行时没有给出值,MySQL允许指定此时使用的默认值。默认值用CREATE TABLE语句的列定义中的DEFAULT关键字指定。
gender VARCHAR(2) NTO NULL DEFAULT 0,
2、更行表
在表创建好了之后,如果表不能满足我们的需求,这时候我们可以使用命令修改数据表。但是数据表创建后了之后,不建议再更新表,
2.1 增加列
ALTER TABLE demo ADD email VARCHAR(20)
2.2 删除列
ALTER TABLE demo DROP COLUMN email
3、删除表
这条语句删除demo表(假设它存在)。删除表没有确认,也不能撤销,执行这条语句将永久删除该表。
drop table demo
4、重命名表
修改单个表名
RENAME TABLE demo TO newdemo
修改多个表名
RENAME TABLE demo1 TO newdemo1,
demo2 TO newdemo2