一、基础知识(mysql语句)
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 条件语句
* 代表所有字段;不给*可以指定字段,直接给字段名称,多个字段用逗号隔开;
如果要统计查询出来的数据数量就用COUNT关键字来统计 COUNT(*) COUNT(name)
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版本如果是5.5以上的,我们用mysqli来连接数据库,5.5或5.5以下的用mysql来连接数据库
输出php的版本:echo phpinfo(); //PHP Version 5.6.14
给数据库增加数据:
第一步链接数据库
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>";