MySQL外來鍵設定的方法例項

2022-09-21 23:42:13 字數 1331 閱讀 2279

1、在mysql中,為了把2個表關聯起來,會用到2個重要的功能:外來鍵(foreign key)和連線(join)。外來鍵需要在建立表的階段定義,連線可以通過www.cppcns.com相同意義的字段把2個表連線起來,用在查詢階段。

2、假設有2個表,分別是表a和表b,它們通過乙個公共欄位id 發生關聯關係,我們把這個關聯關係叫做r。如果id在表a中是主鍵,那麼表a就是這個關係r中的主表,相應的,表b就是這個關係中的從表,表b中的id,就是表b用來引用表a中資料的,叫外來鍵。所以,外來鍵就是從表中用來引用主表中資料的那個公共字段。

建立主表

create table demo.importhead www.cppcns.com(

listnumber int primary key,

supplierid int,

stocknumber int,

importtype int,

importquantity decimal(10 , 3 ),

importvalue decimal(10 , 2 ),

recorder int,

recordingdate datetime);

建立從表

create table demo.importdetails(

listnumber int,

itemnumber int,

quantity decimal(10,3),

importprice decimal(10,2),

importvalue decimal(10,2), -- 定義外來鍵約束,指出外來鍵字段和參照的主表字段

constraint fk_i

foreign key (listnumber) references importhead (listnumber)

);執行這個sql語句,我們就在建立表的同時定義了乙個名字叫fk_importdetails_importhead的外來鍵約束,同時,我們宣告,這個外來鍵約束的字段listnumber引用的是表importhead裡面的字段listnumber。

建立完成後,我們可以通過sql語句來檢視,這裡我們要用到mysql自帶的、用於儲存系統資訊的資料庫:

information_schema。我們可以檢視外來鍵約束的相關資訊:

外來鍵約束所在的表是importdetails,外來鍵字段是listnumber

參照的主表是importhead,參照主表字段是listnumber,

這樣通過定義外來鍵約束,我們已經建立起了2個表之間的關聯關係。

3、連線

在mysql中有2種型別的連線,分別是內連線(inner join)和外連線(outer join)

MySQL主鍵外來鍵設定方法

資料庫 mysql 建立外來鍵的前提 本表的列必須與外來鍵型別相同 外來鍵 必須是外表主鍵 外來鍵作用 使兩張表形成關聯,外來鍵只能引用外表中的列的值!指定主鍵關鍵字 foreign key 列名 引用外來鍵關鍵字 references 外來鍵表名 外來鍵列名 事件觸發限制 on delete 和o...

mysql建立外來鍵案例 MySQL外來鍵例項

外來鍵例項 性別表create table gender gid int auto increment primary key not null,gender char 10 insert into gender gender values male female unknown 乙個表只能有乙個主...

Mysql外來鍵設定

為已經新增好的資料表新增外來鍵 語法 alter table 表名 add constraint fk id foreign key 你的外來鍵欄位名 references 外表表名 對應的表的主鍵欄位名 例 alter table tb active add constraint fk id fo...