您好,登錄后才能下訂單哦!
本文主要給大家簡單講講創建MySQL外鍵步驟,相關專業術語大家可以上網查查或者找一些相關書籍補充一下,這里就不涉獵了,我們就直奔主題吧,希望創建MySQL外鍵步驟這篇文章可以給大家帶來一些實際幫助。
1.創建表
(1)外鍵:FOREIGN KEY(ordersid) references orders(id)
在建表過程中
create table team(
id int primary key auto_increment,
name varchar(40)
);create table star(
id int ,
name varchar(40),
team_id int,
foreign key (team_id) references team(id)
);insert into team values(null,'Toronto Raptors'),(null,'Milwaukee Bucks'),(null,'Boston Celtics'),(null,'Golden State Warriors'),(null,'Oklahoma City Thunder'),(null,'Dallas Mavericks');
insert into star values(2,'科懷-倫納德',1),(7,'洛瑞',1),(34,'阿德托昆博',2),(22,'米德爾頓',2),(11,'歐文',3),(20,'海沃德',3),(35,'杜蘭特',4),(30,'庫里',4),(0,'威斯布魯克',5),(13,'保羅-喬治',5),(77,'盧克-東契奇',6),(41,'諾維斯基',6);
(2)在表已經存在,通過修改表的語句增加外鍵
ALTER TABLE 表名 ADD constraint FK_ID#外鍵名 foreign key(外鍵字段名) references 外表表名(主字段名)
(3)刪除外鍵
alter table 表名 drop foreign key 外鍵名;
(4)操作關聯表
多對多關系:新建一張第三方關系表,保存兩張表的主鍵作為外鍵,存儲兩張表主鍵主鍵之間的對應關系,來保存兩張表之間的關系
一對一:在從表建立外鍵
2.連接查詢
(1)多表設計多表查詢
select * from team,star; #兩張表相乘結果
select * from team,star where team.id = star.team_id; #過濾
~內連接:自然連接
SELECT 查詢字段 FROM 表1 [INNER] JOIN 表2 ON 表1.關系字段 = 表2.關系字段
select * from team inner join star on team.id = star.team_id;
~左外連接查詢:在內鏈接的基礎上增加上左邊表有而右邊表沒有的記錄
select * from team left join star on team.id = star.team_id;
~右外連接查詢,在內鏈接的基礎上增加上右邊表有而左邊表沒有的記錄
select * from team right join star on team.id = star.team_id;
~全連接查詢:
select * from team full join star on team.id = star.team_id;#mysql不支持
但是支持union
select from team left join star on team.id = star.team_id
union
select from team right join star on team.id = star.team_id;
~查詢3號球隊的名稱和其中的球員的姓名
select * from team inner join star on team.id = star.team_id where team_id = 3;
select team.name 隊名,star.name 球員 from team inner join star on team.id = star.team_id where team_id = 3;
3.子查詢
(1)帶IN關鍵字的子查詢,內層查詢語句僅僅返回一個數據列,這個數據列中的值將供外層查詢語句語句進行比較操作,即嵌套查詢
~查詢號碼大于20的球員所屬的部門
select name from team where id in (select team_id from star where id>20);
~查詢不大于20的球員所屬的部門
select name from team where id not in (select team_id from star where id = 20);
(2)帶EXISTS關鍵字的子查詢:子查詢不返回任何數據,只返回Ture or False ,為Ture時才執行外查詢
select * from team where exists (select team_id from star where id > 20); #兩張表的字段名要一樣
(3)帶any關鍵字的子查詢:ANY關鍵字表示滿足其中任意一個條件即可
select * from team where id > any (select team_id from star where id = 20);
(4) 帶ALL關鍵字的子查詢:需要同時滿足內查詢所有條件
select * from team where id > all (select team_id from star where id > 20);
select * from team where id > all (select team_id from star where id < 10);
表內數據不能為空
(5)帶比較運算符的子查詢 < > <= >= = <>
select * from team where id > (select team_id from star where id =0);
創建MySQL外鍵步驟就先給大家講到這里,對于其它相關問題大家想要了解的可以持續關注我們的行業資訊。我們的板塊內容每天都會捕捉一些行業新聞及專業知識分享給大家的。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。