SQL中如何修改表的字段名和数据类型

这是一个陷阱。
直接修改表结构可能会导致程序中断。

不信,在不了解影响的情况下不要随意更改字段名称和数据类型。

不要这样做,在更改之前评估依赖性和数据兼容性,并备份数据。

怎样用SQL语句修改字段名

那天我在数据库里乱搞,突然发现字段名拼错了。
本来想改个名字,但是发现操作起来相当麻烦。
例如,我有一个名为 test 的表,其中有一个名为 name 的字段。
我想把它重命名为snmae。
需要使用sp_rename函数,需要写入旧名称和新名称,并且需要导入表名。
我当时写的是:sp_rename 'test.name', 'name'。
修改后发现表结构中的名字确实变了。
不过,我心里也想,改名会不会影响到其他国家呢?例如,那些脚本和存储过程会因为这个小变化而中断吗?等等,还有一件事。
我突然想到,改名字的时候一定要小心,不然会自毁,数据也会乱。

怎样用SQL语句修改字段名

哎呀,让我告诉你我当时遇到的陷阱。
当年我刚接手一个项目,数据库表设计得乱七八糟。
有一个名为 test 的表和一个名为 name 的字段。
我很兴奋,想把名字改成sname。
结果如何?直接用sp_rename 'test.name', 'sname'执行,哦,报错了!说什么?说明object_name格式不正确。

我当时一头雾水,查了一遍文档才发现问题。
为此,表名和字段名必须连接,格式必须为“表名.字段名”。
就像您发送的语句一样, sp_rename 'test.name', 'sname' 是正确的。
如果你写sp_rename'test','sname',肯定不行。
系统不知道您引用的是哪个表的哪个字段。

加上tard,j'ai réessayé et j'ai changé le nom de la table et le nom du champ en un nom plus simple,等等正确的cette fois。
我记得将一个名为 users 的表(其中有一个电子邮件字段)更改为 user_email。
这次就不会有问题了。
所以你看,在SQL Server中使用sp_rename时,需要将表名和字段名完整且格式正确地写入。
当时我也被这个问题困扰了很长时间,差点把我的电脑弄坏了。

顺便问一下,@objtype 是做什么的?我见到的人不多,所以不敢乱说。
我记得doc上说是用来指定对象类型的,比如表、视图等。
但是具体怎么用呢,我试了一次,没有任何反应。
也许设置使用不正确。
如果您特别想使用此设置,建议您阅读一本有关 SQL Server 的严肃书籍或询问更有知识的同事。
我盲目地理解了一切。