《Mysql學(xué)習(xí)Mac OS下PHP環(huán)境搭建及PHP操作MySQL常用方法小結(jié)》要點(diǎn):
本文介紹了Mysql學(xué)習(xí)Mac OS下PHP環(huán)境搭建及PHP操作MySQL常用方法小結(jié),希望對(duì)您有用。如果有疑問,可以聯(lián)系我們。
Mac本地環(huán)境搭建
在Mac系統(tǒng),我們可以使用MAMP Pro (官方網(wǎng)站:https://www.mamp.info/en/)軟件來搭建本地服務(wù)器.安裝好這款軟件,網(wǎng)站的目錄在 /Applications/MAMP/htdocs 文件夾里,只需將文件放入該文件夾中,就可以通過http://localhost:8888來拜訪了,或者通過點(diǎn)擊如下紅色下劃線按鈕來快速拜訪站點(diǎn).
MYSQL實(shí)例
MYSQL實(shí)例
mac體系下安裝php,兩行即可.
MYSQL實(shí)例
brew tap josegonzalez/homebrew-php brew install php54
安裝完后配置一下,你就可以使用phpstorm來高興地編程啦.安裝的php路徑在/usr/local/bin/phpMYSQL實(shí)例
數(shù)據(jù)庫根本操作
MYSQL實(shí)例
MYSQL實(shí)例
1)用戶的 Web 瀏覽器發(fā)出 HTTP 哀求,哀求特定 Web 頁面.
2)Web服務(wù)器收到.php 的哀求獲取該文件,并將它傳到 PHP 引擎,要求它處理. 3)PHP 引擎開始解析腳本. 腳本中有一條連接數(shù)據(jù)庫的命令, 還有執(zhí)行一個(gè)查詢的令.命
PHP 打開通向 MYSQL 數(shù)據(jù)庫的連接,發(fā)送適當(dāng)?shù)牟樵?
4)MYSQL 服務(wù)器接收數(shù)據(jù)庫查詢并處理.將結(jié)果返回到 PHP 引擎.
5)PHP 以你去哪干完成腳本運(yùn)行,通常,這包括將查詢結(jié)果格式化成 HTML 格式.然
后再輸出 HTML 返回到 Web 服務(wù)器.
6)Web服務(wù)器將 HTML 發(fā)送到瀏覽器.
MySQL 常用數(shù)據(jù)類型
整數(shù)型:TINYINT,SMALLINT,INT,BIGINT
浮點(diǎn)型:FLOA T,DOUB LE,DECIMAL(M,D)
字符型:CHAR,VARCHAR
日期型:DA TETIME,DA TE,TIMESTA MP
備注型:TINYTEXT,TEXT,LONGTEXT
MySQL 數(shù)據(jù)庫操作
1)顯示當(dāng)前存在的數(shù)據(jù)庫
MYSQL實(shí)例
>SHOWDATABASES;
2)選擇你所必要的數(shù)據(jù)庫
MYSQL實(shí)例
>USEguest;
3)查看當(dāng)前所選擇的數(shù)據(jù)庫
MYSQL實(shí)例
>SELECTDATABASE();
4)查看一張表的所有內(nèi)容
MYSQL實(shí)例
>SELECT*FROMguest; //可以先通過SHOWTABLES;來查看有若干張表
5)根據(jù)數(shù)據(jù)庫設(shè)置中文編碼
MYSQL實(shí)例
>SET NAMESgbk; //set names utf8;
6)創(chuàng)立一個(gè)數(shù)據(jù)庫
MYSQL實(shí)例
>CREATEDATABASEbook;
7)在數(shù)據(jù)庫里創(chuàng)立一張表
MYSQL實(shí)例
>CREATETABLEusers ( >username VARCHAR(20),//NOT NULL 設(shè)置不允許為空 >sex CHAR(1), >birth DATETIME);
8)顯示表的布局?
MYSQL實(shí)例
>DESCIRBEusers;
9)給表插入一條數(shù)據(jù)
MYSQL實(shí)例
>INSERT INTO users (username,sex,birth) VALUES('jack','male',NOW());
PHP銜接MySQL數(shù)據(jù)庫
銜接數(shù)據(jù)庫
MYSQL實(shí)例
<?php header('COntent-Type:text/html;charset=utf-8');//設(shè)置頁面編碼,如果文件是gbk編碼,則charset也應(yīng)用gbk //@表示如果出錯(cuò)了,不要報(bào)錯(cuò),直接忽略 //參數(shù):服務(wù)器地址,用戶名和暗碼 echo (!!@mysql_connect('localhost','root','*****'));//1 ?>
我們用雙感嘆號(hào)!!來將資源句柄轉(zhuǎn)換成布爾值,正確輸出1,錯(cuò)誤則輸出錯(cuò)誤信息.而如果前面加了@符號(hào),則忽略錯(cuò)誤信息,不會(huì)輸出錯(cuò)誤信息.MYSQL實(shí)例
對(duì)于差錯(cuò)消息的處理,我們可以使用mysql_error()函數(shù)來輸出差錯(cuò)消息:MYSQL實(shí)例
mysql_connect('localhost','root','****') or die('數(shù)據(jù)庫連接失敗,錯(cuò)誤信息:'.mysql_error());//對(duì)于暗碼錯(cuò)誤的提示:數(shù)據(jù)庫連接失敗,錯(cuò)誤信息:Access denied for user 'root'@'localhost' (using password: YES)
die() 函數(shù)輸出一條消息,并退出當(dāng)前腳本.該函數(shù)是 exit() 函數(shù)的別名.MYSQL實(shí)例
數(shù)據(jù)庫連接參數(shù),可以用常量來存儲(chǔ),這樣就不能被隨意修改,更加平安.MYSQL實(shí)例
<meta charset="utf-8"> <?php //定義常量參數(shù) define('DB_HOST','localhost'); define('DB_USER','root'); define('DB_PWD','345823');//暗碼 $connect = mysql_connect(DB_HOST,DB_USER,DB_PWD) or die('數(shù)據(jù)庫連接失敗,錯(cuò)誤信息:'.mysql_error()); echo $connect;//Resource id #2 ?>
值得注意的是,mysql_connect()括號(hào)內(nèi)的常量可不能加引號(hào),否則肯定出錯(cuò).MYSQL實(shí)例
選擇指定的數(shù)據(jù)庫
MYSQL實(shí)例
<?php define('DB_HOST','localhost'); define('DB_USER','root'); define('DB_PWD','345823');//暗碼 define('DB_NAME','trigkit');//在phpmyadmin創(chuàng)建一個(gè)名為trigkit的數(shù)據(jù)庫 //連接數(shù)據(jù)庫 $connect = mysql_connect(DB_HOST,DB_USER,DB_PWD) or die('數(shù)據(jù)庫連接失敗,錯(cuò)誤信息:'.mysql_error()); //選擇指定數(shù)據(jù)庫 mysql_select_db(DB_NAME,$connect) or die('數(shù)據(jù)庫連接錯(cuò)誤,錯(cuò)誤信息:'.mysql_error());//將表名字故意寫錯(cuò),提示的錯(cuò)誤信息:數(shù)據(jù)庫連接錯(cuò)誤,錯(cuò)誤信息:Unknown database 'trigkt' ?>
通常不需要使用 mysql_close(),因?yàn)橐汛蜷_的非持久連接會(huì)在腳本執(zhí)行完畢后自動(dòng)關(guān)閉MYSQL實(shí)例
mysql_select_db(database,connection):選擇MySQL數(shù)據(jù)庫
獲取記載集
MYSQL實(shí)例
<meta charset="utf-8"> <?php define('DB_HOST','localhost'); define('DB_USER','root'); define('DB_PWD','345823');//暗碼 define('DB_NAME','trigkit'); //連接數(shù)據(jù)庫 $connect = mysql_connect(DB_HOST,DB_USER,DB_PWD) or die('數(shù)據(jù)庫連接失敗,錯(cuò)誤信息:'.mysql_error()); //選擇指定數(shù)據(jù)庫 mysql_select_db(DB_NAME,$connect) or die('數(shù)據(jù)表連接錯(cuò)誤,錯(cuò)誤信息:'.mysql_error()); //從數(shù)據(jù)庫里把表的數(shù)據(jù)提出來(獲取記錄集) $query = "SELECT * FROM class";//在trigkit數(shù)據(jù)庫中新建一張'表' $result = mysql_query($query) or die('SQL錯(cuò)誤,錯(cuò)誤信息:'.mysql_error());//故意將表名寫錯(cuò):SQL錯(cuò)誤,錯(cuò)誤信息:Table 'trigkit.clas' doesn't exist ?>
mysql_query() 函數(shù)執(zhí)行一條 MySQL 查詢.MYSQL實(shí)例
輸出數(shù)據(jù)
MYSQL實(shí)例
<meta charset="utf-8"> <?php define('DB_HOST','localhost'); define('DB_USER','root'); define('DB_PWD','345823');//暗碼 define('DB_NAME','trigkit'); //連接數(shù)據(jù)庫 $connect = mysql_connect(DB_HOST,DB_USER,DB_PWD) or die('數(shù)據(jù)庫連接失敗,錯(cuò)誤信息:'.mysql_error()); //選擇指定數(shù)據(jù)庫,設(shè)置字符集 mysql_select_db(DB_NAME,$connect) or die('數(shù)據(jù)表連接錯(cuò)誤,錯(cuò)誤信息:'.mysql_error()); mysql_query('SET NAMES UTF8') or die('字符集設(shè)置出錯(cuò)'.mysql_error()); //從數(shù)據(jù)庫里把表的數(shù)據(jù)提出來(獲取記錄集) $query = "SELECT * FROM class"; $result = mysql_query($query) or die('SQL錯(cuò)誤,錯(cuò)誤信息:'.mysql_error()); print_r(mysql_fetch_array($result,MYSQL_ASSOC)); ?>
釋放結(jié)果集資源(僅需要在考慮到返回很大的結(jié)果集時(shí)會(huì)占用多少內(nèi)存時(shí)調(diào)用.)MYSQL實(shí)例
<?php mysql_free_result($result); ?>
增編削查
新增數(shù)據(jù)
MYSQL實(shí)例
<?php require 'index.php'; //新增數(shù)據(jù) $query = "INSERT INTO CLASS( name, email, point, regdate) VALUES ( '小明', 'xiaoming@163.com', 100, NOW() )"; @mysql_query($query) or die('新增錯(cuò)誤:'.mysql_error()); ?>
我們將上面的代碼保留為index.php,丟進(jìn)/Applications/MAMP/htdocs/ 文件夾.將上面的代碼保留為demo.php,放進(jìn)同樣的目錄內(nèi).Mac系統(tǒng)獲取文件的路徑很簡(jiǎn)單,只需將文件拉進(jìn)終端即可顯示路徑名.MYSQL實(shí)例
改動(dòng)數(shù)據(jù)
我們假設(shè)要改動(dòng)的數(shù)據(jù)的名稱是小明,id為2,將他的point分?jǐn)?shù)改動(dòng)為80分,代碼如下:MYSQL實(shí)例
<?php require 'index.php'; //改動(dòng)數(shù)據(jù) $query = 'UPDATE class SET point=80 WHERE id=2'; @mysql_query($query); ?>
刪除數(shù)據(jù)
MYSQL實(shí)例
<?php require 'index.php'; //刪除數(shù)據(jù) $query = "DELETE FROM class WHERE id=2"; @mysql_query($query); mysql_close(); ?>
顯示數(shù)據(jù)
MYSQL實(shí)例
<?php require 'index.php'; //顯示數(shù)據(jù) $query = "SELECT id,name,email,regdate FROM class"; $result = mysql_query($query) or die('sql語句差錯(cuò):'.mysql_error()); print_r(mysql_fetch_array($result)); mysql_close(); ?>
或者顯示指定值數(shù)據(jù):MYSQL實(shí)例
$data = mysql_fetch_array($result); echo $data['email'];//顯示email echo $data['name'];//顯示name
其他常用函數(shù)
mysql_fetch_lengths(): 取得成果集中每個(gè)輸出的長(zhǎng)度
mysql_field_name(): 取得成果中指定字段的字段名MYSQL實(shí)例
mysql _fetch_row():從成果集中取得一行作為枚舉數(shù)組
mysql_fetch_assoc(): 從成果集中取得一行作為關(guān)聯(lián)數(shù)組
mysql_fetch_array(): 從成果集中取得一行作為關(guān)聯(lián)數(shù)組,或數(shù)字?jǐn)?shù)組,或二者兼有MYSQL實(shí)例
mysql_num_rows(): 取得成果集中行的數(shù)目
mysql_num_fields():取得成果集中字段的數(shù)目MYSQL實(shí)例
mysql_get_client_info(): 取得 MySQL 客戶端信息
mysql_get_host_info(): 取得 MySQL 主機(jī)信息
mysql_get_proto_info(): 取得 MySQL 協(xié)定信息
mysql_get_server_info(): 取得 MySQL 服務(wù)器信息MYSQL實(shí)例
維易PHP培訓(xùn)學(xué)院每天發(fā)布《Mysql學(xué)習(xí)Mac OS下PHP環(huán)境搭建及PHP操作MySQL常用方法小結(jié)》等實(shí)戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
轉(zhuǎn)載請(qǐng)注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/12619.html