mysql數(shù)據(jù)庫(kù)表間的關(guān)系圖可以通過(guò)navicat查看:
成都創(chuàng)新互聯(lián)公司從2013年成立,是專(zhuān)業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站建設(shè)、成都網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元定陶做網(wǎng)站,已為上家服務(wù),為定陶各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18980820575
第一步:下載navicat打開(kāi);
第二步:點(diǎn)擊navicat界面最右下角標(biāo)注的按鈕即可查看關(guān)系圖。
最新的MySQL Workbench已經(jīng)完全包含了數(shù)據(jù)庫(kù)建模與設(shè)計(jì)、數(shù)據(jù)庫(kù)SQL開(kāi)發(fā)和數(shù)據(jù)庫(kù)管理與維護(hù)等功能。
Mysql數(shù)據(jù)庫(kù)-----表
sh.qihoo.com?2018-04-07 08:20
1、定義: 表(table)是數(shù)據(jù)庫(kù)最基本的組成單元,數(shù)據(jù)庫(kù)是用來(lái)存儲(chǔ)數(shù)據(jù)的,數(shù)據(jù)庫(kù)中有很多表,每一個(gè)表都是一個(gè)獨(dú)立的單元,表也是一個(gè)結(jié)構(gòu)化的文件,由行和列組成,行稱(chēng)為數(shù)據(jù)或記錄,列稱(chēng)為字段,字段又包含:字段名稱(chēng)、字段類(lèi)型、長(zhǎng)度、約束。
2、創(chuàng)建表
(1)、語(yǔ)法格式:create table 表名稱(chēng)(字段名 類(lèi)型(長(zhǎng)度) 約束);
(2)、MySQL常用數(shù)據(jù)類(lèi)型
VARCHAR:可變長(zhǎng)度字符串(VARCH AR(3)表示存儲(chǔ)的數(shù)據(jù)長(zhǎng)度丌能超過(guò)3個(gè)字符長(zhǎng)度)
CHAR:定長(zhǎng)字符串(CHAR(3) 表示存儲(chǔ)的數(shù)據(jù)長(zhǎng)度丌能超過(guò)3個(gè)字符長(zhǎng)度)
INT:整數(shù)型(INT(3)表示最大可以存儲(chǔ)999)
BIGINT:長(zhǎng)整型(對(duì)應(yīng)java程序中的long類(lèi)型)
FLOAT:浮點(diǎn)型單精度(FLOAT(7,2)表示7個(gè)有效數(shù)字,2個(gè)有效小數(shù)位)
DOUBLE:浮點(diǎn)型雙精度(DOUBLE(7,2)表示7個(gè)有效數(shù)字,2個(gè)有效小數(shù)位)
DATE:日期類(lèi)型( 實(shí)際開(kāi)發(fā)中,常用字符串代替日期類(lèi)型)
BLOB:二進(jìn)制大對(duì)象 Binary Large Object(專(zhuān)門(mén)存儲(chǔ)圖片、視頻、聲音等數(shù)據(jù))
CLOB:字符型大對(duì)象 Character Large Object( 可存儲(chǔ)超大文本,可存儲(chǔ)4G+字符串)
VARCHAR與CHAR對(duì)比:
都是字符串
VARCHAR比較智能,可以根據(jù)實(shí)際的數(shù)據(jù)長(zhǎng)度分配空間,比較節(jié)省空間;但在分配的時(shí)候需要相關(guān)判斷,效率低。
CHAR不需要?jiǎng)陸B(tài)分配空間,所以執(zhí)行效率高,但是可能會(huì)導(dǎo)致空間浪費(fèi)
若字段中的數(shù)據(jù)不具備伸縮性,建議采用CHAR類(lèi)型存儲(chǔ)
若字段中的數(shù)據(jù)具備很強(qiáng)的伸縮性,建議采用VARCHAR類(lèi)型存儲(chǔ)
MySQL創(chuàng)建關(guān)聯(lián)表可以理解為是兩個(gè)表之間有個(gè)外鍵關(guān)系,但這兩個(gè)表必須滿(mǎn)足三個(gè)條件
1.兩個(gè)表必須是InnoDB數(shù)據(jù)引擎
2.使用在外鍵關(guān)系的域必須為索引型(Index)
3.使用在外鍵關(guān)系的域必須與數(shù)據(jù)類(lèi)型相似
下面分別建兩個(gè)表來(lái)說(shuō)明一下:
Create
TABLE
IF
NOT
EXISTS
`books`
(
`book_id`
smallint(6)
NOT
NULL
auto_increment
COMMENT
‘書(shū)籍編號(hào)',
`book_name`
char(20)
NOT
NULL
COMMENT
’書(shū)名‘,
你分別給“評(píng)論表”(表A)和“文章表”(表B)建立了一個(gè)主鍵,數(shù)據(jù)表是存儲(chǔ)多條記錄,而主鍵是區(qū)分記錄的唯一性的,你將 表A 的主鍵id放到 表B 中作為外鍵(aid),你就已經(jīng)將兩表通過(guò) B表(aid) 建立了一種關(guān)系,就好像母子兩人,因?yàn)橛醒夑P(guān)系,就可以知道一人是另一個(gè)人的母親,兩個(gè)表有關(guān)系了就可以互相知道了;
B表里有了aid必須是A表中存在的,就像兒子肯定有母親的,所有一文章記錄有評(píng)論(aid),那aid就能在A表中找到,找到的這條評(píng)論就是這篇文章的評(píng)論;
因?yàn)槲恼潞驮u(píng)論是一對(duì)多的關(guān)系,像LZ那樣文章表冗余就會(huì)比較多;個(gè)人覺(jué)得將文章的主鍵作為評(píng)論表的外鍵比較好;
建立表時(shí),B表設(shè)置b1為外鍵 對(duì)應(yīng)A表主鍵,C表設(shè)置c1為外鍵對(duì)應(yīng)B表主鍵 查詢(xún)多表連接查詢(xún)