① sql怎麼設置主鍵
1.主鍵語法
①創建時:create table sc (
studentno int,
courseid int,
score int,
primary key (studentno) );
②修改時:ALTER TABLE table_name ADD CONSTRAINT pk_name PRIMARY KEY(列名);
前提是原先沒有設置主鍵。
2.外鍵語法
①創建時:create table sc (
studentno int,
courseid int,
score int,
foreign key (courseid) );
②修改時:
ALTER TABLE news_info[子表名] ADD CONSTRAINT FK_news_info_news_type[約束名] FOREIGN KEY (info_id)[子表列] REFERENCES news_type[主表名] (id)[主表列] ;
3.使用組合主鍵
如果一列不能唯一區分一個表裡的記錄時,可以考慮多個列組合起來達到區分表記錄的唯一性,形式
①創建時:create table sc (
studentno int,
courseid int,
score int,
primary key (studentno,courseid) );
②修改時:alter table tb_name add primary key (欄位1,欄位2,欄位3);
前提是原來表中沒有設置主鍵,若原先已有主鍵則會報錯。
② SQL中主鍵的使用
主鍵是數據完整性的保障之一,具體說是實體完整行,主鍵不允許為空也不能知重復。
假如你做了一個員工表格
有一列是身份證號
如果這個人沒有身份證號,那麼你就是雇黑工,如果有兩個人身份證號相同,那麼一個人是偽造的身份。哈道哈
所以正常情況下這兩種情況都不允許出現。這是你只要給身份號這一列設置了主鍵,那麼你插入或者修改數據時,資料庫管理系統就會自動要求他們不版能為空也不能有兩條記錄的號碼相同。
這就是主鍵的作用
你那個id
是個標識列,dbms會自動為他賦值,而且保證其唯權一性,所以你就不用給他賦值了
③ sql主鍵和外鍵的區別
主鍵就是當前表的id,表示唯一欄位,方便定位索引查詢……
外鍵就是其他表的主鍵ID在當前表中是外鍵,用來做關聯關系。
create table A(
aid primary key identity(1) not null, 主鍵
aname varchar(50),
bid 外鍵(忘了這單詞怎麼寫了)
)
create table B(
bid primary key identity(1) not null, 主鍵
bsubject varchar(100)
)
數據:A表 1,張三 ,1 B表: 1,數學
2,李四,1 2,英語
3,張三,2
4,王五,2
這樣子B表跟A表就有關聯關系了。我們查詢或者索引的時候可以按ID來找人對吧,
也可以, 1,張三,數字
2,李四,數字
3,張三,英語
4,王五,英語