MySQL建立關聯表的方法

2021-07-24 23:03:59 字數 1730 閱讀 8107

mysql建立關聯表是非常基礎的知識,下面就為您舉例說明mysql建立關聯表的方法,如果您對mysql建立關聯表方面感興趣的話,不妨一看。

mysql建立關聯表可以理解為是兩個表之間有個外來鍵關係,但這兩個表必須滿足三個條件

1.兩個表必須是innodb資料引擎

2.使用在外鍵關係的域必須為索引型(index)

3.使用在外鍵關係的域必須與資料型別相似

下面分別建兩個表來說明一下:

create table if not exists `books` (   

`book_id` smallint(6) not null auto_increment comment '書籍編號',   

`book_name` char(20) not null comment '書名',   

`book_pic` varchar(200) not null comment '封面',   

`book_author` char(20) not null comment '作者',   

`book_pub` char(40) not null comment '出版社',   

`book_sort` char(6) not null comment '分類',   

`book_owner` char(6) default null comment '所有者',   

`book_borrower` char(7) default null comment '借閱者',   

`book_borrower_time` date default null comment '借閱時間',   

primary key  (`book_id`),   

index (book_borrower))   

engine=innodb character set utf8 collate utf8_general_ci auto_increment=5 ;  

create table if not exists `parts` (   

`part_id` smallint(6) not null comment '成員編號',   

`part_name` varchar(6) not null comment '成員名',   

`part_mail` varchar(50) not null comment '郵箱',   

`part_pass` varchar(20) not null comment '密碼',   

primary key  (`part_id`),   

foreign key(part_name) references books(book_borrower) on delete cascade on update cascade)   

engine=innodb character set utf8 collate utf8_general_ci;  

分析一下books表和parts表,建立他們的關聯,我用了books表的book_borrower欄位 建立表時索引並選擇innodb為表引擎。而parts錶即part_name欄位為外來鍵,關聯到books表的book_borrower欄位.注意兩 個字段分別是char和varchar都是字串型別。on delete cascade意思為當books表有相關記錄刪除時,那parts表也會跟著刪除相關聯的記錄. 理論上parts表的part_name欄位也應該要建立索引才對,但實驗證建立關聯後自動索引了。

mysql表關聯 MySQL表關聯的幾種常用方式

工作中我們經常會使用表與表關聯來查詢資料,如果對join 不熟悉,可能會得到我們不想要的節過,這裡就來介紹下join的幾種常用方法 建表及插入資料,create table school sch id int 11 not null auto increment,sch name varchar 5...

Oracle 建立關聯表

create table dept deptno number 10 not null,deptname varchar2 30 not null,constraint pk dept primary key deptno 和create table emp empno number 10 not ...

mysql建立記憶體表的方法

如何建立記憶體表?建立記憶體表非常的簡單,只需註明程式設計客棧 engine memory 即可 複製 如下 create table tablename columnname varchar 256 not nul engine memory default charset latin1 max ...