Ⅰ sql中怎麼會有兩個以上的主鍵
對,就是聯合主鍵。
你如果不確定,你把這張表右鍵-轉儲成sql文件打開看一下就全知道了,最後就是:
PRIMARY KEY (`欄位1`,`欄位2`)這樣的。兩個欄位共同形成同一個主鍵。
Ⅱ 組合主碼外碼用sql語句怎麼寫
SQL語言創建表時候用Primary Key(屬性名)定義主碼,用Foreign Key(屬性名)定義外碼。
主碼是一種唯一關鍵字,表定義的一部分。一個表的主碼可以由多個關鍵字共同組成,並且主碼的列不能包含空值。主碼是可選的,並且可在 CREATE TABLE語句中用Primary Key(屬性名)定義。
將一個表的值放入第二個表來表示關聯,所使用的值是第一個表的主鍵值(在必要時可包括復合主鍵值)。此時,第二個表中保存這些值的屬性稱為外鍵,用Foreign Key(屬性名)定義。
結構化查詢語言(Structured Query Language)簡稱SQL,結構化查詢語言是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統。
sql語句就是對資料庫進行操作的一種語言。
總結如下:
主碼不應包含動態變化的數據,如時間戳、創建時間列、修改時間列等。實際上,因為主碼除了唯一地標識一行之外,再沒有其他的用途了,所以也就沒有理由去對它更新。如果主碼需要更新,則說明主碼應對用戶無意義的原則被違反了。
Ⅲ 關於SQL製表當中如何把兩個一起作為主碼,另一個表引用這個表的主碼當中的一個作為外碼
你現在是2NF,搞成3NF就行了。
方案一:
Company表中,僅company_name作PK -- 很奇怪,為何你的PK要加上city?
方案二:
Company表中,增加ID欄位;works表引用該ID欄位
Ⅳ sql server2005 在建立表時怎麼直接寫兩個主鍵
--使用SQL語句創建主鍵約束可以在創建表(Create
Table)或修改表(Alter
Table)時進行
創建。
--例創建表時
create
table
tablename
(
id
int
(CONSTRAINT
pk_id)
PRIMARY
KEY
)
--例修改表時
ALTER
TABLE
tablename
--修改表
ADD
CONSTRAINT
tb_PRIMARY
PRIMARY
KEY
CLUSTERED
(列名)
/*將你要設置為主鍵約束的列*/
--用命令創建默認值對象,並與表中欄位綁定.
--使用SQL語句創建主默認值對象可以在創建表(Create
Table)或修改表(Alter
Table)時進行
創建。
--例創建表時
create
table
tablename
(
id
int
DEFAULT
0
)
--例修改表時
ALTER
TABLE
tablename
--修改表
ADD
CONSTRAINT
tb_DEFAULT
DEFAULT
'10011'
FOR
列名
/*將你要設置為默認值對象的列*/
--用命令創建CHECK約束定義某欄位.
USE
銷售管理系統
--引入資料庫
ALTER
TABLE
銷售表
--修改表
ADD
CONSTRAINT
ck_sl
--創建檢查約束
CHECK
(數量
>=
1
and
數量
<=
10000)
--添加約束條件
--用命令創建規則對象,並與表中欄位綁定.
--創建規則使用CREATE
RULE語句創建
CREATE
RULE
RULE_AGE
--創建規則
AS
@AGE
!>
40
--規則條件不能大於40
CREATE
RULE
list_rule
--創建規則
AS
@list
IN
('1001',
'1002',
'1003')
--規則條件只能輸入1001、1002、1003
CREATE
RULE
pattern_rule
--創建規則
AS
@value
LIKE
'_
_-%[0-9]'
--規則條件在任意兩個字元的後面跟一個連字元和任意多個字元,並以
0
到
9
之間的整數結尾
--創建好一個規則後,必須使用綁定才能夠使用規則,一般情況下,規則可以綁定在用戶自定義數據類型或是數據列中。下面可以使用SQL
Server中的系統存儲過程sp_bindrule將規則綁定在數據表中。
EXEC
sp_bindrule
'RULE_AGE','操作員信息表.操作員年齡'
--用命令創建用戶自定義數據類型,並用該數據類型定義表中欄位.
--在「student」資料庫中,創建用來存儲郵政編碼信息的「postalcode」用戶定義數據類型。
--SQL語句如下:
USE
student
EXEC
sp_addtype
postalcode,'char(8)
','not
null'
Ⅳ 怎麼用sql語句怎麼把2個屬性寫為主碼,且要有數據類型
createtabletb
(
讀者編號char(10),
圖書編號char(5),
constraintbook_pkprimarykey(讀者編號,圖書編號)
);
--constraint關鍵字
--book_pk創建主鍵的名稱
--primarykey(讀者編號,圖書編號)同時設為tb的主鍵,所謂主鍵就是不能有重復,不能為null
Ⅵ 如何把sql server資料庫中的一個主碼改為兩個主碼
你如果用命令去改的話,就是大概
alter <tablename>
(primary key(A,B))
A,B是你那兩個組合成主碼的column~~~還有不能說主碼有2個啊~~每個表只有一個主碼,你只能把2個欄位(column)組合成一個主碼~~~
Ⅶ 在SQL資料庫中怎麼有SQL語句為一個表創建兩個主鍵
在定義表納磨的時候,欄位只定義好數據類型和長度就行,在最後加上約束洞余斗毀弊就行了,類似:constraint
pk_1
primary
key(*,*)