大家好,又见面了,我是你们的朋友全栈君。
sql语句 能不能修改表名
可以。
SQL自带了一系列的系统存储过程。其中sp_rename就具有修改表名和列名的功能。对于sp_rename是这样定义的:更改当前数据库中用户创建对象(如表、列或用户定义数据类型)的名称。
基本语法:
修改表名:EXEC sp_rename ‘[原有表名]’, ‘[新表名]’;
修改列名:EXEC sp_rename ‘[原有列名]’, ‘[新列名]’ , ‘COLUMN’;
扩展资料:
不同语句修改表明参考以下相应命令:
1. MYSQL
rename table table1 to table2;
2. SQL SERVER
EXEC sp_rename ‘table1’, ‘table2’;
3. Oracle
alter table table1 rename to table2
4. db2
rename table table1 to table2;
SQL语句如何更改数据库名
一、更改数据库名 sp_renamedb 更改数据库的名称。
语法 sp_renamedb [ @dbname = ] ‘ old_name ‘ , [ @newname = ] ‘ new_name ‘ 参数 [ @dbname = ] ‘ old_name ‘ 是数据库的当前名称。 old_name 为 sysname 类型,无默认值。
[ @newname = ] ‘ new_name ‘ 是数据库的新名称。 new_name 必须遵循标识符规则。
new_name 为 sysname 类型,无默认值。 返回代码值 0 (成功)或非零数字(失败) 权限 只有 sysadmin 和 dbcreator 固定服务器角色的成员才能执行 sp_renamedb。
示例 下例将数据库 accounting 改名为 financial。 EXEC sp_renamedb ‘ accounting ‘ , ‘ financial ‘ 二、更改表名或列名 sp_rename [ @objname = ] ‘ object_name ‘ , [ @newname = ] ‘ new_name ‘ [ , [ @objtype = ] ‘ object_type ‘ ] / A。
重命名表下例将表 customers 重命名为 custs。EXEC sp_rename ‘ customers ‘ , ‘ custs ‘ B。
重命名列下例将表 customers 中的列 contact title 重命名为 title。 EXEC sp_rename ‘ customers。
[contact title] ‘ , ‘ title ‘ , ‘ COLUMN ‘。
怎样用SQL语句修改表名与表中的列名
ALTER TABLE table { [ ALTER COLUMN column_name { new_data_type [ ( precision [ , scale ] ) ] [ COLLATE < collation_name > ] [ NULL | NOT NULL ] | {ADD | DROP } ROWGUIDCOL } ] | ADD { [ < column_definition > ] | column_name AS computed_column_expression } [ ,。
n ] | [ WITH CHECK | WITH NOCHECK ] ADD { < table_constraint > } [ ,。n ] | DROP { [ CONSTRAINT ] constraint_name | COLUMN column } [ ,。
n ] | { CHECK | NOCHECK } CONSTRAINT { ALL | constraint_name [ ,。n ] } | { ENABLE | DISABLE } TRIGGER { ALL | trigger_name [ ,。
n ] } }< column_definition > ::= { column_name data_type } [ [ DEFAULT constant_expression ] [ WITH VALUES ] | [ IDENTITY [ ( seed , increment ) [ NOT FOR REPLICATION ] ] ] ] [ ROWGUIDCOL ] [ COLLATE < collation_name > ] [ < column_constraint > ] [ 。n ]< column_constraint > ::= [ CONSTRAINT constraint_name ] { [ NULL | NOT NULL ] | [ { PRIMARY KEY | UNIQUE } [ CLUSTERED | NONCLUSTERED ] [ WITH FILLFACTOR = fillfactor ] [ ON { filegroup | DEFAULT } ] ] | [ [ FOREIGN KEY ] REFERENCES ref_table [ ( ref_column ) ] [ ON DELETE { CASCADE | NO ACTION } ] [ ON UPDATE { CASCADE | NO ACTION } ] [ NOT FOR REPLICATION ] ] | CHECK [ NOT FOR REPLICATION ] ( logical_expression ) }< table_constraint > ::= [ CONSTRAINT constraint_name ] { [ { PRIMARY KEY | UNIQUE } [ CLUSTERED | NONCLUSTERED ] { ( column [ ,。
n ] ) } [ WITH FILLFACTOR = fillfactor ] [ ON { filegroup | DEFAULT } ] ] | FOREIGN KEY [ ( column [ ,。n ] ) ] REFERENCES ref_table [ ( ref_column [ ,。
n ] ) ] [ ON DELETE { CASCADE | NO ACTION } ] [ ON UPDATE { CASCADE | NO ACTION } ] [ NOT FOR REPLICATION ] | DEFAULT constant_expression [ FOR column ] [ WITH VALUES ] | CHECK [ NOT FOR REPLICATION ] ( search_conditions ) } 示例 A. 更改表以添加新列 下例添加一个允许空值的列,而且没有通过 DEFAULT 定义提供值。各行的新列中的值将为 NULL。
CREATE TABLE doc_exa ( column_a INT) GO ALTER TABLE doc_exa ADD column_b VARCHAR(20) NULL GO EXEC sp_help doc_exa GO DROP TABLE doc_exa GO B. 更改表以除去列 下例修改表以删除一列。CREATE TABLE doc_exb ( column_a INT, column_b VARCHAR(20) NULL) GO ALTER TABLE doc_exb DROP COLUMN column_b GO EXEC sp_help doc_exb GO DROP TABLE doc_exb GO C. 更改表以添加具有约束的列 下例向表中添加具有 UNIQUE 约束的新列。
CREATE TABLE doc_exc ( column_a INT) GO ALTER TABLE doc_exc ADD column_b VARCHAR(20) NULL CONSTRAINT exb_unique UNIQUE GO EXEC sp_help doc_exc GO DROP TABLE doc_exc GO D. 更改表以添加未验证的约束 下例向表中的现有列上添加约束。该列中存在一个违反约束的值;因此,利用 WITH NOCHECK 来防止对现有行验证约束,从而允许该约束的添加。
CREATE TABLE doc_exd ( column_a INT) GO INSERT INTO doc_exd VALUES (-1) GO ALTER TABLE doc_exd WITH NOCHECK ADD CONSTRAINT exd_check CHECK (column_a > 1) GO EXEC sp_help doc_exd GO DROP TABLE doc_exd GO E. 更改表以添加多个带有约束的列 下例向表中添加多个带有约束的新列。第一个新列具有 IDENTITY 属性;表中每一行的标识列都将具有递增的新值。
CREATE TABLE doc_exe ( column_a INT CONSTRAINT column_a_un UNIQUE) GO ALTER TABLE doc_exe ADD /* Add a PRIMARY KEY identity column. */ column_b INT IDENTITY CONSTRAINT column_b_pk PRIMARY KEY, /* Add a column referencing another column in the same table. */ column_c INT NULL CONSTRAINT column_c_fk REFERENCES doc_exe(column_a),/* Add a column with a constraint to enforce that */ /* nonnull data is in a valid phone number format. */ column_d VARCHAR(16) NULL CONSTRAINT column_d_chk CHECK (column_d IS NULL OR column_d LIKE “[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]” OR column_d LIKE”([0-9][0-9][0-9]) [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]”),/* Add a nonnull column with a default. */ column_e DECIMAL(3,3) CONSTRAINT column_e_default DEFAULT .081 GO EXEC sp_help doc_exe GO DROP TABLE doc_exe GO F. 添加具有默认值的可为空的列 下例添加可为空的、具有 DEFAULT 定义的列,并使用 WITH VALUES 为表中的各现有行提供值。如果没有使用 WITH VALUES,那么每一行的新列中都将具有 NULL 值。
ALTER TABLE MyTable ADD AddDate smalldatetime NULL CONSTRAINT AddDateDflt DEFAULT getdate() WITH VALUES G. 禁用并重新启用一个约束 下例禁用用于限制可接受的薪水数据的约束。WITH NOCHECK CONSTRAINT 与 ALTER TABLE 一起使用,以禁用该约束并使正常情况。
求标准sql修改数据表列名的语句
那个 修改列名 各个数据库都支持的写法 到底有没有, 我也不大确定. 下面是 3种数据库 各自的写法. 你可以切换着测试测试, 看看哪种写法,是 各个数据库都支持的写法. Oracle SQL> ALTER TABLE test_tab 2 RENAME COLUMN val TO val2; Table altered. SQL Server 调用 EXECUTE sp_rename 来进行 对数据库表中,列名的变更。
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 注意: 更改对象名的任一部分都可能会破坏脚本和存储过程。
MySQL mysql> ALTER TABLE test_tab -> CHANGE COLUMN val val2 VARCHAR(10); // Query OK, 0 rows affected (0.13 sec) Records: 0 Duplicates: 0 Warnings: 0。
修改表中某一字段名称的SQL语句怎么写
SQL Server中修改字段名的语句是:sp_rename ‘表名.旧字段名’,’新字段名’语句如下:sp_rename ‘test.name’,’sname’注意: 更改对象名的任一部分都可能会破坏脚本和存储过程。
Oracle中alter table tablename set columnname = newcolumnname假如用的是数据窗口的话,这样也行:is_title = your_columnname + “_t”dw_1.modify(is_title + “='”+ mm+”‘”)其中,mm是你需要的字段名。
修改表中某一字段名称的SQL语句怎么写
SQL Server中修改字段名的语句是:
sp_rename ‘表名.旧字段名’,’新字段名’
语句如下:
sp_rename ‘test.name’,’sname’
注意: 更改对象名的任一部分都可能会破坏脚本和存储过程。
Oracle中
alter table tablename set columnname = newcolumnname
假如用的是数据窗口的话,这样也行:
is_title = your_columnname + “_t”
dw_1.modify(is_title + “='”+ mm+”‘”)
其中,mm是你需要的字段名
SQL 修改表中的列名(急~~~)
1、在oracle数据库中: ALTER TABLE 表名 RENAME COLUMN 列名 TO 新列名。
2、在sqlserver数据库中:exec sp_rename ‘[表名].[列名]‘,’[表名].[新列名]’。 3、在mysql数据库中:ALTER TABLE 表名 CHANGE 列名 新列名 列类型。
扩展资料: SQL中对表的其它操作: 1、插入列: ALTER TABLE [表名.]TABLE_NAME ADD COLUMN_NAME DATATYPE。 2、为表中某列添加约束:大于等于100 alter table 表名 add check(列名>=100)。
3、更改表某列的数据类型为nchar(30): alter table 表名 alter column 列名 nchar(30)。 4、删除表中某列的相关约束: alter table 表名 drop constraint 约束名。
5、删除表中的某列: alter table 表名 drop column 列名。 参考资料:百度百科-SQL语句大全。
如何用SQL语句修改表结构
增加字段:alter table 表名 add 列名 属性
删除字段:alter table 表名 drop column 列名
修改字段:alter table 表名 alter column 列名 set data type 属性
//修改字段只能对长度进行修改,不能改列名和数据类型
添加约束:
非空:alter table 表名 alter column 列名 set not null
主键:alter table 表名 add primary key(列名1,列名2。。。。)
外键:alter table 表名 add foreign key(列名)references 表名2(列名2)
唯一:alter table 表名 add unique(列名1,列名2。。。。)
检查:alter table 表名 add check(检查条件)
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/145711.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...