當前位置:首頁 » 編程語言 » sql改欄位名
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql改欄位名

發布時間: 2023-05-14 07:22:37

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