SQL語句的外鍵約束是什么
create table score。
SQL的主鍵和外鍵的作用:外鍵取值規則:空值或參照的主鍵值。
(1)插入非空值時,如果主鍵表中沒有這個值,則不能插入。
(2)更新時,不能改為主鍵表中沒有的值。
(3)刪除主鍵表記錄時,你可以在建外鍵時選定外鍵記錄一起級聯刪除還是拒絕刪除。
(4)更新主鍵記錄時,同樣有級聯更新和拒絕執行的選擇。
簡而言之,SQL的主鍵和外鍵就是起約束作用。
alter table 外鍵表名 add constraint 約束名稱 foreign key (外鍵字段) references 主鍵表名(約束列名)。
如果表A中的Ids是主鍵,要約束表B中得Aid列,那么語句應該是:alter table B add constraint A_B_Ids foreign key(Aid) references A(Ids)。
以下哪些是sql語句完整性約束
先要知道完整性約束的定義:
更新數據庫時,表中不能出現不符合完整性要求的記錄,以保證為用戶提供正確、有效的數據。實現該目的最直接的方法,是在編寫數據庫應用程序時,對每個更新操作都進行完整性檢查。但這種檢查往往是復雜、重復、低效的。
SQL把各種完整性約束作為數據庫模式定義的一部分,由數據庫管理系統維護,這樣即可有效防止對數據庫的意外破壞,提高了完整性檢測的效率,又減輕了編程人員的負擔。
SQL Server支持三種完整性約束:
1、實體完整性
2、參照完整性(或引用完整性)
3、用戶自定義完整性
B。主鍵 、C 外鍵 、D聯合主鍵
這三個都屬于實體完整性約束
SQL約束語句怎么寫有四種求代碼?????
1 PRIMARY KEY約束
例如,下面的SQL語句創建一個名為student的表,其中指定student_number為主鍵:
USE test
GO
CREATE TABLE student
(sutdent_number int PRIMARY KEY,
student_name char(30))
GO
2 FOREIGN KEY約束
例如,下面就是一個使用FOREIGN KEY約束的例子:
CREATE TABLE product
(product_number int,
student_number int
FOREIGN KEY REFERENCES student(student_number)
ON DELETE NO ACTION)
GO
3 UNIQUE約束
例如,下面的SQL語句創建了一個test2表,其中指定了c1字段不能包含重復的值:
USE test
GO
CREATE TABLE test2
(c1 int UNIQUE,
c2 int)
GO
INSERT test2 VALUES(1,100)
GO
如果再插入一行:
INSERT test2 VALUES(1,200)
4 CHECK約束
例如,下面的SQL語句創建一個成績(score)表,其中使用CHECK約束來限定成績只能在0~100分之間:
CREATE TABLE score
(sutdent_number int,
score int NOT NULL CHECK(score>=0 AND score
SQL語句的外鍵約束
兩個表格的結構將會是如下:
CUSTOMER 表格
欄位名 性質
SID 主鍵
Last_Name
First_Name
ORDERS 表格
欄位名 性質
Order_ID 主鍵
Order_Date
Customer_SID 外來鍵
Amount
在以上的例子中,ORDERS 表格中的 customer_SID 欄位是一個指向 CUSTOMERS 表格中 SID 欄位的外來鍵。
以下列出幾個在建置 ORDERS 表格時指定外來鍵的方式:
MySQL:
CREATE TABLE ORDERS
(Order_ID integer,
Order_Date date,
Customer_SID integer,
Amount double,
Primary Key (Order_ID),
Foreign Key (Customer_SID) references CUSTOMER(SID)); (注:這句就是外鍵的約束)
Oracle:
CREATE TABLE ORDERS
(Order_ID integer primary key,
Order_Date date,
Customer_SID integer references CUSTOMER(SID),
Amount double);
SQL Server:
CREATE TABLE ORDERS
(Order_ID integer primary key,
Order_Date datetime,
Customer_SID integer references CUSTOMER(SID),
Amount double);
以下的例子則是藉著改變表格架構來指定外來鍵。這里假設 ORDERS 表格已經被建置,而外來鍵尚未被指定:
MySQL:
ALTER TABLE ORDERS
ADD FOREIGN KEY (customer_sid) REFERENCES CUSTOMER(sid);
Oracle:
ALTER TABLE ORDERS
ADD (CONSTRAINT fk_orders1) FOREIGN KEY (customer_sid) REFERENCES CUSTOMER(sid);
SQL Server:
ALTER TABLE ORDERS
ADD FOREIGN KEY (customer_sid) REFERENCES CUSTOMER(sid);