1.建立用戶信息表
專注于為中小企業(yè)提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)高唐免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了成百上千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
create table userinfo(id int(4) not null primary key, name varchar(20) not null unique key)engine=innodb default charset=utf8;
2.建立好友關(guān)系表
create table friend(uid int(4) not null, foreign key(uid) references
userinfo(id),fid int(4) not null, foreign key(fid) references
userinfo(id),unique key(uid,fid))engine=innodb default charset=utf8;
3.追加測試數(shù)據(jù)(滿足uidfid條件)
insert userinfo values(1111---9999,'namea---namei’);
insert friend values(1111,4444---6666);
insert friend values(5555,6666---9999);
4.查詢好友(5555的好友)
select * from friend where uid=5555 or fid=5555;
+-------+------+
| uid | fid |
+-------+------+
| 1111 | 5555 |
| 5555 | 6666 |
| 5555 | 7777 |
| 5555 | 8888 |
| 5555 | 9999 |
+-------+--------+
5.問題:
5.1.userinfo中的id和name不為null,且不可重復(fù):table設(shè)計(jì)可以做到
5.2.friend中的uid和fid均不為null,且都來自于userinfo的id:table設(shè)計(jì)可以實(shí)現(xiàn)
5.3.(uid,fid)組合不可重復(fù):table設(shè)計(jì)可以完成
5.4.好友關(guān)系的表達(dá)時,(1111,5555)和(5555,1111)有冗余,也會出現(xiàn)(1111,1111)這樣的數(shù)據(jù):這個在table設(shè)計(jì)實(shí)現(xiàn)比較麻煩,需要在程序?qū)用鎸?shí)現(xiàn),也即增加限制條件uidfid即可
6.結(jié)果:
table設(shè)計(jì)達(dá)不到要求,或者較難達(dá)到要求時,可以在程序?qū)用嬗枰詮浹a(bǔ)。
MySQL創(chuàng)建關(guān)聯(lián)表可以理解為是兩個表之間有個外鍵關(guān)系,但這兩個表必須滿足三個條件
1.兩個表必須是InnoDB數(shù)據(jù)引擎
2.使用在外鍵關(guān)系的域必須為索引型(Index)
3.使用在外鍵關(guān)系的域必須與數(shù)據(jù)類型相似
下面分別建兩個表來說明一下:
Create TABLE IF NOT EXISTS `books` (
`book_id` smallint(6) NOT NULL auto_increment COMMENT ‘書籍編號',
`book_name` char(20) NOT NULL COMMENT ’書名‘,
主鍵:唯一標(biāo)識一條記錄,不能有重復(fù)。作用:用來保證數(shù)據(jù)的完整性。 外鍵:表的外鍵是另一表的主鍵??梢允侵貜?fù)的,可以是空值,用來和其他表建立聯(lián)系,一個表可以有多個外鍵。
網(wǎng)頁名稱:Mysql關(guān)系表怎么做 mysql創(chuàng)建關(guān)系表語句
鏈接地址:http://muchs.cn/article42/doecehc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、軟件開發(fā)、網(wǎng)站改版、App開發(fā)、商城網(wǎng)站、虛擬主機(jī)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)