SQL - 创建和操纵表

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值