PHP MySQL 數(shù)據(jù)庫 -- 學(xué)習(xí)筆記

PHP MySQL 數(shù)據(jù)庫
1灭红、創(chuàng)建數(shù)據(jù)庫鏈接
注釋:要想鏈接到一個數(shù)據(jù)庫侣滩,首先,必須創(chuàng)建到達(dá)數(shù)據(jù)庫的連接变擒,創(chuàng)建函數(shù):mysql_connect()

語法:mysql_connect(servername,username,password);
相關(guān)參數(shù):
1君珠、servername : 可選。規(guī)定要連接的服務(wù)器娇斑。默認(rèn)是 "localhost:3306"策添。
2、username : 可選毫缆。規(guī)定登錄所使用的用戶名唯竹。默認(rèn)值是擁有服務(wù)器進(jìn)程的用戶的名稱。
3苦丁、password : 可選浸颓。規(guī)定登錄所用的密碼。默認(rèn)是 ""旺拉。

<?php
$con = mysql_connect("localhost","peter","abc123"); //目標(biāo)服務(wù)器产上,用戶名,密碼
if (!$con) {
  die('Could not connect: ' . mysql_error()); //如果鏈接失敗蛾狗,則知心話 die() 部分
}
//腳本一結(jié)束晋涣,就會關(guān)閉連接。如需提前關(guān)閉連接沉桌,請使用 mysql_close() 函數(shù)谢鹊。
mysql_close($con);
?>

2、創(chuàng)建數(shù)據(jù)庫
CREATE DATABASE 語句用于在 MySQL 中創(chuàng)建數(shù)據(jù)庫留凭。
語法:CREATE DATABASE database_name

為了讓 PHP 執(zhí)行上面的語句佃扼,我們必須使用 mysql_query() 函數(shù)。此函數(shù)用于向 MySQL 連接發(fā)送查詢或命令冰抢。

<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con) {
  die('Could not connect: ' . mysql_error());
}

if (mysql_query("CREATE DATABASE my_db",$con)) { // 創(chuàng)建了一個名為 "my_db" 的數(shù)據(jù)庫
  echo "Database created";
} else {
  echo "Error creating database: " . mysql_error();
}

mysql_close($con);  //關(guān)閉鏈接
?>

3松嘶、創(chuàng)建表
CREATE TABLE 用于在 MySQL 中創(chuàng)建數(shù)據(jù)庫表艘狭。

語法:
CREATE TABLE table_name (
column_name1 data_type,
column_name2 data_type,
column_name3 data_type,
.......
)
注釋:為了執(zhí)行此命令挎扰,我必須向 mysql_query() 函數(shù)添加 CREATE TABLE 語句。

<?php
$con = mysql_connect("localhost","peter","abc123"); //創(chuàng)建鏈接
if (!$con) {
  die('Could not connect: ' . mysql_error());
}

if (mysql_query("CREATE DATABASE my_db",$con)) { //創(chuàng)建名為 my_db 的數(shù)據(jù)庫
  echo "Database created";
} else {
  echo "Error creating database: " . mysql_error();
}

mysql_select_db("my_db", $con); //通過 mysql_select_db() 函數(shù)選取目標(biāo)數(shù)據(jù)庫巢音。
$sql = "CREATE TABLE Persons  ( //創(chuàng)建表
  FirstName varchar(15), //必須規(guī)定字段的最大長度 (15)
  LastName varchar(15), //必須規(guī)定字段的最大長度 (15)
  Age int
)";
mysql_query($sql,$con); //為了執(zhí)行創(chuàng)建命令遵倦,必須向 mysql_query() 函數(shù)添加 CREATE TABLE 語句。

mysql_close($con); //關(guān)閉鏈接
?>
注釋:當(dāng)您創(chuàng)建 varchar 類型的數(shù)據(jù)庫字段時官撼,必須規(guī)定該字段的最大長度梧躺,例如:varchar(15)。
PHP數(shù)據(jù)庫創(chuàng)建表時的可用數(shù)據(jù)類型.png

