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'*_*', N'Tmp_val2', 'COLUMN' 2> GO 注意: 更改對象名的任一部分都可能會破壞腳本和存儲過程。 1> EXECUTE sp_rename N'*_*_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 '*','sname'注意: 更改對象名的任一部分都可能會破壞腳本和存儲過程。
Oracle中alter table tablename set columnname = newcolumnname假如用的是數據窗口的話,這樣也行:is_title = your_columnname + "_t"dw_*(is_title + "='"+ mm+"'")其中,mm是你需要的字段名。
修改表中某一字段名稱的SQL語句怎么寫
SQL Server中修改字段名的語句是:
sp_rename '表名.舊字段名','新字段名'
語句如下:
sp_rename '*','sname'
注意: 更改對象名的任一部分都可能會破壞腳本和存儲過程。
Oracle中
alter table tablename set columnname = newcolumnname
假如用的是數據窗口的話,這樣也行:
is_title = your_columnname + "_t"
dw_*(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(檢查條件)
轉載請注明出處華閱文章網 » 修改表名的sql語句