用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > mysql教程

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

时间:2015-01-23  来源:西部数据  作者:西部数据

对mysql数据库操作包括有,数据查询,保存数据,更新数据,删除数据,这些都是数据库最基本也是最常用的语句了,下面我给大家一一介绍一下,希望给我带来好运.

SELECT 查询语句和条件语句

INSERT 插入语句

UPDATE 更新语句(修改语句)

DELETE 删除语句

书写标准:所有SQL操作语句使用大写字母书写,其他均为小写.

练习数据库:newdb

练习表(表名test)

字段:

  1. id uid  regdate remark 
  2. 1  张三 NOW()   学生 
  3. 2  李四         学生 
  4. 3  王五         工人 
  5. 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,此函数重要,对分页有用)

注意:三个函数排列顺序为以上排列,优先级.

计算:

  1. COUNT(*) 统计函数 SELECT COUNT(*) FROM `test` WHERE 1 
  2. MAX(*) 最大值函数 SELECT MAX(`id`) FROM `test` WHERE 1 
  3. MIN(*) 最小值函数 SELECT MIN(`regdate`) FROM `test` WHERE 1 
  4. AVG(*) 平均值函数 
  5. 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数据库实例:

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

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. mysql_close(); 
  9. ?> 

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. echo mysql_num_rows($rr); 
  9. mysql_close(); 
  10. ?> 

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. $mysql_operathing = new MySQL_Operating('localhost''root''root''j001'"GBK"); 
  40. $mysql_operathing->fn_insert("`gb`","`id`,`user`,`title`,`content`,`update`","NULL,'插','进','去',NOW()"); 
  41.  
  42. ?>
来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
    无相关信息
栏目更新
栏目热门