標籤:family 返回 失敗 釋放 條件 匹配 sso 資料表 into
內串連
按照條件,將左表的每天記錄匹配右表,如果條件符合,欄位內容將會被儲存,如果不符合,則不會被儲存;
文法:
select *|欄位列表 from 左表 inner join 右表 on 左表.欄位=右表.欄位...;
Inner 可以省略掉;
簡約版文法
select *|欄位列表 from 左表 join 右表 on 左表.欄位=右表.欄位....;
外串連
左外串連
文法:
select *|欄位列表 from 左表 left join 右表 on 左表.欄位=右表.欄位...;
跟內串連基本一樣,唯一一點區別:外串連,沒匹配成功的話,左表的欄位內容會儲存,而右表則是以null儲存。
右外串連
文法:
select *|欄位列表 from 左表 right join 右表 on 左.欄位=右表.欄位...;
跟內串連基本一樣,唯一一點區別:外串連,沒匹配成功的話,右表的欄位內容會儲存,而左表則是以null儲存。
自然串連
規則:
只要兩張表中具有相同的欄位名,系統就認為是一個串連條件,就會主動的去匹配這兩個相同的欄位名的值是否相同,如果兩個表的相同的欄位名的值相同,就認為匹配成功;如果兩張表中有多個欄位名相同,則所有相同的欄位名的值都要相同才算是匹配成功!
自然內串連
文法:
左表 natural inner join右表
跟內串連一樣,沒匹配成功的欄位會直接被刪除;
自然外串連
文法:
左表 natural left|right join 右表
跟外串連一樣,只是匹配條件是系統定而已
PHP操作MySQL
mysql_connect 函數:串連資料庫
文法:
Mysql_connect(‘本機名’,’使用者名稱’,’密碼’);
中斷連線需要使用mysql_close函數!
mysql_query
函數:發送操作指令
mysql_query(“操作指令”)
mysql_query 函數如果操作失敗的話會返回一個布爾值的(frue),如果成功的話,可能會返回布爾值的(true)也可能返回一個資源結果集
那麼,如何提取資源結果集呢?
mysql_
fetch_array()
函數:提取資源結果集
資源結果集返回的是一個關聯及索引並存的一個數組,一次提取,數組指標會下移,及獲得下一行數值
MYSQL_BOTH:同時返回關聯和索引數組,也是預設值!
MYSQL_fetch_ASSOC:只返回關聯陣列!
MYSQL_fetch_row:只返回索引數組
當資源結果集使用完了之後,應該主動的釋放它:
使用另一個系統函數mysql_free_result(結果集資源);
錯誤調試函數
因為PHP串連MySQL中不會報錯,所以得需要用到錯誤調試函數來報錯
mysql_errno:錯誤編碼
Mysql_error:錯誤資訊
MySQL資料備份
文本備份:
複製粘貼資料表,但每次所以表都要複製,浪費空間
資料備份:
文法:
select *|欄位列表 into outfile 檔案地址 from 表名;
注意:
檔案地址中目錄名不能省略,不能備份到一個已經儲存了資料的檔案中,檔案必須由MySQL系統自己建立,也就是說,你只需要指定一個目錄,然後設定檔案名稱,MySQL系統就會自己幫你建立好!
Sql備份
文法:
mysqldump -hlocalhost –P3306 -uroot –p 資料庫名[資料表1 資料表2……] > 儲存路徑
還原文法
文法:
方法1
mysql -hPup 資料庫名字 < 備份路徑
方法2
source 備份路徑;
MySQL的幾種表外串連及PHP操作MySQL的函數