常用的MySQL資料庫操作sql語句

來源:互聯網
上載者:User

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()");


?>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.