A-A+

常用的MySQL数据库操作sql语句

2017年10月24日 PHP技术文章 暂无评论 阅读 0 views 次

对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.代码如下:

  1. <?php   
  2. $conn = @ mysql_connect("localhost""root""root");   
  3. if ($conn)   
  4.  echo "成功";   
  5. ?>   
  6. //B.   
  7. <?php   
  8.    
  9. $conn = @ mysql_connect("localhost""root""root"or die("连接错误");   
  10. ?>   

PHP打开MySQL数据库实例,代码如下:

  1. <?php   
  2. $conn = @ mysql_connect("localhost""root""root"or die("连接错误");   
  3. mysql_select_db("newdb"$conn);   
  4. ?>   

2.如何去执行一个SQL语句

格式:mysql_query(SQL语句,连接标识符);

$sql = "SELECT * FROM `test`";

$result = @ mysql_query($sql,$conn) or die (mysql_error());

实例,测试后插入成功,但是不能插入中文,应该是编码问题,代码如下:

  1. <?php   
  2. $conn = @ mysql_connect("localhost""root""root"or die("连接错误");   
  3. mysql_select_db("newdb"$conn);   
  4. $sql = "INSERT INTO test (id,name,regdate) values (NULL,'haha',now())";   
  5. mysql_query($sql$conn);   
  6. ?>   

3.两种查询(读取)函数array / row的区别.

格式:mysql_fetch_row(result);

实例,代码如下:

  1. <?php   
  2. $conn = @ mysql_connect("localhost""root""root"or die("连接错误");   
  3. mysql_select_db("newdb"$conn);   
  4. $sql = "SELECT * FROM `test`";   
  5. $read = mysql_query($sql$conn);   
  6. $row = mysql_fetch_row($read);   
  7. print_r($row);   
  8. ?>   

格式:mysql_fetch_array(result);

实例,代码如下:

  1. <?php   
  2. $conn = @ mysql_connect("localhost""root""root"or die("连接错误");   
  3. mysql_select_db("newdb"$conn);   
  4. $sql = "SELECT * FROM `test`";   
  5. $read = mysql_query($sql$conn);   
  6. $row = mysql_fetch_array($read);   
  7. print_r($row);   
  8. echo $row['0'];   
  9. ?>   

循环输出全部数据,代码如下:

  1. <?php   
  2. $conn = @ mysql_connect("localhost""root""root"or die("连接错误");   
  3. mysql_select_db("newdb"$conn);   
  4. $sql = "SELECT * FROM `test`";   
  5. $rr = mysql_query($sql$conn);   
  6. while ($row = @ mysql_fetch_array($rr)) {   
  7.  echo $row['id'] . "<br>"//输出时候请用“''”包含字段,记住,不管是$_POST[]还是get,session,数组,什么的,[]里都要有''   
  8. }   
  9. mysql_close();   
  10. ?>   

4.其他常用MySQL函数介绍

mysql_num_rows 用于计算查询结果中所得行的数目

实例,代码如下:

  1. <?php   
  2. $conn = @ mysql_connect("localhost""root""root"or die("连接错误");   
  3. mysql_select_db("newdb"$conn);   
  4. $sql = "SELECT * FROM `test`";   
  5. $rr = mysql_query($sql$conn);   
  6. while ($row = @ mysql_fetch_array($rr)) {   
  7.  //echo $row['id']."<br>"; //输出时候请用“''”包含字段,记住,不管是$_POST[]还是get,session,数组,什么的,[]里都要有''   
  8. }   
  9. echo mysql_num_rows($rr);   
  10. mysql_close();   
  11. ?>   

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知识.

实例,代码如下:

  1. <?php   
  2.    
  3. /* 文件名:class_mysql_operating.php  
  4.  * 文件描述:用于PHP对MySQL数据库的操作类  
  5.  * 最后修改时间:18:13 2010-5-15  
  6.  * 最后修改内容:新建文件  
  7.  * 修改人:if0else1  
  8.  */   
  9. class MySQL_Operating {   
  10.  private $mysql_url//MySQL数据库 地址 成员属性。   
  11.  private $mysql_id//MySQL数据库 ID 成员属性。   
  12.  private $mysql_password//MySQL数据库 密码 成员属性。   
  13.  private $database//MySQL数据库 名 成员属性。   
  14.  private $ut//字符编码。   
  15.  //初始化数据方法   
  16.  function __construct($mysql_url$mysql_id$mysql_password$database$ut) {   
  17.   $this->mysql_url = $mysql_url;   
  18.   $this->mysql_id = $mysql_id;   
  19.   $this->mysql_password = $mysql_password;   
  20.   $this->database = $database;   
  21.   $this->ut=$ut;   
  22.   $this->conn();   
  23.  }   
  24.  //打开数据库连接表方法   
  25.  function conn() {   
  26.   $database_tab = mysql_connect($this->mysql_url, $this->mysql_id, $this->mysql_password) or die(mysql_error());   
  27.   mysql_select_db($this->database, $database_tabor die("数据库连接错误!<br />当前连接数据库名:<b>" . $this->database . "</b>");   
  28.   mysql_query("SET NAMES '$this->ut'");   
  29.  }   
  30.  //执行SQL语句方法   
  31.  function run_sql($sql) {   
  32.   return mysql_query($sql);   
  33.  }   
  34.  /*以下为功能方法区*/   
  35.  //SQL插入数据方法   
  36.  function fn_insert($table$field$value) {   
  37.   $this->run_sql("INSERT INTO".$table."(".$field.") VALUES (".$value.")");  //phpfensi.com   
  38.  }   
  39. }   
  40. $mysql_operathing = new MySQL_Operating('localhost', 'root', 'root', 'j001', "GBK");   
  41. $mysql_operathing->fn_insert("`gb`","`id`,`user`,`title`,`content`,`update`","NULL,'插','进','去',NOW()");   
  42.    
  43. ?>  
标签:

给我留言