sql基本介绍

2017-02-09  本文已影响19人  ISwiftUI

一、基本的sql操作语句

1、增加,插入

插入数据关键字是INSERT INTO 表名(字段一,字段二,字段三) VALUES(值一,值二,值三);(字段是不需要加引号的,值如果是字符串需要加引号,关键字可以小写,但一般不用);

INSERT  INTO  product  (name,price,type)  VALUES  ("樱",88,"fruit") ;

2、删除

DELETE  FROM   表名   WHERE   条件语句;

3、修改(更新)

UPDATE   表名    SET   字段=“值”   WHERE    条件语句

4、查询

SELECT   *    FROM   表名   WHERE    条件语句
SELECT   *   FROM   `phone`    WHERE    price >= 3000

5、条件语句

条件语句:比较运算符或者是IN()关键字(某个字段在指定的值里面),NOT IN (某个字段不在指定的值里面)
BETWEEN 值1 AND 值2 , 条件语句在值1和值2之间

SELECT   *   FROM    `phone`    WHERE    id     IN (1,8,9);

6、排序

根据条件进行排序:ORDER BY 字段 顺序(正序(ASC)倒序(DESC)),不需要加WHERE

SELECT   *   FROM   `phone`   ORDER   BY   price   DESC
SELECT   *    FROM   `phone`    WHERE    price >= 3000   ORDER     BY    price   DESC

7、限制语句

限制语句:LIMIT 值1,值2;(值不能用括号括起来)(值1:从值1开始查询,不包含值1,值2是查询的个数)
限制语句要放在最后

SELECT   *   FROM   `phone`   LIMIT   3,3
SELECT   *   FROM   `phone`    ORDER   BY   price   DESC   LIMIT   3,2

检索前5个记录行

SELECT   *   FROM   phone    LIMIT   5;

限制语句主要用来做分页:已知:1.每一页显示的条数 (例子:条数2)2.当前页数(例子:当前页3);

数据=LIMIT (当前页-1)*条数,条数

8、模糊查询

模糊查询 LIKE 前面和后面要加%

SELECT   *   FROM   `phone`    WHERE    name    LIKE     "o%" ;
SELECT   name,price    FROM    `phone`    WHERE    name   LIKE    "%e%"   ORDER   BY   price   DESC ;
SELECT   name,price    FROM    `phone`    WHERE    name    LIKE    "%e%"    AND   id>3   ORDER    BY    price    DESC ;
SELECT   *    FROM    product    WHERE    price >= 5    AND    name    LIKE    "%a%" ;

9、关联查询,联表查询

关键字 JOIN ON,这种是内联,跟INNER JOIN ON是一样的

SELECT * FROM phone JOIN product ON phone.id=product.id

左关联:LEFT JOIN ON,以左边的表为主表

SELECT * FROM phone LEFT JOIN product ON phone.id=product.id

右关联:RIGHT JOIN ON,以右边的表为主表

SELECT * FROM phone RIGHT JOIN product ON phone.id=product.id

关键字:AS

SELECT * FROM phone AS ph RIGHT JOIN product AS pr ON ph.id=pr.id;

二、连接数据库

连接数据库语法上:

// PHP Version 5.6.14

给数据库增加数据:

1. 第一步链接数据库

php版本如果是5.5以上的:支持面向对象的写法

$link=mysqli_connect("localhost","root"," ","users");
mysqli_errno(): //判断链接数据库是否有错误
if(mysqli_errno($link)){
//抛出错误
print_r(mysqli_error($link));

}else{

echo"连接数据库成功";

}

第二步写添加sql语句:

$sql="INSERT   INTO   phone   (name,price,type)    VALUES    ('魅族',3500,'64G')";

设置编码格式:
设置编码格式方式一:

mysqli_query($link,"set names utf8");

//设置编码格式方式二:

// mysqli_set_charset($link, "utf8");

第三步执行sql语句,添加数据到数据库:

$res=mysqli_query($link, $sql);

if($res){

echo"添加成功";

}else{

echo"添加失败";

}

关闭数据库

mysqli_close($link);

//5.5或5.5以下的用mysql:面向过程写法,不支持面向对象

//mysql_connect("localhost", "root", "");

//mysql_select_db("users");

三、数据库的增、删、改、查的函数

增加、添加

function    add($sql,$database){

//连接数据库

$link=mysqli_connect("localhost","root","", $database);

//设置编码格式

mysqli_query($link,"set names utf8");

//执行sql语句

$res=mysqli_query($link, $sql);

//获取到添加数据的id

//echo mysqli_insert_id($link);

//获取前一次 MySQL 操作所影响的记录数

//echo mysqli_affected_rows($link);

return    $res;

}

//调用函数

//$sql="INSERT INTO phone (name,price,type) VALUES ('华为',2569,'p9')";

//$res=add($sql,"users");

//if($res){

//echo "添加成功";

//}else{

//echo "添加失败";

//}
删除

function   delete($sql,$database){

//连接数据库

$link=mysqli_connect("localhost","root","", $database);

//执行sql语句

$res=mysqli_query($link, $sql);

return    $res;

}

//调用删除

//$sql="DELETE FROM phone WHERE type='64G'";

//$res=delete($sql, "users");

//if($res){

//echo "删除成功";

//}else{

//echo "删除失败";

//}
更新

function   update($sql,$database){

//连接数据库

$link=mysqli_connect("localhost","root","", $database);

//设置编码格式

mysqli_query($link,"set names utf8");

//执行sql语句

$res=mysqli_query($link, $sql);

return     $res;

}

//调用更新

//$sql="UPDATE phone SET name='金米' WHERE id=8";

//$res=update($sql,"users");

//if($res){

//echo "更新成功";

//}else{

//echo "更新失败";

//}
查询
只能获取一条数据的函数:

function   getOne($sql,$database){

//连接数据库

$link=mysqli_connect("localhost","root","", $database);

//设置编码格式

mysqli_query($link,"set names utf8");

//执行sql语句,获取结果集

$result=mysqli_query($link, $sql);

//通过结果集拿到结果方式一:

$list=mysqli_fetch_assoc($result);//常用,关联数组的形式

//通过结果集拿到结果方式二:

//$list=mysqli_fetch_row($result);//索引数组的形式

//通过结果集拿到结果方式三:

//$list=mysqli_fetch_array($result);//索引数组和关联数组的形式结合

//通过结果集拿到结果方式四:

//$list=mysqli_fetch_object($result);//对象的格式

//获取查询返回的记录数;

$num=mysqli_num_rows($result);

var_dump($num);

//释放结果集

//mysqli_free_result($result);

if($list){

return    $list;

}else{

return    false;

}

}

//调用查询

//$sql="SELECT * FROM phone WHERE id=14";

//$list=getOne($sql, "users");

//print_r($list);
获取多条数据

function     getList($sql,$database){

//连接数据库

$link=mysqli_connect("localhost","root","", $database);

//设置编码格式

mysqli_query($link,"set names utf8");

//执行sql语句,获取结果集

$result=mysqli_query($link, $sql);

//通过结果集拿到结果:

while($list=mysqli_fetch_assoc($result)) {

$arr[]=$list;

}

if(!empty($arr)){

return    $arr;

}else{

return    false;

}

}

//调用查询

//$sql="SELECT * FROM phone WHERE name='华为'";

//$list=getList($sql, "users");

//echo    "<pre>";

//print_r($list);

//echo    "</pre>";
上一篇下一篇

猜你喜欢

热点阅读