Ⅰ 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