標籤:常用 包含 這一 基本 sql資料庫 bcd 項目需求 add 釋放
MySQL函數庫,這個函數庫是一個外部函數庫!這個函數提供了對於MySQL資料庫進行操作的常用函數,如串連MySQL伺服器、開啟資料庫、執行SQL語句等。所以這個函數庫的功能對於我們來說是非常重要的!
其實,MySQL資料庫是整個程式開發的最底層,我們在程式開發時,就必須為其添加一層漂亮的外衣,這層漂亮的外衣就是圖形化使用者介面(Graphical User Interface,簡稱GUI,又稱圖形使用者介面),也就是使用者只需要具體基本的電腦知識,然後通過滑鼠,就可以實現某些複雜的功能!其實,我們現在所使用的Windows作業系統就是典型的GUI!
1. mysql_connect
功能:建立到MySQL伺服器的串連
文法:[$變數名稱=]mysql_connect(“伺服器名稱:連接埠”,”使用者名稱”,”密碼”);
如果正確的串連到了MySQL伺服器,則傳回值的資料類型為資源(resource),否則將返回布爾型false
2. mysql_select_db
功能:開啟指定資料庫
文法:[$變數名稱=]mysql_select_db(“資料庫名稱”[,串連標識符]);
如果省略串連標識符,則預設情況下使用剛剛開啟的伺服器串連
3. mysql_query 功能:執行MySQL命令
文法:[$變數名稱=]mysql_query(“SQL命令”[,串連標識符]);
如果省略串連標識符,則預設情況下使用剛剛開啟的伺服器串連
理論上來說,執行的SQL命令為任意SQL命令,如建立資料表、預存程序、觸發器等,但實際上來說,SQL命令一般只是記錄的插入、刪除、更新和查詢!因為,我們在程式設計之初,首先就是資料庫的規劃,對於資料庫中存在多少張資料表、資料表中存在多少個欄位以及資料表之間的關係,我們可以根據項目需求來規劃,但是資料表中到底有多少記錄,則無從規定,所以,SQL命令就是記錄的增、刪、改、查這四大操作!
另外,SQL[Structured Query Language,結構化查詢語言 (SQL)]中的Query意為查詢,但不要理解為尋找,尋找只是一種查詢命令!SQL命令一般可以分為DDL和DML,這裡的Query是所有SQL命令的統稱。這一點對於初始者來說,必須要分清!
如果執行的SQL命令為SELECT,SHOW,EXPLAIN 或 DESCRIBE,這些命令正確執行的話,返回結果的資料類型為資源;錯誤執行的話,返回結果為布爾型false。對於其他所有的命令,正確執行返回結果為true;錯誤執行返回結果為false。
4. mysql_num_rows
功能:返回結果集中包含的記錄數目
文法:[$變數名稱=]mysql_num_rows($結果集名稱);
此命令僅對 SELECT 語句有效
5. mysql_num_fields
功能:返回結果集中包含的欄位數目
語句:[$變數名稱=]mysql_num_fields($結果集名稱);
6. mysql_field_name
功能:擷取指定索引位置的欄位名稱
文法:[$變數名稱=]mysql_field_name($結果集名稱,欄位索引位置);
說明:欄位索引位置從0開始編號
7. mysql_fetch_array
功能:從結果集中抽取一行作為數字數組或關聯陣列或兩者兼之
文法:[$變數名稱=]mysql_fetch_array($結果集名稱[,MYSQL_NUM|MYSQL_ASSOC|MYSQL_BOTH]);
8. mysql_fetch_row
功能:從結果集中抽取一行作為數字數組
文法:[$變數名稱=]mysql_fetch_row($結果集名稱);
9. mysql_fetch_assoc
功能:從結果集中抽取一行作為關聯陣列
文法:[$變數名稱=]mysql_fetch_assoc($結果集名稱);
10. mysql_insert_id
功能: 取得上一步 INSERT 操作產生的 ID
文法:[$變數名稱=]mysql_insert_id([串連標識符]);
mysql_insert_id() 將 MySQL 內部的 C API 函數 mysql_insert_id() 的傳回值轉換成 long(PHP 中命名為 int)。如果 AUTO_INCREMENT 的列的類型是 BIGINT,則 mysql_insert_id() 返回的值將不正確。可以在 SQL 查詢中用 MySQL 內部的 SQL 函數 LAST_INSERT_ID() 來替代。
11. mysql_affected_rows
功能:擷取insert、update、delete操作所影響的記錄數
文法:[$變數名稱=]mysql_affected_rows([串連標識符]);
12. mysql_free_result
功能:釋放結果集
文法:[$變數名稱=]mysql_free_result($結果集名稱);
13. mysql_close
功能:關閉資料庫連接
文法:[$變數名稱=]mysql_close([串連標識符]);
我們還要來看一個案例吧!
在MySQL內建立如下結構的資料表,並且添加記錄
use test;
create table users
(
uid smallint unsigned not null primary key auto_increment,
username varchar(20) not null unique,
password varchar(32) not null
);
insert into users(username,password) values(‘admin‘,‘21232f297a57a5a743894a0e4a801fc3‘);
insert into users(username,password) values(‘test‘,‘098f6bcd4621d373cade4e832627b4f6‘);
insert into users(username,password) values(‘ccjsj‘,‘12a5163ff108df1d7314dd28a0ff29d2‘);
現在,我們的任務就是通過PHP的應用程式來讀取資料庫中的資料! $conn = mysql_connect("localhost","root","ccjsj");
mysql_select_db("test");
$sql = "select * from users";
$result = mysql_query($sql);
$rowsNum = mysql_num_rows($result);
$fieldsNum = mysql_num_fields($result);
$table .= "<table width=\"800\" cellpadding=\"8\" cellspacing=\"0\" border=\"1\" align=\"center\">\n";
$table .= "<tr>\n";
for($i=0;$i<$fieldsNum;$i++)
{
$table .= "<td>" . mysql_field_name($result,$i) . "</td>\n";
}
$table .= "</tr>\n";
if($rowsNum)
{
while($row = mysql_fetch_array($result))
{
$table .= "<tr>\n";
for($i=0;$i<$fieldsNum;$i++)
{
$table .= "<td>" . $row[$i] . "</td>\n";
}
$table .= "</tr>\n";
}
}
$table .= "</table>\n";
echo($table);
mysql_free_result($result);
mysql_close();
PHP的原始碼一 [圖一] 運行結果二 [圖二]
瀏覽器的原始碼三 [圖三]
MySQL函數庫