· 您可以在一个ALTER TABLE语句里写入多个ADD, ALTER, DROP和CHANGE子句,中间用逗号分开。这是MySQL相对于标准SQL的扩展。在标准SQL中,每个ALTER TABLE语句中每个子句只允许使用一次。例如,在一个语句中取消多个列:
· mysql> ALTER TABLE t2 DROP COLUMN c, DROP COLUMN d;
[b]创建表[/b]
以下例子展示了ALTER TABLE的使用。首先展示表t1。表t1采用如下方法创建:
mysql> CREATE TABLE t1 (a INTEGER,b CHAR(10));
[code="java"][b]修改表名[/b]
把表t1重新命名为t2:
mysql> ALTER TABLE t1 RENAME t2;
[b]修改列的类型,名称[/b]
把列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);
[b]添加列[/b]
添加一个新的TIMESTAMP列,名称为d:
mysql> ALTER TABLE t2 ADD d TIMESTAMP;
[b]添加索引[/b]
在列d和列a中添加索引:
mysql> ALTER TABLE t2 ADD INDEX (d), ADD INDEX (a);
[b]删除列[/b]
删除列c:
mysql> ALTER TABLE t2 DROP COLUMN c;
[b]添加自动增长列[/b]
添加一个新的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;
-------
成功了...
必须将自动增长列设为主键
这句话 primary key (id)
· mysql> ALTER TABLE t2 DROP COLUMN c, DROP COLUMN d;
[b]创建表[/b]
以下例子展示了ALTER TABLE的使用。首先展示表t1。表t1采用如下方法创建:
mysql> CREATE TABLE t1 (a INTEGER,b CHAR(10));
[code="java"][b]修改表名[/b]
把表t1重新命名为t2:
mysql> ALTER TABLE t1 RENAME t2;
[b]修改列的类型,名称[/b]
把列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);
[b]添加列[/b]
添加一个新的TIMESTAMP列,名称为d:
mysql> ALTER TABLE t2 ADD d TIMESTAMP;
[b]添加索引[/b]
在列d和列a中添加索引:
mysql> ALTER TABLE t2 ADD INDEX (d), ADD INDEX (a);
[b]删除列[/b]
删除列c:
mysql> ALTER TABLE t2 DROP COLUMN c;
[b]添加自动增长列[/b]
添加一个新的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;
-------
成功了...
必须将自动增长列设为主键
这句话 primary key (id)