php基礎(chǔ)04(MySQL)

1.SQL

Structured Query Language :結(jié)構(gòu)化查詢語(yǔ)言,SQL是操作和管理數(shù)據(jù)庫(kù)的語(yǔ)言。

常用的4條sql語(yǔ)句:增刪改查。 核心的就這4條

一、增加數(shù)據(jù):
語(yǔ)法:insert into tb_name(title, author, content, addate) values('從8月開始,我們接受了', 'admin', '具體內(nèi)容....', 14352645646);
注意事項(xiàng):
(1)字段列表與值得內(nèi)容列表,個(gè)數(shù)和順序必須一致
(2)id字段不需要管他,他是自動(dòng)增長(zhǎng)型

二、刪除記錄:
語(yǔ)法:delete from tb_name [where 條件];
eg: delete from news where id=3;
delete from news where id > 10 and id < 20; // 刪除20>id>10的記錄
delete from news where id > 10 and author = 'admin';

刪除所有記錄:
TRUNCATE tb_name; // 刪除所有數(shù)據(jù),并且重新將id值歸0.速度十分快.
與delete from tb_name要快得多

三、修改
語(yǔ)法:UPDATE tb_name SET 字段1 = 新值1, 字段2 = 新值2[WHERE 條件];
*注意:更新數(shù)據(jù)的時(shí)候,一定要指定where條件,否則,整個(gè)表都會(huì)更新為一樣。
舉例:
UPDATE news SET author = 'zhangsan', hits = 10000 where id = 10;

四、查詢數(shù)據(jù)
語(yǔ)法: SELECT * 字段列表 FROM tb_name [WHERE 條件] [ORDER BY 字段 ASC|DESC] [LIMIT 限定輸出結(jié)果]
limit:限制輸出的記錄數(shù)
eg:select * from tb_news where id < 2000 and id > 1000 order by id asc, addate desc limit 50,500;

用于分頁(yè)很多:
LIMIT startrows,rows; // 從startrows開始,不包括startrows,輸出rows條數(shù)據(jù)
LIMIT 0,10 // 從第0行起,輸出10條記錄,不包括第0行
LIMIT 1,10 // 從第1行起,輸出10條記錄,不包括第1行
LIMIT 15,10 // 從第15行起,輸出10條記錄,不包括第15行

where id between 90 and 100

like 預(yù)算福:實(shí)現(xiàn)字段模糊查詢.比如:查詢所有標(biāo)題中海油北京的所有記錄.
where title like '%北京%'; // 標(biāo)題中含有北京的記錄
where author LIKE 'a%'; // 查詢以'a'字符開頭的作者

五、php操作MySQL

MySQL客戶端(命令行)四步步驟:
第一步:鏈接到MySQL數(shù)據(jù)庫(kù)服務(wù)器
Mysql -hlocalhost(主機(jī)名) -uroot(用戶名) -proot(用戶密碼)
eg: mysql -h127.0.0.1 -uroot -proot

第二步:選擇要操作的數(shù)據(jù)庫(kù)

use db_name;

第三步:設(shè)置當(dāng)前環(huán)境的顯示字符集

set names gbk; // dos 命令下只能用gbk

第四步:執(zhí)行SQL語(yǔ)句

增加:insert into tb_name (字段1, 字段2, 字段3) values (屬性值1, 屬性值2, 屬性值3);
刪除:delete from tb_name [where 條件]
刪除整個(gè)表中的記錄:truncate tb_name;
修改:update tb_name set 字段1=值 , 字段2 = 值[where 條件];
查詢:select 字段列表 * from tb_name[where 條件][order by 字段 asc/desc][limit 限定記錄](méi);

php中操作mysql數(shù)據(jù)庫(kù):
第一步:鏈接MySQL數(shù)據(jù)庫(kù)服務(wù)器 mysql_connect()
語(yǔ)法結(jié)構(gòu): $link = mysql_connect($db_host, $db_user, $db_pwd);
參數(shù)說(shuō)明:
$db_host: 指定要鏈接的MySQL服務(wù)器的主機(jī)名或者IP地址,如:localhost:3306
$db_user: 指定用戶名,默認(rèn)root
$db_pwd:指定用戶密碼,默認(rèn)root
返回值:如果鏈接MySQL成功,將返回一個(gè)資源標(biāo)識(shí)符,如果鏈接失敗,則返回false.

eg: $link = mysql_connect("localhost", "root", "root");
在頁(yè)面上,如果沒(méi)有任何返回值的話,就是鏈接成功的,否則會(huì)報(bào)錯(cuò)的.

注意:資源類型的數(shù)據(jù),改成布爾型,一律為真(true)
屏蔽php中的錯(cuò)誤信息顯示:用@符號(hào)
$link = @mysql_connect("localhost", "root", "root");

