mysql 操作表和列

2009 - 06 - 19

关键字: 手册 alter table *
·         您可以在一个ALTER TABLE语句里写入多个ADD, ALTER, DROP和CHANGE子句,中间用逗号分开。这是 MySQL相对于标准SQL的扩展。在标准SQL中,每个ALTER TABLE语句中每个子句只允许使用一次。例如,在一个语句中取消多个列:

·                mysql> ALTER TABLE t2 DROP COLUMN c, DROP COLUMN d;

创建表
以下例子展示了ALTER TABLE的使用。首先展示表t1。表t1采用如下方法创建:

mysql> CREATE TABLE t1 (a INTEGER,b CHAR(10));
修改表名
把表t1重新命名为t2:

mysql> ALTER TABLE t1 RENAME t2;
修改列的类型,名称
把列a从INTERGER更改为TINYINT NOT NULL(名称保持不变),并把列b从CHAR(10)更改为CHAR(20),同时把列b重新命名为列c:

mysql> ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b c CHAR(20);
添加列
添加一个新的TIMESTAMP列,名称为d:

mysql> ALTER TABLE t2 ADD d TIMESTAMP;
添加索引
在列d和列a中添加索引:

mysql> ALTER TABLE t2 ADD INDEX (d), ADD INDEX (a);
删除列
删除列c:

mysql> ALTER TABLE t2 DROP COLUMN c;
添加自动增长列
添加一个新的AUTO_INCREMENT整数列,名称为c:

mysql> ALTER TABLE t2 ADD c INT UNSIGNED NOT NULL AUTO_INCREMENT,
    ->     ADD PRIMARY KEY (c);
注意我们为c编制了索引(作为PRIMARY KEY),因为AUTO_INCREMENT列必须编制索引。同时我们定义c为NOT NULL,因为主键列不能为NULL。


-------
ps:添加自动增长我就没成功过.-0-~

附上 创建带有自动增长列的表
CREATE TABLE test_table(
Id int(6) unsigned NOT NULL auto_increment,
name varchar(10),
primary key (id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值