常用的MySQL数据库操作sql语句
对mysql数据库操作包括有,数据查询,保存数据,更新数据,删除数据,这些都是数据库最基本也是最常用的语句了,下面我给大家一一介绍一下,希望给我带来好运.
SELECT 查询语句和条件语句
INSERT 插入语句
UPDATE 更新语句(修改语句)
DELETE 删除语句
书写标准:所有SQL操作语句使用大写字母书写,其他均为小写.
练习数据库:newdb
练习表(表名test)
字段:
- iduidregdateremark
- 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(*)统计函数SELECTCOUNT(*)FROM`test`WHERE1
- MAX(*)最大值函数SELECTMAX(`id`)FROM`test`WHERE1
- MIN(*)最小值函数SELECTMIN(`regdate`)FROM`test`WHERE1
- 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")ordie("连接错误");
- ?>
PHP打开MySQL数据库实例,代码如下:
- <?php
- $conn=@mysql_connect("localhost","root","root")ordie("连接错误");
- 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")ordie("连接错误");
- mysql_select_db("newdb",$conn);
- $sql="INSERTINTOtest(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")ordie("连接错误");
- 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")ordie("连接错误");
- 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")ordie("连接错误");
- 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")ordie("连接错误");
- 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,数组,什么的,[]里都要有''
- }
- echomysql_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:132010-5-15
- *最后修改内容:新建文件
- *修改人:if0else1
- */
- classMySQL_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();
- }
- //打开数据库连接表方法
- functionconn(){
- $database_tab=mysql_connect($this->mysql_url,$this->mysql_id,$this->mysql_password)ordie(mysql_error());
- mysql_select_db($this->database,$database_tab)ordie("数据库连接错误!<br/>当前连接数据库名:<b>".$this->database."</b>");
- mysql_query("SETNAMES'$this->ut'");
- }
- //执行SQL语句方法
- functionrun_sql($sql){
- returnmysql_query($sql);
- }
- /*以下为功能方法区*/
- //SQL插入数据方法
- functionfn_insert($table,$field,$value){
- $this->run_sql("INSERTINTO".$table."(".$field.")VALUES(".$value.")");//phpfensi.com
- }
- }
- $mysql_operathing=newMySQL_Operating('localhost','root','root','j001',"GBK");
- $mysql_operathing->fn_insert("`gb`","`id`,`user`,`title`,`content`,`update`","NULL,'插','进','去',NOW()");
- ?>
热门评论