mysql_error() 顯示上一次MySQL的出錯(cuò)文本信息

第二步:選擇數(shù)據(jù)庫(kù)
語(yǔ)法:bool mysql_select_db(string $database_name [, resource $ link_identifier])
返回值:成功選擇數(shù)據(jù)庫(kù)返回true ,選擇數(shù)據(jù)庫(kù)失敗返回false
參數(shù)說(shuō)明:resource $link_identifier 是可選項(xiàng),指定當(dāng)前的活動(dòng)鏈接標(biāo)識(shí)符,當(dāng)前活動(dòng)鏈接只有一個(gè).如果省略,則使用上一次聯(lián)通數(shù)據(jù)庫(kù)的標(biāo)識(shí)符.一般$link只有一個(gè).

eg:
$link = @mysql_connect("localhost", "root", "root");
mysql_select_db(“db_name”, $link);

注意: exit()或die(); // 中斷或退出程序
語(yǔ)法:exit("先輸出exit信息,再退出"); // 退出

注意:if(@mysql_select_db($db_name, $link))
是mysql_select_db() 而不是 mysqli_select_db()

第三步:設(shè)置返回?cái)?shù)據(jù)的字符集
Mysql_query("set names utf8");

注意:mysql是 utf8 其余基本是utf-8

第四步:數(shù)據(jù)庫(kù)操作 SQL語(yǔ)句操作

mysql_fetch_assoc() 函數(shù)從結(jié)果集中取得一行作為關(guān)聯(lián)數(shù)組。
返回根據(jù)從結(jié)果集取得的行生成的關(guān)聯(lián)數(shù)組,如果沒(méi)有更多行,則返回 false。

服務(wù)器返回?cái)?shù)據(jù)到客戶端,編碼有可能會(huì)改變。因?yàn)槎M(jìn)制返回.所以需要: mysql_query("set names utf8");

eg:
while($row=mysql_fetch_assoc($result)){
dump($row); // 打印
}

注意:如果執(zhí)行:SELECT, SHOW, DESCRIBE語(yǔ)句成功返回資源標(biāo)識(shí)符resource,如果失敗就是false
其他SQL語(yǔ)句(delete, update, insert)

數(shù)組分為:枚舉數(shù)組 和 關(guān)聯(lián)數(shù)組

while($row = mysql_fetch_row($result_2)){   
 // 數(shù)組分為美劇數(shù)組和關(guān)聯(lián)數(shù)組   
     $arr[] = $row;
  // 將每一個(gè)$row數(shù)組,存到$arr中去,生辰過(guò)一個(gè)二維數(shù)組}
dump($arr);

php define:

define("DB_NAME", "db_liao");

echo("DB_NAME");

六、導(dǎo)入.sql到數(shù)據(jù)庫(kù)

參考:http://jingyan.baidu.com/article/cbf0e500d15c762eab289362.html

*注意:source d:/test.sql; 這樣步奏的時(shí)候.我們一般是將.sql文件拖入到命令行,其樣子是:d:\test.sql。我們需要收到將''改為'/'才行.
*注意:使用dreamweaver開發(fā),效率會(huì)變得高.不過(guò),它沒(méi)得代碼提示

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 什么是數(shù)據(jù)庫(kù)? 數(shù)據(jù)庫(kù)是存儲(chǔ)數(shù)據(jù)的集合的單獨(dú)的應(yīng)用程序。每個(gè)數(shù)據(jù)庫(kù)具有一個(gè)或多個(gè)不同的API,用于創(chuàng)建,訪問(wèn),管理...
    chen_000閱讀 4,143評(píng)論 0 19
  • 第1章 初涉MySQL 1.1 MySQL文件 (1)MySQL目錄結(jié)構(gòu) (2)MySQL配置向?qū)募ò惭b后配置...
    凜0_0閱讀 991評(píng)論 1 0
  • 【MySQL】Linux下MySQL 5.5、5.6和5.7的RPM、二進(jìn)制和源碼安裝 1.1BLOG文檔結(jié)構(gòu)圖 ...
    小麥苗DB寶閱讀 10,878評(píng)論 0 31
  • 數(shù)據(jù)庫(kù)簡(jiǎn)介關(guān)系型數(shù)據(jù)庫(kù)MySQL安裝和使用SQL語(yǔ)言 一、數(shù)據(jù)庫(kù)簡(jiǎn)介 (一)數(shù)據(jù)庫(kù)的發(fā)展 文件系統(tǒng):磁盤文件存儲(chǔ)數(shù)...
    哈嘍別樣閱讀 477評(píng)論 0 1
  • super麗麗閱讀 230評(píng)論 0 0

友情鏈接更多精彩內(nèi)容