mysql外键设置sql语句,SQL Server 2008之SQL语句外键
xin3721網(wǎng)絡(luò)學(xué)院為廣大學(xué)員,準(zhǔn)備了豐富了教學(xué)視頻。為了更好的讓大學(xué)配合視頻進(jìn)行學(xué)習(xí),拓展學(xué)員的知
識面,我站特整理了大量的,技術(shù)文章,供學(xué)員參考。因此本教案需配合視頻教程學(xué)習(xí),
視頻教程地址為:vb.net教程
外來鍵是一個(或數(shù)個)指向另外一個表格主鍵的欄位。外來鍵的目的是確定資料的參考完整性(referential integrity)。換言之,只有被準(zhǔn)許的資料值才會被存入資料庫內(nèi)。
舉例來說,假設(shè)我們有兩個表格:一個 CUSTOMER 表格,里面記錄了所有顧客的資料;另一個 ORDERS 表格,里面記錄了所有顧客訂購的資料。在這里的一個限制,就是所有的訂購資料中的顧客,都一定是要跟在 CUSTOMER 表格中存在。在這里,我們就會在 ORDERS 表格中設(shè)定一個外來鍵,而這個外來鍵是指向 CUSTOMER 表格中的主鍵。這樣一來,我們就可以確定所有在 ORDERS 表格中的顧客都存在 CUSTOMER 表格中。換句話說,ORDERS表格之中,不能有任何顧客是不存在于 CUSTOMER 表格中的資料。
這兩個表格的結(jié)構(gòu)將會是如下:
CUSTOMER 表格欄位名
性質(zhì)
SID
主鍵
Last_Name
First_Name
ORDERS 表格
欄位名
性質(zhì)
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);
以下的例子則是藉著改變表格架構(gòu)來指定外來鍵。這里假設(shè) ORDERS 表格已經(jīng)被建置,而外來鍵尚未被指定:
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);
總結(jié)
以上是生活随笔為你收集整理的mysql外键设置sql语句,SQL Server 2008之SQL语句外键的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言统计数字字母个数,请问这个用c怎么
- 下一篇: kdj指标主要看哪个值_KDJ绝密买卖法