學習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