設(shè)置主鍵的思路:業(yè)務(wù)字段做主鍵、自增字典做主鍵、手動(dòng)賦值字段做主鍵。
創(chuàng)新互聯(lián)建站自2013年起,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元克拉瑪依做網(wǎng)站,已為上家服務(wù),為克拉瑪依各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18980820575
多表查詢:分散在多個(gè)不同的表里的數(shù)據(jù)查詢出來(lái)的操作。
外鍵:從表中用來(lái)引用主表中數(shù)據(jù)的那個(gè)公共字段。
連接有2種類型的連接:內(nèi)連接(inner join)和外連接(outer join)
內(nèi)連接:查詢結(jié)果只返回符合連接條件的記錄。
外連接:查詢結(jié)果返回某一個(gè)表中的所有記錄,以及另一個(gè)表中滿足連接條件的記錄。
其中左連接:left join,返回左表中的所有記錄,以及右表中符合連接條件的記錄。
右連接:right join,返回右表中的所有記錄,以及左表中符合連接條件的記錄。
一、連接遠(yuǎn)程數(shù)據(jù)庫(kù):
1、顯示密碼
如:MySQL
連接遠(yuǎn)程數(shù)據(jù)庫(kù)(192.168.5.116),端口“3306”,用戶名為“root”,密碼“123456”
C:/mysql -h
192.168.5.116 -P 3306 -u root -p123456
2、隱藏密碼
如:MySQL 連接本地?cái)?shù)據(jù)庫(kù),用戶名為“root”,
C:/mysql -h
localhost -u root -p
Enter password:
二、配置mysql允許遠(yuǎn)程鏈接
默認(rèn)情況下,mysql帳號(hào)不允許從遠(yuǎn)程登陸,只能在localhost登錄。本文提供了二種方法設(shè)置mysql可以通過(guò)遠(yuǎn)程主機(jī)進(jìn)行連接。
一、改表法
在localhost登入mysql后,更改 "mysql" 數(shù)據(jù)庫(kù)里的 "user" 表里的 "host"
項(xiàng),將"localhost"改稱"%"
例如:
#mysql -u root
-p
Enter password:
……
mysql
mysqlupdate user
set host = '%' where user = 'root';
mysqlselect host,
user from user;
二、授權(quán)法
例如:
你想myuser使用mypassword(密碼)從任何主機(jī)連接到mysql服務(wù)器的話。
mysqlGRANT ALL
PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允許用戶myuser從ip為192.168.1.6的主機(jī)連接到mysql服務(wù)器,并使用mypassword作為密碼
mysqlGRANT ALL
PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY
'mypassword' WITH GRANT OPTION;
mysqlFLUSH
PRIVILEGES
使修改生效,就可以了
常見問(wèn)題:
1、在采用法二授權(quán)法之后,無(wú)法在本地登錄mysql(如:#mysql -u root -p -h
192.168.5.116
Enter password:
ERROR 1045 (28000): Access denied for user
'root'@'loadb116' (using password: YES)
上例中l(wèi)oadb116是主機(jī)名.
解決方法:
1、這時(shí)可以使用:mysql -u
root -p 登錄,進(jìn)入到mysql后。
mysql grant all privileges on *.* to 'root'@'loadb116'
identified by '123456' with grant option;
Query OK, 0 rows affected
(0.00 sec)
mysql flush
privileges;
Query OK, 0 rows affected (0.00
sec)
2、在本地使用ip地址登錄
#
mysql -u root -p -h
192.168.5.116
Enter password:
Welcome to the MySQL
monitor. Commands end with ; or /g.
Your MySQL connection id is 60
Server
version: 5.1.45 MySQL Community Server (GPL)
Type 'help;' or '/h' for
help. Type '/c' to clear the buffer.
mysql
學(xué)生student表:
課程course表:
交叉連接:
結(jié)果為兩張表的笛卡爾積:
內(nèi)連接(inner join ,inner 可以省略)
顯示內(nèi)連接和隱示內(nèi)連接獲得的查詢結(jié)果是一樣的,都是A表和B表的交集(例:A.id = B.id),但是只能查到有關(guān)系的信息,如果A表的一條數(shù)據(jù)的與B表關(guān)聯(lián)的字段沒(méi)有對(duì)應(yīng)的信息(如:A.id = null),即:這條數(shù)據(jù)在B表中沒(méi)有對(duì)應(yīng)的信息,則無(wú)法獲得。
外連接(outer join,outer可以省略)
左外連接獲得的查詢結(jié)果是左邊的表A的全部信息和A,B兩張表的交集,左邊A表的全部包含A表中在B表中沒(méi)有對(duì)應(yīng)關(guān)系的信息。
右外連接獲得的查詢結(jié)果是右邊的表B的全部信息和A,B兩張表的交集,右邊B表的全部包含B表中在A表中沒(méi)有對(duì)應(yīng)關(guān)系的信息。