這一節主要總結一下在php中使用mysql進行資料庫的程式設計。
使用mysql:
常用函式
1.mysql_connect(伺服器名稱,使用者名稱,密碼) // 判斷連線 錯誤則使用 mysql_error 函式
2.mysql_select_db() //選擇資料庫
3.mysql_query() //執行語句 返回結果集 或者返回bool值
4.對結果集的處理
mysql_fetch_array// 取得結果集中的一行的資料 可以是數字 也可以是字段
mysql_fetch_assoc //陣列 字段
mysql_fetch_object //獲取一行的物件 //用的較少 //但是是個趨勢 轉向物件導向
mysql_fetch_row //獲取一行 陣列儲存 用的較多
mysql_affected_rows // 影響的行數 用於判斷
mysql_free_result //釋放結果集
mysql_num_fields //取得欄位的數目
mysql_num_rows //取得行的數目
mysql_close //關閉連線
使用mysqli:
和上面差不多 不過所有的都被封裝到乙個類中
1.例項化乙個物件 new mysqli(和上面一樣,「資料庫名稱」); ->connect_error 返回錯誤
2.->select_db選擇資料庫 ///
3.->query //執行語句 這裡還有批量執行多條語句 下面再說
4.對結果集的處理
->fetch_row ->fetch_array ->fetch_assoc ->fetch_object
->num_rows ->field_count ->free ->close //這些都和上面的函式一樣 只不過被封裝到類裡面了
上面是一些常用的基礎性的用法
下面來總結執行多條sql 語句
先看**
//執行插入操作
$mysqli=new mysqli("localhost","root","87129291","xiaoyuan");if ($mysqli->connect_error)
die($mysqli->connect_error);
$mysqli->query("set names gbk");
$sqls="insert into prifession values(5,'資訊');"; //這裡注意最後寫上分號
$sqls.="insert into prifession values(6,'機械')";
if (!$mysqli->multi_query($sqls))
die("插入失敗");
//執行獲取結果集操作
$mysqli=new mysqli("localhost","root","87129291","xiaoyuan");if ($mysqli->connect_error)
die($mysqli->connect_error);
$mysqli->query("set names gbk");
$sqls="select *from prifession;";
$sqls.="select *from yuanxi;";
if ($res=$mysqli->multi_query($sqls)) //執行多條語句 返回是bool值
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
"; $rus->free(); //釋放結果集
if (!$mysqli->more_results()) //判斷是否還有
break;
}while($mysqli->next_result()); //獲取到下乙個結果集
}
下面總結事務處理
**
$mysqli->autocommit(false); //關閉自動提交$sql1="update prifession set id=id+2 where id=5";
$sql2="update prifession1 set id=id+2 where id=6";
$d1=$mysqli->query($sql1);
$d2=$mysqli->query($sql2);
if (!$d1||!$d2) // 判斷 是否錯誤
$mysqli->rollback(); //執行回滾操作
else
$mysqli->commit(); //執行提交操作
下面總結預編譯
預編譯其實就是給資料庫(伺服器)提供乙個模板 接下來的操作就不需要再進行編譯 直接獲取資料 這樣可以很快的獲取到或者新增等資料庫裡面大量的資料 (新手,用的不多)
**1.
$sql="insert into prifession values(?,?)"; //這裡問號是下面要增加的資料$mysqli_stmt=$mysqli->prepare($sql); //準備操作
$id=80;
$name="the yesterday";
//繫結 i 整型 d double型別 s 字串型別
$mysqli_stmt->bind_param("is",$id,$name);
$b=$mysqli_stmt->execute() or die("$mysqli_stmt->error"); //執行上面的語句
$id=9;
$name="ppp";
$mysqli_stmt->bind_param("is",$id,$name);
$b=$mysqli_stmt->execute() or die("$mysqli_stmt->error");
$id=10;
$name="qqq";
$mysqli_stmt->bind_param("is",$id,$name);
$b=$mysqli_stmt->execute() or die("$mysqli_stmt->error");
$mysqli_stmt->close(); //關閉預編譯指令 注意 這裡一定要關閉預編譯 否則後面的處理還是這套模板 會產生錯誤
2.
$sql="select name from prifession where id>?";$mysqli_stmt=$mysqli->prepare($sql);
$id=10;
$mysqli_stmt->bind_param("i",$id);
$mysqli_stmt->bind_result($name); //增加了繫結結果集
$mysqli_stmt->execute();
while($mysqli_stmt->fetch()) // 獲取結果到上面的變數中
echo "$name
"; $id=1;
$mysqli_stmt->bind_param("i",$id);
$mysqli_stmt->execute();
while($mysqli_stmt->fetch())
echo "$name
"; $mysqli_stmt->free_result(); //釋放結果集
$mysqli_stmt->close(); //關閉預編譯指令
上面是php中資料庫的常用操作,下面我會總結c++中的使用方法。
SQL Server 和MySQL的區別
sql server和mysql沒多大區別兩者資料庫都能夠在.net或j2ee下執行正常,同樣,都能夠利用raid。區別就是 有一些 控制 名字不一樣,但功能大都一樣。sql server mysql 商業資料庫,貴 不全是免費,但很便宜 只支援windows系統 支援windows和linux,u...
sql server 和mysql 建立索引
1.新增primary key 主鍵索引 alter table table name add primary key column 2.新增unique 唯一索引 alter table table name add unique column 3.新增index 普通索引 alter table...
mysql和sqlserver資料轉換
使用mysql migration toolkit,mysql官方自帶的把mssql轉換為mysql 一直下一步下一步,使用advances功能 1 jdbc jtds sqlserver localhost 1433 db cityinfo user sa password 654123 char...