mysql
創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務領(lǐng)域包括:網(wǎng)站建設(shè)、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的青白江網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設(shè)合作伙伴!
兩個表中的信息關(guān)聯(lián)起來使用方法:
1、創(chuàng)建主表:
create
table
UserInfo(
UserID
int
identity(1,1)
primary
key,
--遞增主鍵
UserAccounts
varchar(20),
UserName
varchar(20),
UserPwd
varchar(10));
2、創(chuàng)建附表(含外鍵)
create
table
News(
NewsID
int
identity(1,1)
primarykey,
UserID
int,
NewsTitle
varchar(
50
),
NewsRelease
varchar(
200
),
NewsReleaseTime
datetime,
FOREIGN
KEY
(UserID)
REFERENCES
UserInfo(UserID));
--外鍵約束
如果附表已存在,但沒外鍵,可采用以下方法:
alter
table
profession
add
constraint
fk_prov_id
foreign
key(prov_id)
references
province(prov_id)
on
update
cascade
on
delete
cascade;
現(xiàn)在的數(shù)據(jù)庫基本都是關(guān)系數(shù)據(jù)庫,表與表之間的關(guān)聯(lián)一般都是靠字段來維持的。
例如3個表,分別是用戶信息表,購物訂單表,帳戶金額明細表
表結(jié)構(gòu)如下(我寫簡單哈):
用戶信息表字段:userid,username,password
購物訂單表字段:orderid,userid,goods,price
帳戶金額明細表:aid,userid,orderid,price
從上面3個表就能看出,他們之間的管理是:
通過用戶信心表的userid可以獲得購物訂單表的訂單信息,如果想要獲得用戶或者購物訂單的賬戶金額明細數(shù)據(jù),可使用userid或者orderid去帳戶金額明細表查詢相關(guān)數(shù)據(jù),示例SQL如下:
SELECT * FROM 購物訂單表字段 where userid=12
SELECT * FROM 帳戶金額明細表 where userid=12
SELECT * FROM 帳戶金額明細表 where orderid=3356
如果你還不明白的話,可發(fā)消息給我。
方法和操作步驟如下:
1、首先,創(chuàng)建一個測試表,如下圖所示,然后進入下一步。
2、其次,插入測試數(shù)據(jù),如下圖所示,然后進入下一步。
3、接著,完成上述步驟后,查詢表中的數(shù)據(jù),“select t.* from test_tbl2 t?”,如下圖所示,然后進入下一步。
4、最后,完成上述步驟后,編寫sql,兩個表通過pid與id關(guān)聯(lián), “select t1.*, t2.* from test_tbl1 t1 join test_tbl2 t2 on t1.p_id = t2.id;”,如下圖所示。這樣,問題就解決了。
數(shù)據(jù)庫多表關(guān)聯(lián),一般采用外鍵比較方便,也可以額外建一個連接表做多表關(guān)聯(lián)的連接,但這樣稍微有點兒復雜,這些是建表方面的關(guān)聯(lián)。查詢關(guān)聯(lián),可以采用多表查詢的方式關(guān)聯(lián)查詢,這點要求稍高點兒,但關(guān)聯(lián)后再操作單表時,別的表不用受太大的影響,這點特好。
創(chuàng)建一個用戶表和配置表的關(guān)聯(lián)表,里面只需存用戶id和配置表id即可,通過中間表實現(xiàn)不同用戶配置不同