程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 借助PHP的mysql_query()函數來創建MySQL數據庫的教程

借助PHP的mysql_query()函數來創建MySQL數據庫的教程

編輯:關於MYSQL數據庫

以mysql_query()函數作為教程的基礎前提,我們先來看一下mysql_query()的用法:
mysql_query()函數
PHP MySQL 函數庫中,mysql_query() 函數用於向 MySQL 發送並執行 SQL 語句。
對於沒有數據返回結果集的 SQL ,如 UPDATE、DELETE 等在執行成功時返回 TRUE,出錯時返回 FALSE;對於 SELECT,SHOW,EXPLAIN 或 DESCRIBE 語句返回一個資源標識符,如果查詢執行不正確則返回 FALSE。
語法:

resource mysql_query( string query [, resource connection] )

參數說明:

20151216120715208.png (640×80)

提示
如果沒有打開的連接,本函數會嘗試無參數調用 mysql_connect() 函數來建立一個連接
對於返回數據集的查詢,就算返回結果為0(即沒有符合查詢條件的記錄),返回的仍然是資源標示符而不是 FALSE
例子1:

<php
$conn = @mysql_connect("localhost","root","root123");
if (!$conn){
 die("連接數據庫失敗:" . mysql_error());
}
mysql_select_db("test", $conn);
$result = mysql_query("SELECT * WHERE 1=1")
  or die("無效查詢: " . mysql_error());
?> 
該例子查詢語句在 SQL 語法上有錯誤,因此 mysql_query() 執行失敗並返回 FALSE 。
例子2:
<php
$conn = @mysql_connect("localhost","root","root123");
if (!$conn){
  die("連接數據庫失敗:" . mysql_error());
}

mysql_select_db("test", $conn);
mysql_query("set names 'gbk'"); //為避免中文亂碼做入庫編碼轉換
$password = md5("123456"); //原始密碼 12345 經過加密後得到加密後密碼
$regdate = time();  //得到時間戳
$sql = "INSERT INTO user(username, password, email, regdate)VALUES('小王', '$password',
 '[email protected]', $regdate)";

if(!mysql_query($sql,$conn)){
  echo "添加數據失敗:".mysql_error();
} else {
  echo "添加數據成功!";
}
?> 

該例子向 user 表寫入數據,成功返回 TRUE ,否則返回 FALSE(用 ! 符號判斷)。

Create Database 創建數據庫
創建數據庫
CREATE DATABASE 語法用於創建一個數據庫。
語法:

CREATE DATABASE db_name

PHP MySQL 函數庫中,mysql_query() 函數用於向 MySQL 發送並執行 SQL 語句。
創建一個名為 testdb 的數據庫:

<?php
$conn = @mysql_connect("localhost","root","root1234");
if (!$conn){
  die("連接數據庫失敗:" . mysql_error());
}
if (@mysql_query("CREATE DATABASE testdb",$conn)){
  echo "創建數據庫成功!";
} else {
  echo "創建數據庫失敗:" . mysql_error();
}
?>

提示
創建數據庫需要有對應的用戶權限,如root用戶
在實際的虛擬主機空間中,虛擬主機商通常已經創建好了對應的數據庫,故上述例子不一定運行成功
選擇數據庫
要對數據庫或表執行操作時,需要選擇一個數據庫。mysql_select_db() 用於選擇一個數據庫,如果成功,則該函數返回 true,如果失敗則返回 false。
語法:

bool mysql_select_db( string db_name [, resource connection] )

參數說明:

20151216120812287.png (636×77)

具體使用見下面創建數據表例子。
創建數據表
創建數據表 SQL 語法如下:

CREATE TABLE table_name
(
  column1 data_type,
  column2 data_type,
  column3 data_type,
  .......
)

上述語法中,column為字段名,後面為數據類型。
創建一個名為 user 的表:

<?php
$conn = @mysql_connect("localhost","root","root1234");
if (!$conn){
  die("連接數據庫失敗:" . mysql_error());
}

//選擇數據庫
mysql_select_db("test", $conn);

//創建數據表 SQL
$sql = "CREATE TABLE user (
uid mediumint(8),
username varchar(20),
password char(32),
email varchar(40),
regdate int(10)
)";

if(!mysql_query($sql,$conn)){
  echo "創建數據表失敗:". mysql_error();
} else {
  echo "創建數據表成功!";
}
?>

在該例子中,分為 3 個執行步驟:

  1. 創建一個數據庫鏈接
  2. 使用 mysql_select_db() 函數選擇容納該表的數據庫
  3. 使用 mysql_query() 函數創建數據表

在該例子中創建的表有4個字段,並指定了對應的數據對象類型。

建表原則
一般來說,創建數據表有如下注意事項:
原始記錄數據與表的對應關系
表名和字段名應遵循命名語法且應該明確含義
指定字段的數據類型
指定字段的其他如是否非空、是否有默認值等屬性
定義表的屬性如主外鍵、約束、索引等
與其他表的關系
限於篇幅且為控制教程難易度,在此不展開過多討論。
提示
這個建表樣例只是為了演示基本的建表語法,並不完善。實際生產當中,我們還需要給表和字段指定更多的屬性。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved