用一条ALTER语句实现。
CHANGE:如果我们不只是修改单一列,而是用一条语句改变两个列,我们需要修改列的名称,同时更改他们的数据类型,这时就需要我们用到关键字CHANGE,可以在一条语句中放入多个CHANGE,在中间加上分隔的逗号即可。
比如原来的表两列,类型为VARCHAR(50),和VARCHAR(10),现在不止要更改列名,还要更改这两列的类型。
程序如下:
MODIFY:使用它可以只修改列的类型而不会干涉它的名称,假设要把proj_desc列的字符长度修改为VARCHAR(120)以容纳更多的说明文字,只要这么做就可以。
总结如下
(1)既更改列名也更改类型,用CHANGE
(2)只修改类型,用MODIFY,但这种方法比较慢,我们用另一种方法直接修改.frm文件,而不改动表本身。
alter是用来修改表结构或数据库结构的,是DDL(数据定义语言)语句;update是用来修改表数据的,是DML(数据 *** 纵语言)。两个的作用不在一个阶层。修改一个表的default属性:
alter table modify col default NULL-- NULL的位置表示要修改成的属性
区别:1、CHANGE 对列进行重命名或更改列的类型,需给定旧的列名称和新的列名称、当前的类型MODIFY 可以改变列的类型,此时不需要重命名(不需给定新的列名称)
2、案例
以使用CHANGE old_col_namecolumn_definition子句对列进行重命名。重命名时,需给定旧的和新的列名称和列当前的类型。例如:要把一个INTEGER列的名称从a变更到b,需要如下 *** 作:
·mysql>ALTER TABLE t1 CHANGE a b INTEGER
如果想要更改列的类型而不是名称, CHANGE语法仍然要求旧的和新的列名称,即使旧的和新的列名称是一样的。例如:
mysql>ALTER TABLE t1 CHANGE b b BIGINT NOT NULL
也可以使用MODIFY来改变列的类型,此时不需要重命名:
mysql>ALTER TABLE t1 MODIFY b BIGINT NOT NULL
mysql alter 语句用法,添加、修改、删除字段等
//主键549830479
alter table tabelname add new_field_id int(5) unsigned default 0 not null auto_increment ,add primary key (new_field_id)
//增加一个新列549830479
alter table t2 add d timestamp
alter table infos add ex tinyint not null default '0'
//删除列549830479
alter table t2 drop column c
//重命名列549830479
alter table t1 change a b integer
//改变列的类型549830479
alter table t1 change b b bigint not null
alter table infos change list list tinyint not null default '0'
//重命名表549830479
alter table t1 rename t2
加索引549830479
mysql>alter table tablename change depno depno int(5) not null
mysql>alter table tablename add index 索引名 (字段名1[,字段名2 …])
mysql>alter table tablename add index emp_name (name)
加主关键字的索引549830479
mysql>alter table tablename add primary key(id)
加唯一限制条件的索引549830479
mysql>alter table tablename add unique emp_name2(cardnumber)
删除某个索引549830479
mysql>alter table tablename drop index emp_name
修改表:549830479
增加字段:549830479
mysql>ALTER TABLE table_name ADD field_name field_type
修改原字段名称及类型:549830479
mysql>ALTER TABLE table_name CHANGE old_field_name new_field_name field_type
删除字段:549830479
mysql>ALTER TABLE table_name DROP field_name
删除主键: alter table Employees drop primary key
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)