天天看點

PHP與MySQL連接配接及SQL語言基本文法

學習PHP之SQL文法

資料庫中的常用SQL語句

建立一個簡單的資料庫

建立一個資料庫指令:CREATE TABLE

删除一個資料庫指令:DROP TABLE

修改一個字段名稱:RENAME TABLE `原字段` TO `新字段`

删除一個字段:ALTER TABLE `表`  DROP `原字段`

插入一個字段:ALTER TABLE `表`  ADD `新字段` …  AFTER `原字段`

舉例:

CREATE TABLE `test` (

  `id`     int(10) NOT NULL auto_increment,

  `uid`   varchar(10) NOT NULL  default '0',

 `regdate`  date NOT NULL,

 `remark`    text  NULL,

   PRIMARYKEY  (`id`)

)

1、SELECT 查詢語句和條件語句

SELECT  查詢字段 FROM 表名 WHERE 條件

查詢字段:可以使用通配符* 、字段名、字段别名

表名:資料庫.表名   表名

常用條件: = 等于、<>不等于、in 包含、 not in 不包含、 like 比對

           BETWEEN  在範圍  、 not BETWEEN 不在範圍 < 、>

條件運算: and 、 or 、 ( )

分組語句:group by 字段(語句最後 order之前)

排序語句:order by 字段,字段 ASC / DESC(語句最後 limit之前)

指針查詢:limit 初始值,結束值(語句最後)

計算:

  COUNT(*) 統計函數

  MAX(*) 最大值函數

  MIN (*) 最小值函數

  AVG(*) 平均值函數

  SUM(*) 累計值函數

2、INSERT插入語句

insert into 表名 (字段…,…) values(值…,…)

insert into 表名 values(值…,…)

3、UPDATE更新語句

UPDATE 表名 SET 字段 = 值 WHERE 條件 limit 

常用條件: = 等于、<>不等于、in 包含、 not in 不包含、 like 比對

           BETWEEN  在範圍  、 not BETWEEN 不在範圍

條件預算: and 、 or 、 ( )

4、DELETE 删除語句

DELETE  FROM 表名 WHERE 條件 limit 

常用條件: = 等于、<>不等于、in 包含、 not in 不包含、 like 比對

           BETWEEN  在範圍  、 not BETWEEN 不在範圍

條件預算: and 、 or 、 ( )

PHP與MySQL的連接配接

1、PHP與mysql建立連結

php.ini 加載mysql元件:

             extension=php_mysql.dll  前的; 去掉

             extension_dir = " "  路徑是否正确

PHP連結mysql函數

mysql_connect: 開啟 MySQL 連結

mysql_select_db: 打開一個資料庫

@和or die 隐藏錯誤和條件顯示

mysql_connect("主機", "使用者名", "密碼")

mysql_select_db("打開資料庫",連接配接辨別符);

代碼舉例:

$conFlag=@mysql_connect("localhost","root","");

if ($conFlag){

    echo "連接配接成功!";

}else{

    echo "連接配接錯誤!";

}

$Flag=@mysql_select_db("newdb");

if ($Flag){

    echo "<br>"."newdb資料庫打開成功!";

}

2、如何去執行一個SQL語句

mysql_query(SQL語句 ,連接配接辨別符);

說明:mysql_query用來根據連接配接辨別符向該資料庫伺服器的目前資料庫發送查詢,如果連接配接辨別符預設,則預設為是上一次打開的連接配接。​

傳回值:成功後傳回一個結果辨別符,失敗時傳回false。​

代碼舉例:

$sql="INSERT INTO test VALUES('','zhb',now(),'postG')";

mysql_query("set names 'GB2312'");//解決中文亂碼

mysql_query($sql);​

3、SQL查詢語句的特殊性

注意:對于除查詢以外的操作,不需要傳回資料。而查詢需要傳回資料。​

mysql_query執行SQL查詢語句,用mysql_fetch_row或mysql_fetch_array擷取查詢的結果。

格式:mysql_fetch_row(result);

說明:mysql_fetch_row用來查詢結果的一行儲存至數組,該數組下标從0開始,每一個數組元素對應一個域。通過循環,可以将查詢結果全部獲得。

格式:mysql_fetch_array(result);

說明:mysql_fetch_array和mysql_fetch_row功能基本相同,隻不過它除了可以用從0開始的偏移量作索引,還可以用域名作索引。值傳回下一行的所有域值,并将其儲存至一個數組中,沒有行時傳回false。

代碼舉例:

$sql="SELECT * FROM `test`";

$result=mysql_query($sql);

echo "<br>";

while($result_array=mysql_fetch_row($result)){

    print_r($result_array);

    echo "<br>";

}​

4、其他常用Mysql函數介紹

mysql_num_rows  用于計算查詢結果中所得行的數目

mysql_insert_id傳回最後一次使用 INSERT 指令的 ID。​

mysql_tablename取得資料庫名稱

mysql_error   傳回錯誤資訊

mysql_close 關閉 MySQL 連結

附錄:

通路MYSQL的幾種途徑

1、使用工具MYSQL官方的工具通路:MySQLAdministrator tool

2、使用第三方工具通路:mysqlexec、 mysql連接配接器 

3、使用WEB方式通路:phpMyAdmin(最常見)(http://localhost/phpmyadmin/)

資料庫中常用字段類型

整數型:TINYINT,SMALLINT,INT,BIGINT

小數型:FLOAT,DOUBLE,DECIMAL(M,D)

字元型:CHAR,VARCHAR