十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
那个 修改列名 各个数据库都支持的写法 到底有没有, 我也不大确定.\x0d\x0a下面是 3种数据库 各自的写法.\x0d\x0a你可以切换着测试测试, 看看哪种写法,是 各个数据库都支持的写法.\x0d\x0a\x0d\x0aOracle\x0d\x0aSQL ALTER TABLE test_tab\x0d\x0a 2 RENAME COLUMN val TO val2;\x0d\x0aTable altered.\x0d\x0a\x0d\x0aSQL Server\x0d\x0a调用 EXECUTE sp_rename 来进行 对数据库表中,列名的变更。\x0d\x0a1 EXECUTE sp_rename N'dbo.test_tab.val', N'Tmp_val2', 'COLUMN'\x0d\x0a2 GO\x0d\x0a注意: 更改对象名的任一部分都可能会破坏脚本和存储过程。\x0d\x0a1 EXECUTE sp_rename N'dbo.test_tab.Tmp_val2', N'val2', 'COLUMN'\x0d\x0a2 GO\x0d\x0a注意: 更改对象名的任一部分都可能会破坏脚本和存储过程。\x0d\x0a\x0d\x0aMySQL\x0d\x0amysql ALTER TABLE test_tab\x0d\x0a - CHANGE COLUMN val val2 VARCHAR(10); //\x0d\x0aQuery OK, 0 rows affected (0.13 sec)\x0d\x0aRecords: 0 Duplicates: 0 Warnings: 0
创新互联公司自2013年起,先为冀州等服务建站,冀州等地企业,进行企业商务咨询服务。为冀州企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
将表格修改为下面第二个表格形式。
用一条ALTER语句实现。
CHANGE:如果我们不只是修改单一列,而是用一条语句改变两个列,我们需要修改列的名称,同时更改他们的数据类型,这时就需要我们用到关键字CHANGE,可以在一条语句中放入多个CHANGE,在中间加上分隔的逗号即可。
比如原来的表两列,类型为VARCHAR(50),和VARCHAR(10),现在不止要更改列名,还要更改这两列的类型。
程序如下:
MODIFY:使用它可以只修改列的类型而不会干涉它的名称,假设要把proj_desc列的字符长度修改为VARCHAR(120)以容纳更多的说明文字,只要这么做就可以。
总结如下;
(1)既更改列名也更改类型,用CHANGE
(2)只修改类型,用MODIFY,但这种方法比较慢,我们用另一种方法直接修改.frm文件,而不改动表本身。
4.4.2修改字段名
语句格式:ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型;
在上面语句格式中,“表名”指定要修改的是哪个表,“旧字段名”指定要修改表中哪个字段(的字段名),“新字段名”指定要修改成的新字段名,“新数据类型”指定修改字段名后的字段数据类型(注意:新数据类型不能省掉,表中字段更改字段名后即便数据类型不改,也要给出新数据类型)。
下面截图中的“ALTER TABLE”语句将t_dept表中loc字段更名为location,修改之前和修改之后的“desc”语句执行结果的对比中可以看出loc字段被修改成了location。
修改表:
1.修改之添加列:给stu表添加classname列:
ALTER TABLE stu ADD (classname varchar(100));
2.修改之修改列类型:修改stu表的gender列类型为CHAR(2):
ALTER TABLE stu MODIFY gender CHAR(2);
3.修改之修改列名:修改stu表的gender列名为sex:
ALTER TABLE stu change gender sex CHAR(2);
4.修改之删除列:删除stu表的classname列:
ALTER TABLE stu DROP classname;
5.修改之修改表名称:修改stu表名称为student:
ALTER TABLE stu RENAME TO student;
查看当前数据库中所有表名称:SHOW TABLES;
查看指定表的创建语句:SHOW CREATE TABLE emp,查看emp表的创建语句;
查看表结构:DESC emp,查看emp表结构;
删除表:DROP TABLE emp,删除emp表;
ALTER TABLE 表名 CHANGE 原列名 新列名 原列属性;
例:
创建表
CREATE TABLE loginuser(
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(20) NOT NULL,
PASSWORD VARCHAR(20)
);
修改列名
ALTER TABLE loginuser CHANGE NAME username VARCHAR(20);