程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 常用的MySQL數據庫操作sql語句

常用的MySQL數據庫操作sql語句

編輯:MySQL綜合教程

對mysql數據庫操作包括有,數據查詢,保存數據,更新數據,刪除數據,這些都是數據庫最基本也是最常用的語句了,下面我給大家一一介紹一下,希望給我帶來好運。

SELECT 查詢語句和條件語句
INSERT 插入語句
UPDATE 更新語句(修改語句)
DELETE 刪除語句

書寫標准:所有SQL操作語句使用大寫字母書寫,其他均為小寫。

練習數據庫:newdb
練習表(表名test)
字段:
id uid  regdate remark
1  張三 NOW()   學生
2  李四         學生
3  王五         工人
4  趙六         學生


1.查詢語句和條件語句
注意:SQL語句中的“`” != “'”。
格式:SELECT `查詢字段` FROM `表名` WHERE `條件`
查詢字段:可以使用通配符“*”、字段名、字段別名。
表名:數據庫.表名、表名。
常用條件:= 等於、<> 不等於、IN 包含、NOT IN 不包含、LIKE 匹配、BETWEEN 在范圍、NOT BETWEEN 不在范圍、< 、>
條件運算:AND、OR、( )

實例(代表性)
普通查詢:SELECT * FROM `test` WHERE 1 (查詢全部,WHERE也可以省略)
條件查詢:SELECT * FROM `test` WHERE `id` =2 (id=2為條件,可以將條件換為其他條件使用)
          SELECT * FROM `test` WHERE `id` IN (1,2,4) (使用條件語句IN,輸出包含id為1,2,3的數據,NOT IN反之)
          SELECT * FROM `test` WHERE `uid` LIKE "%王%" (應為uid字段是使用varchar型,所以條件要用“"%王%",匹配查詢這可做模糊查詢”)
          SELECT * FROM `test` WHERE `id` BETWEEN 1 and 3 (相當於輸出id=1-3的數據,一個范圍,NOT BETWEEN反之)
          SELECT * FROM `test` WHERE `id` =2 and `remark` = "學生" (兩個條件必須滿足才能輸出)

 

2.排序、分組、指針查詢、計算
分組語句:GROUP BY 字段
排序語句:ORDER BY 字段,字段ASC/DESC
指針查詢:LIMIT 初始值,結束值
實例(代表性)
分組查詢:SELECT * FROM `test` GROUP BY `remark` (將remark中的所有不重復的信息分組輸出)
排序查詢:SELECT * FROM `test` ORDER BY `regdate` ASC [,id] (按最早注冊時間輸出,DESC反之最新注冊,在時間相同時,id來排序)
指針查詢:SELECT * FROM `test` LIMIT 0,3 (自定義取多少條信息,下標為0,此函數重要,對分頁有用)
注意:三個函數排列順序為以上排列。(優先級)

計算:
COUNT(*) 統計函數 SELECT COUNT(*) FROM `test` WHERE 1
MAX(*) 最大值函數 SELECT MAX(`id`) FROM `test` WHERE 1
MIN(*) 最小值函數 SELECT MIN(`regdate`) FROM `test` WHERE 1
AVG(*) 平均值函數
SUM(*) 累計值函數

 

3.INSERT插入語句
格式:INSERT INTO `表名` (字段...,...) values (值...,...)
實例:INSERT INTO `test` (`id`, `uid`, `regdate`, `remark`) VALUES (NULL, '小方', NOW(), '學生') (id字段自增,插入數據應寫為NULL)

 

4.UPDATE更新語句(修改語句)
格式:UPDATE `表名` SET `字段` = 值 WHERE 條件 LIMIT
實例:UPDATE  `test` SET  `uid` =  "小方" WHERE  `id` =4

 

5.DELETE刪除語句(慎用)
格式:DELETE FROM `表名` WHERE 條件
實例:DELETE FROM `test` WHERE `id` =3

--------------------------------------------------------

PHP+MySQL的基本應用

1.PHP與MySQL建立連接
PHP連接MySQL函數
mysql_connect:開啟MySQL連接
mysql_select_db:打開一個數據庫
@和or die 隱藏錯誤 和 條件顯示

格式:mysql_connect("主機","用戶名","密碼");
      mysql_select_db("打開數據庫",連接標識符);

如果不特別聲明連接標識符,則默認為上一次打開的連接。

PHP連接MySQL數據庫實例:
A.

 代碼如下 復制代碼

<?php
$conn = @ mysql_connect("localhost", "root", "root");
if ($conn)
 echo "成功";
?>
B.
<?php


$conn = @ mysql_connect("localhost", "root", "root") or die("連接錯誤");
?>

PHP打開MySQL數據庫實例

 代碼如下 復制代碼

<?php


$conn = @ mysql_connect("localhost", "root", "root") or die("連接錯誤");
mysql_select_db("newdb", $conn);
?>

2.如何去執行一個SQL語句
格式:mysql_query(SQL語句,連接標識符);
      $sql = "SELECT * FROM `test`";
      $result = @ mysql_query($sql,$conn) or die (mysql_error());
實例(測試後插入成功,但是不能插入中文,應該是編碼問題):

 代碼如下 復制代碼

<?php


$conn = @ mysql_connect("localhost", "root", "root") or die("連接錯誤");
mysql_select_db("newdb", $conn);

$sql = "INSERT INTO test (id,name,regdate) values (NULL,'haha',now())";
mysql_query($sql, $conn);
?>

3.兩種查詢(讀取)函數array / row的區別
格式:mysql_fetch_row(result);
實例:

 代碼如下 復制代碼

<?php


$conn = @ mysql_connect("localhost", "root", "root") or die("連接錯誤");
mysql_select_db("newdb", $conn);

$sql = "SELECT * FROM `test`";
$read = mysql_query($sql, $conn);

$row = mysql_fetch_row($read);
print_r($row);
?>

格式:mysql_fetch_array(result);
實例:

 代碼如下 復制代碼

<?php


$conn = @ mysql_connect("localhost", "root", "root") or die("連接錯誤");
mysql_select_db("newdb", $conn);

$sql = "SELECT * FROM `test`";
$read = mysql_query($sql, $conn);

$row = mysql_fetch_array($read);
print_r($row);
echo $row['0'];
?>

循環輸出全部數據

 代碼如下 復制代碼

<?php


$conn = @ mysql_connect("localhost", "root", "root") or die("連接錯誤");
mysql_select_db("newdb", $conn);

$sql = "SELECT * FROM `test`";
$rr = mysql_query($sql, $conn);

while ($row = @ mysql_fetch_array($rr)) {
 echo $row['id'] . "<br>"; //輸出時候請用“''”包含字段,記住,不管是$_POST[]還是get,session,數組,什麼的,[]裡都要有''
}
mysql_close();
?>

4.其他常用MySQL函數介紹
mysql_num_rows  用於計算查詢結果中所得行的數目
實例:

 代碼如下 復制代碼

<?php


$conn = @ mysql_connect("localhost", "root", "root") or die("連接錯誤");
mysql_select_db("newdb", $conn);

$sql = "SELECT * FROM `test`";
$rr = mysql_query($sql, $conn);

while ($row = @ mysql_fetch_array($rr)) {
 //echo $row['id']."<br>"; //輸出時候請用“''”包含字段,記住,不管是$_POST[]還是get,session,數組,什麼的,[]裡都要有''
}
echo mysql_num_rows($rr);
mysql_close();
?>

mysql_insert_id 傳回最後一次使用 INSERT 指令的 ID。
mysql_tablename 取得數據庫名稱
mysql_error   返回錯誤信息
mysql_close 關閉 MySQL 鏈接


上面代碼沒有條件,我們可以成一個數據庫操作類

一個PHP+MySQL類

1.鞏固學習常用MySQL函數。
2.使用類封裝常用SQL操作。
3.認識面向對象在開發中的重要作用。

----------------------------------------------

用到的知識:
1.private 私有屬性關鍵字。
2.__construct() 初始化方法。
3.常用MySQL函數。
4.常用SQL知識。

實例:

 代碼如下 復制代碼

<?php


/* 文件名:class_mysql_operating.php
 * 文件描述:用於PHP對MySQL數據庫的操作類
 * 最後修改時間:18:13 2010-5-15
 * 最後修改內容:新建文件
 * 修改人:if0else1
 */

class MySQL_Operating {
 private $mysql_url; //MySQL數據庫 地址 成員屬性。
 private $mysql_id; //MySQL數據庫 ID 成員屬性。
 private $mysql_password; //MySQL數據庫 密碼 成員屬性。
 private $database; //MySQL數據庫 名 成員屬性。
 private $ut; //字符編碼。

 //初始化數據方法
 function __construct($mysql_url, $mysql_id, $mysql_password, $database, $ut) {
  $this->mysql_url = $mysql_url;
  $this->mysql_id = $mysql_id;
  $this->mysql_password = $mysql_password;
  $this->database = $database;
  $this->ut=$ut;
  $this->conn();
 }

 //打開數據庫連接表方法
 function conn() {
  $database_tab = mysql_connect($this->mysql_url, $this->mysql_id, $this->mysql_password) or die(mysql_error());
  mysql_select_db($this->database, $database_tab) or die("數據庫連接錯誤!<br />當前連接數據庫名:<b>" . $this->database . "</b>");
  mysql_query("SET NAMES '$this->ut'");
 }

 //執行SQL語句方法
 function run_sql($sql) {
  return mysql_query($sql);
 }

 /*以下為功能方法區*/
 //SQL插入數據方法
 function fn_insert($table, $field, $value) {
  $this->run_sql("INSERT INTO".$table."(".$field.") VALUES (".$value.")");
 }

}

$mysql_operathing = new MySQL_Operating('localhost', 'root', 'root', 'j001', "GBK");
$mysql_operathing->fn_insert("`gb`","`id`,`user`,`title`,`content`,`update`","NULL,'插','進','去',NOW()");


?>

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