4、主鍵字段 和 自動遞增字段

每一個表都應(yīng)該有一個主鍵字段掠哥。
主鍵用于對表中的行進(jìn)行唯一標(biāo)識巩踏。每個主鍵值在表中必須是唯一的。
主鍵字段不能為空续搀,這是由于數(shù)據(jù)庫引擎需要一個值來對記錄進(jìn)行定位塞琼。
主鍵字段永遠(yuǎn)要被編入索引。
必須對主鍵字段進(jìn)行索引禁舷,這樣數(shù)據(jù)庫引擎才能快速定位給予該鍵值的行彪杉。

//主鍵字段通常是 ID 號,且通常使用 AUTO_INCREMENT 設(shè)置牵咙。
//AUTO_INCREMENT 會在新記錄被添加時逐一增加該字段的值派近。
//要確保主鍵字段不為空,我們必須向該字段添加 NOT NULL 設(shè)置洁桌。
$sql = "CREATE TABLE Persons  (
  personID int NOT NULL AUTO_INCREMENT, 
  PRIMARY KEY(personID), //把 personID 字段設(shè)置為主鍵字段渴丸。
  FirstName varchar(15),
  LastName varchar(15),
  Age int
)";
mysql_query($sql,$con);

5、向數(shù)據(jù)庫表插入數(shù)據(jù)
INSERT INTO 語句用于向數(shù)據(jù)庫表添加新記錄另凌。

語法:
INSERT INTO table_name (相關(guān)參數(shù)一曙强,相關(guān)參數(shù)二,...)
VALUES (value1, value2,....)

注釋:SQL 語句對大小寫不敏感途茫。INSERT INTO 與 insert into 相同碟嘴。

<?php
$con = mysql_connect("localhost","peter","abc123"); //創(chuàng)建數(shù)據(jù)庫鏈接
if (!$con) {
  die('Could not connect: ' . mysql_error());
}

if (mysql_query("CREATE DATABASE my_db",$con)) { //創(chuàng)建名為 my_db 的數(shù)據(jù)庫
  echo "Database created";
} else {
  echo "Error creating database: " . mysql_error();
}

mysql_select_db("my_db", $con); //通過 mysql_select_db() 函數(shù)選取目標(biāo)數(shù)據(jù)庫。

mysql_query("INSERT INTO Persons (FirstName, LastName, Age)  //向Persons 的表中插入數(shù)據(jù)
VALUES ('Peter', 'Griffin', '35')");

mysql_query("INSERT INTO Persons (FirstName, LastName, Age) //向Persons 的表中插入數(shù)據(jù)
VALUES ('Glenn', 'Quagmire', '33')");

mysql_close($con); //關(guān)閉數(shù)據(jù)庫鏈接
?>
為了讓 PHP 執(zhí)行該語句囊卜,我們必須使用 mysql_query() 函數(shù)娜扇。該函數(shù)用于向 MySQL 連接發(fā)送查詢或命令。

6栅组、將表單中的數(shù)據(jù)插入數(shù)據(jù)庫

表單:
<html>
<body>

<form action="insert.php" method="post">
Firstname: <input type="text" name="firstname" />
Lastname: <input type="text" name="lastname" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>

</body>
</html>

當(dāng)用戶點擊上例中 HTML 表單中的提交按鈕時雀瓢,表單數(shù)據(jù)被發(fā)送到 "insert.php"。"insert.php" 文件連接數(shù)據(jù)庫玉掸,并通過 $_POST 變量從表單取回值刃麸。然后,mysql_query() 函數(shù)執(zhí)行 INSERT INTO 語句司浪,一條新的記錄會添加到數(shù)據(jù)庫表中泊业。

"insert.php" 頁面的代碼如下:
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con) {
  die('Could not connect: ' . mysql_error());
}

if (mysql_query("CREATE DATABASE my_db",$con)) { //創(chuàng)建名為 my_db 的數(shù)據(jù)庫
  echo "Database created";
} else {
  echo "Error creating database: " . mysql_error();
}

mysql_select_db("my_db", $con); //選定目標(biāo)數(shù)據(jù)庫

$sql="INSERT INTO Persons (FirstName, LastName, Age) //插入數(shù)據(jù)
VALUES('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";

if (!mysql_query($sql,$con)) {
  die('Error: ' . mysql_error());
}
echo "1 record added";

mysql_close($con)
?>

7、從數(shù)據(jù)庫中選取數(shù)據(jù)
SELECT 語句用于從數(shù)據(jù)庫中選取數(shù)據(jù)啊易。

語法:SELECT column_name(s) FROM table_name
注釋:SQL 語句對大小寫不敏感吁伺。SELECT 與 select 等效。

<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con) {
  die('Could not connect: ' . mysql_error());
}

mysql_select_db("my_db", $con);

$result = mysql_query("SELECT * FROM Persons");

while($row = mysql_fetch_array($result)) {
  echo $row['FirstName'] . " " . $row['LastName'];
  echo "<br />";
}

mysql_close($con);
?>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末租谈,一起剝皮案震驚了整個濱河市篮奄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖窟却,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件昼丑,死亡現(xiàn)場離奇詭異,居然都是意外死亡夸赫,警方通過查閱死者的電腦和手機矾克,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來憔足,“玉大人胁附,你說我怎么就攤上這事∽艺茫” “怎么了控妻?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長揭绑。 經(jīng)常有香客問我弓候,道長,這世上最難降的妖魔是什么他匪? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任菇存,我火速辦了婚禮,結(jié)果婚禮上邦蜜,老公的妹妹穿的比我還像新娘依鸥。我一直安慰自己,他們只是感情好悼沈,可當(dāng)我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布贱迟。 她就那樣靜靜地躺著,像睡著了一般絮供。 火紅的嫁衣襯著肌膚如雪衣吠。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天壤靶,我揣著相機與錄音缚俏,去河邊找鬼。 笑死贮乳,一個胖子當(dāng)著我的面吹牛忧换,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播塘揣,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼包雀,長吁一口氣:“原來是場噩夢啊……” “哼宿崭!你這毒婦竟也來了亲铡?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎奖蔓,沒想到半個月后赞草,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡吆鹤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年厨疙,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片疑务。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡沾凄,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出知允,到底是詐尸還是另有隱情撒蟀,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布温鸽,位于F島的核電站保屯,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏涤垫。R本人自食惡果不足惜姑尺,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蝠猬。 院中可真熱鬧切蟋,春花似錦、人聲如沸榆芦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽歧杏。三九已至镰惦,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間犬绒,已是汗流浹背旺入。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留凯力,地道東北人茵瘾。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像咐鹤,于是被迫代替她去往敵國和親拗秘。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內(nèi)容

  • MySQL 數(shù)據(jù)庫常用命令 1祈惶、MySQL常用命令 create database name; 創(chuàng)建數(shù)據(jù)庫 use...
    55lover閱讀 4,772評論 1 57
  • 1.MySQL數(shù)據(jù)庫 2.SQL語句 第一節(jié)課 ###1(MySQL數(shù)據(jù)庫)數(shù)據(jù)庫概念.avi 5...
    碼了個農(nóng)啵閱讀 1,194評論 1 16
  • 什么是數(shù)據(jù)庫雕旨? 數(shù)據(jù)庫是存儲數(shù)據(jù)的集合的單獨的應(yīng)用程序扮匠。每個數(shù)據(jù)庫具有一個或多個不同的API,用于創(chuàng)建凡涩,訪問棒搜,管理...
    chen_000閱讀 4,030評論 0 19
  • 1.MySQL是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL AB 公司開發(fā)活箕,目前屬于 Oracle 旗下產(chǎn)品力麸。My...
    黃花菜已涼閱讀 4,563評論 3 60
  • 文/阿絲蕾 圖/優(yōu)美圖 十六歲的黎的世界在兩具棺材掩埋于塵土后分崩離析,挖了兩天兩夜土坑的他育韩,疲憊不堪克蚂,...
    阿絲蕾閱讀 300評論 2 0