學習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
日期型:DATETIME ,DATE,TIMESTAMP
備注型:TINYTEXT ,TEXT ,LONGTEXT
參考:PHP100視頻 8~10