1. 在sql Server 2000中,如何對表修改,增加其主碼
你說的是修改表結構? 增加主鍵?
當數據表裡面存在數據的時候 是不能增加主鍵的
你可以把數據備份到一張表裡面然後把原表數據刪除 增加主鍵後把備份表的數據在重新插入
--首先給表備份
create table tablename_backup as select * from tablename;
--然後把表裡的所有記錄刪除
delete from tablename;
--添加主鍵
alter table tablename add constraint pk_tablename primary key(id);
--將備份數據導回原表
INSERT INTO tablename SELECT * FROM tablename_backup;
建議操作前對原資料庫備份 不然你如果因為操作失誤導致數據無法恢復就悲劇了
2. SQL語言建立表 設置主碼問題
差別不大.
區別在於
第一種情況下,資料庫用系統名定義一個約束,來作為主鍵約束的名字.
第二種情況下,這個約束的名字,由用戶在 SQL 語句中指定了,也就是 C1.
對於某些情況下,需要禁用主鍵約束,然後批量導入數據,然後修改掉重復的約束,最後啟用主鍵約束的時候, 知道約束名字,是比較方便的。
一般來說,自己起個約束的名字,也很麻煩。
表多了,這個約束名字也是要唯一的。
3. sql,如何用sql語句對一個已經編輯好的表在設置主碼和外碼
--修改主鍵
ALTER
TABLE
tablename
--修改表
ADD
CONSTRAINT
tb_PRIMARY
PRIMARY
KEY
CLUSTERED
(列名)
/*將你要設置為主鍵約束的列*/
--修改約束ALTER
TABLE
銷售表
--修改表
ADD
CONSTRAINT
ck_sl
--創建檢查約束
CHECK
(數量
>=
1
and
數量
<=
10000)
--添加約束條件
--修改外鍵alter
table
表名
add
constraint
外鍵名稱
foreign
key
(欄位)
references
關系表名
(關系表內欄位)
4. SQL資料庫中一般不允許更改主碼數據。如果一定要更改主碼數據時,怎麼實現
首先我不是很清楚你說的「主碼數據」是什麼?我想應該是「主鍵」吧。
如果是的話,要想改也很簡單,只要在每次修改的時候檢查一下改過之後的數據在資料庫存中是否存在。SQL: SELECT * FROM 表名 WHERE 主鍵 = 更改過後的值。
5. sql怎麼設置主碼
alter table 表名 add constraint pk_t primary key(列名)。把表中某個欄位設置為主鍵
6. sql server 2005如何在已經建立的表中把已有的某個屬性設置為主碼
最簡單的方法是直接打開資料庫右擊所在表選擇修改,點選你想設置的屬性,右擊會出現設置為主鍵,點選就可以了
7. 在sql中我已經定義了某個屬性為主碼~但是想取消定義它為主碼~主碼辦
方法:
1. 右鍵表--修改或設計--右鍵主鍵列--刪除主鍵
2. 在sql server中展開:資料庫--表--具體表--鍵--在此目錄下找到「主鍵名」,右鍵--刪除
2. 用sql 語句:alter table a1
drop constraint 主鍵名(主鍵名可以按方法2查找)
8. SQL語言創建表時候怎麼定義主碼和外碼
SQL語言創建表時候用Primary Key(屬性名)定義主碼,用Foreign Key(屬性名)定義外碼。
主碼是一種唯一關鍵字,表定義的一部分。一個表的主碼可以由多個關鍵字共同組成,並且主碼的列不能包含空值。主碼是可選的,並且可在 CREATE TABLE語句中用Primary Key(屬性名)定義。
將一個表的值放入第二個表來表示關聯,所使用的值是第一個表的主鍵值(在必要時可包括復合主鍵值)。此時,第二個表中保存這些值的屬性稱為外鍵,用Foreign Key(屬性名)定義。
如:
CREATE TABLE Customer
(SID integer,
CID integer,
Last_Name varchar(30),
First_Name varchar(30),
PRIMARY KEY (SID),ForeignKey(CID名));
(8)sql中更改主碼名擴展閱讀:
主碼不應包含動態變化的數據,如時間戳、創建時間列、修改時間列等。實際上,因為主碼除了唯一地標識一行之外,再沒有其他的用途了,所以也就沒有理由去對它更新。如果主碼需要更新,則說明主碼應對用戶無意義的原則被違反了。
主碼應當由計算機自動生成。如果由人來對主碼的創建進行干預,就會使它帶有除了唯一標識一行以外的意義。一旦越過這個界限,就可能產生人為修改主碼的動機,這樣,這種系統用來鏈接記錄行、管理記錄行的關鍵手段就會落入不了解資料庫設計的人的手中。
9. 如何把sql server資料庫中的一個主碼改為兩個主碼
你如果用命令去改的話,就是大概
alter <tablename>
(primary key(A,B))
A,B是你那兩個組合成主碼的column~~~還有不能說主碼有2個啊~~每個表只有一個主碼,你只能把2個欄位(column)組合成一個主碼~~~