MySQL入門 之多表 2020 09 16

2021-10-09 12:25:11 字數 1323 閱讀 3535

例項:分類+ 商品

需要通過外來鍵約束,描述主外來鍵關係

alter table 從表 add constraint [外來鍵名稱] foreign key (外來鍵) references 主表 (主鍵)

-- 新增外來鍵約束時,如果填寫「外來鍵名稱」,是為了刪除外來鍵約束

-- 一對多關係

-- 主表(分類表)

create table tb_category(

cid int primary key ,

cname varchar(50)

);-- 從表(商品表)-- 注意 外來鍵型別 必須 與主表主鍵型別一致

create table tb_product(

pid int primary key,

pname varchar(50),

category_id int

);-- 主外來鍵關係

-- 多對多

-- 1 主表(訂單表)

create table tb_order(

oid int primary key,

price double

);-- 2 主表(商品表)[已有]

-- 3 中間表

create table tb_order_product(

order_id int,

product_id int

);-- 4 中間表 和 訂單表 主外來鍵關係

alter table tb_order_product add constraint foreign key (order_id) references tb_order (oid);

-- 5 中間表 和 商品表 主外來鍵關係

alter table tb_order_product add constraint foreign key (product_id) references tb_product (pid);

MySql之多表查詢

select e.empname,d.deptname from emp e,dept d where e.deptno d.deptno select e.empname d.deptname from emp e inner join dept d on e.deptno d.deptno se...

MySQL之多表查詢

1合併結果集,使用關鍵字union和union all,其區別是union會去掉合併中重複的部分而union all不會去掉重複的列。使用這個關鍵字的要求結果姐的列和型別必須相同。定義兩個表如下所示 a和b,兩個表分別有乙個整型的id和乙個字串的name。1.1使用union all 1.2使用un...

MySQL之多表查詢

準備資料 user info表 create table user info id int 2 primary key,user name varchar 12 unique,password varchar 15 not null,real name varchar 8 not null,age ...