Ⅰ sql如何用语句更改字段
SQL如何用语句更改字段可以用以下语句可以实现:
altertable表名altercolumn字段名变更后的字段类型。
注意:
但若是关键字段,带有主键,并且字段类型为用户自定义类型,具有默认值的情况下,用上述语句会出现错误。
例如:
现假设表饥告为TABLE1,关键字段为FIELD1,主键为PK_FIELD1,关键字段的数据类型为用户自定义数据类型cha_field1,实际为CHAR(10),默认值为dbo.D_field1现要求将字段类型改为varchar(20),默认值去除错误提示如下:
服务器:消息5074,级别16,状态1,行1
对象'D_field1'依赖于列'field1'。
服务器:消息5074,级别16,状态1,行1
对象'PK_field1'依赖于列'field1'。
服务器:消息4922,级别16,状态1,前枯行1
ALTERTABLEALTERCOLUMN烂悔明field1失败,因为有一个或多个对象访问此列。
Ⅱ 如何修改sql server 表字段名称
向sql server表中增加一个 varchar 列:
ALTER TABLE distributors ADD COLUMN address varchar(30);
从sql server表中删除一个字段:
ALTER TABLE distributors DROP COLUMN address RESTRICT;
在一个操作中修改两个现有字段的类型:
ALTER TABLE distributors
ALTER COLUMN address TYPE varchar(80),
ALTER COLUMN name TYPE varchar(100);
使用一个 USING 子句, 把一个包含 UNIX 时间戳的 integer 字段转化成 timestamp with time zone:
ALTER TABLE foo
ALTER COLUMN foo_timestamp TYPE timestamp with time zone
USING
timestamp with time zone 'epoch' + foo_timestamp * interval '1 second';
对现存字段改名:
ALTER TABLE distributors RENAME COLUMN address TO city;
更改现存sql server表的名字:
ALTER TABLE distributors RENAME TO suppliers;
给一个字段增加一个非空约束:
ALTER TABLE distributors ALTER COLUMN street SET NOT NULL;
从一个字段里删除一个非空约束:
ALTER TABLE distributors ALTER COLUMN street DROP NOT NULL;
给一个表增加一个检查约束:
ALTER TABLE distributors ADD CONSTRAINT zipchk CHECK (char_length(zipcode) = 5);
删除一个表和它的所有子表的监查约束:
ALTER TABLE distributors DROP CONSTRAINT zipchk;
向表中增加一个外键约束:
ALTER TABLE distributors ADD CONSTRAINT distfk FOREIGN KEY (address) REFERENCES addresses(address) MATCH FULL;
给表增加一个(多字段)唯一约束:
ALTER TABLE distributors ADD CONSTRAINT dist_id_zipcode_key UNIQUE (dist_id, zipcode);
给一个表增加一个自动命名的主键约束,要注意的是一个表只能有一个主键:
ALTER TABLE distributors ADD PRIMARY KEY (dist_id);
把表移动到另外一个表空间:
ALTER TABLE distributors SET TABLESPACE fasttablespace;
Ⅲ 用SQL语句修改字段名
一般地,改字段名可以用这条语句:
alter table A rename column a to c
但是,实际应用中,我们往往是用J-SQL进行编译,而J-SQL不支持修改字段名,所以,如果一定要修改字段名,那么只有通过变通的方法了,具体思路为:
1.新建一个字段,取名为c;
2.将字段a的内容拷贝到c;
3.删除字段a;
Ⅳ sql server 2005中如何修改字段名
SQL Server
调用
EXECUTE sp_rename
来进行 对数据库表中,列名的变更。
下面的代码,是在 SQL Server Management Studio 里面做修改
然后把 修改所生成的 SQL 语句复制粘贴出来,在 Sqlcmd 下面执行的
操作是把 test_tab 表的 val字段, 修改为 val2 字段。
1> BEGIN TRANSACTION
2> SET QUOTED_IDENTIFIER ON
3> SET ARITHABORT ON
4> SET NUMERIC_ROUNDABORT OFF
5> SET CONCAT_NULL_YIELDS_NULL ON
6> SET ANSI_NULLS ON
7>乱族 SET ANSI_PADDING ON
8> SET ANSI_WARNINGS ON
9> COMMIT
10> BEGIN TRANSACTION
11> GO
1> EXECUTE sp_rename N'dbo.test_tab.val', N'Tmp_val2', 'COLUMN'
2>者稿 GO
注意: 更改对象名的任一部分都可能会破坏脚本和存储过程。
1> EXECUTE sp_rename N'dbo.test_tab.Tmp_val2', N'val2', 'COLUMN'
2> GO
注意: 更改对象名的任一部分都可能会破坏脚本和存储过程。
1> COMMIT
2> go
test_tab 表的 val字段, 修改为 val2 字段。
SQL Server Management Studio 生成的代码为什么要先把 val 字段哗嫌弊修改为 Tmp_val2
然后再把 Tmp_val2 修改为 val2
这个原理还不大清楚。
不过简单的写,就是
EXECUTE sp_rename N'dbo.test_tab.val', N'val2', 'COLUMN'
Ⅳ sql批量修改字段名称
估计你是没理解replace的意思
譬如你举例的这几个
update 表名 set 字段名=replace(字段名,'aaaa','cccc');
这样以后
aaaaxxxbbb 变成 ccccxxxbbb
aaaamtbbb 变成 ccccmtbbb
替换的是里边的aaa
你那么写不知道你要改什么,如果你只要改aaa*bbb的那种可以在后边加where条件
update 表名 set 字段名=replace(字段名,'aaaa','cccc') where 字段名 like 'aaa*bbb'
当然,这个模糊查询是access里的,如果是sqlserver或oracle等,那个*是要替换成%的
----补充----
按你说的意思
access:
update 表名 set 字段名='A' where 字段名 like 'aaa*bbb'
sqlserver或oracle:
update 表名 set 字段名='A' where 字段名 like 'aaa%bbb'
Ⅵ SQL中在做查询时怎样给某一个字段重命名
SQL中在做查询时怎样给某一个字段重命名
MySQL中,如何使用SQL语句来对表中某一个字段进行重命名呢?我们将使用alter table 这一SQL语句。
重命名字段的语法为:alter table <表名> change <字段名> <字段新名称> <字段的类型>。
现在我们来尝试把test表中的.t_name字段重命名为t_name_new字段。
1、首先查看一下当前test表的结构
mysql> describe test;
+------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| t_id | int(11) | YES | | NULL | |
| t_name | var20) | YES | | NULL | |
| t_password | 32) | YES | | NULL | |
| t_birth | date | YES | | NULL | |
+------------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
2、使用alter table语句来修改字段名称
mysql> alter table test change t_name t_name_new var20);
Query OK, 0 rows affected (0.11 sec)
Records: 0 Duplicates: 0 Warnings: 0
3、查看修改过后的结果
mysql> describe test;
+------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| t_id | int(11) | YES | | NULL | |
| t_name_new | var20) | YES | | NULL | |
| t_password | 32) | YES | | NULL | |
| t_birth | date | YES | | NULL | |
+------------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
至此,我们可以顺利的修改表中字段名称了。
关于MySQL中使用SQL语句对字段进行重命名,本文就介绍这么多,希望对大家有所帮助,谢谢! ;
Ⅶ 在Sql server,能用sql语句修改字段名称吗
在Sql server,可以用sql语句修改字段名称。操作方法如下:
1、找到要修改的表,右键单击选择设计,如下图所示。
Ⅷ SQL server怎样使用ALTER 语句修改字段名
1、新建一个表:student,用做示例,如图所示。
(8)sql改字段名扩展阅读
在修改Sql Server表结构时,常用到Alter语句,把一些常用的alter语句列举如下。
1、向表中添加字段
Alter table [表名] add [列名] 类型
2、删除字段
Alter table [表名] drop column [列名]
3、修改表中字段类型 (可以修改列的类型,是否为空)
Alter table [表名] alter column [列名] 类型
4、添加主键
Alter table [表名] add constraint [约束名] primary key( [列名])
5、添加唯一约束
Alter table [表名] add constraint [约束名] unique([列名])
6、添加表中某列的默认值
Alter table [表名] add constraint [约束名] default(默认值) for [列名]
7、添加约束
Alter table [表名] add constraint [约束名]check (内容)
8、添加外键约束
Alter table [表名] add constraint [约束名] foreign key(列名) referencese 另一表名(列名)
9、删除约束
Alter table [表名] drop constraint [约束名]
10、重命名表
exec sp_rename '[原表名]','[新表名]'
11、重命名列名
exec sp_rename '[表名].[列名]','[表名].[新列名]'
12、删除主键,以及主键上的索引
alter table table_name drop constraint clusteredName