Mysql中修改字段类型、长度以及添加删除列

Mysql中修改字段类型、长度以及添加删除列,第1张

1、mysql中修改字段长度

ALTER TABLE tb_article MODIFY COLUMN NAME VARCHAR(50)  

这里的tb_article为表名,NAME为字段名,50为修改后的长度

2、mysql修改字段类型:

ALTER TABLE tb_article MODIFY COLUMN NAME CHAR(50)  

修改后,name字段类型由varchar变为char

3、mysql中增加列:

ALTER TABLE tb_article ADD COLUMN name1 VARCHAR(30)  

4、mysql中修改列 :

ALTER TABLE tb_article CHANGE name1 name2 VARCHAR(30) 

5、mysql中删除列 :

ALTER TABLE tb_article DROP COLUMN name2  

一次删除一列表字段

alter table 表名  drop column 列名    其他复制不变

一次删除多列表字段

ALTER TABLE 表名

DROP 列名,

DROP 列名,

DROP 列名,

DROP 列名,

DROP 列名 ...

如果数据多的情况下去 *** 作,耗时很长需耐心

ALTER TABLE:添加,修改,删除表的列,约束等表的定义。

查看列:desc 表名

修改表名:alter table t_book rename to bbb

添加列:alter table 表名 add column 列名 varchar(30)

删除列:alter table 表名 drop column 列名

修改列名MySQL: alter table bbb change nnnnn hh int

修改列名SQLServer:exec sp_rename't_student.name','nn','column'

修改列名Oracle:lter table bbb rename column nnnnn to hh int

修改列属性:alter table t_book modify name varchar(22)

sp_rename:SQLServer 内置的存储过程,用与修改表的定义。

删除语句:delete from fatie where id not in(select t.id1 from ( (select max(a.id) id1 from fatie a group by a.name)as t))留下的是各组id号最大的,如果留的是最小的话换成min(a.id)就行了

如果没有加上一个中间表t,即这句话 select t.id from去掉直接写成delete from fatie where id not in(select max(id) a.id1 from fatie a group by a.name)mysql会提示错误:You can't specify target table 'fatie' for update in FROM clause (不能先select出同一表中的某些值,再update这个表(在同一语句中)。

参考资料

CSDN.CSDN[引用时间2018-1-9]


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7415776.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存