mysql原生sql语句的使用

1 篇文章 0 订阅

添加数据 (4种方式)

  1. INSERT INTO 表名(`字段名1`,`字段名2`) VALUES(值1,值2)

注意:字段名中使用的引号是反引号,1前面的键,目的就是为了防止关键字报错.

Values后面的值,有的加单引号,有的没加单引号,加单引号的表示是字符串,没加单引号的表示不是字符串类型.

2 一次添加多条

INSERT INTO 表名(字段1,字段名2)  VALUES(值1,值2……),(值1,值2……),……;

删除数据

1.DELETE FROM admin WHERE age=0;

2.DELETE FROM admin WHERE id = 4 or id = 8; id是4和8

3.DELETE FROM admin WHERE sex = 0 AND name=liuxin

4.删除id<6和id>12的数据,小于6就不能大于12了

 DELETE FROM admin WHERE id <6 OR id >12;

5.删除 id <7 和 id>3 数据

 DELETE FROM admin WHERE id<7  AND  id>3;

6.删除存在于指定的集合 in(); NOT IN() 不在这个指定集合范围内

 删除id 为 1,3,5,7,9,11

 DELETE FROM admin WHERE id IN(1,3,5,7,9,11);

修改数据

1.修改admin表中,id=12的这条数据,修改age=30 sex = 1;

UPDATE admin SET age = 30,sex=1 WHERE id = 12;

2.修改 admin表中 age = 25  sex=1 条件是id= 1,3,5,7,9

UPDATE admin SET age=25,sex=1 WHERE id IN(1,3,5,7,9);

3.Is null  字段为null

将age字段改为50,条件是 sex字段值为null

UPDATE admin SET age = 50 WHERE sex IS NULL

4.Is not null  字段不为null

将age 字段改为100,条件是sex字段值不为null

UPDATE admin SET age = 100 WHERE sex IS NOT NULL;

查询

1.查询数据为1,3,5,7,9

SELECT * FROM user WHERE id IN(1,3,5,7,9);

2.查询user表中 age=20并且sex=0的数据

SELECT * FROM user WHERE age = 20 AND sex=0;

3.LIKE 模糊匹配

WHERE 字段 LIKE ‘%a%’;

查询出name字段中有a出现的所有数据

SELECT * FROM user WHERE name LIKE %a%;

4.Count()

查询性别为0的有多少条数据

SELECT COUNT(id) FROM user WHERE sex = 0;

5.between

BETWEEN 值1 AND 值2  查询指定范围

查询id为5到10的数据  

SELECT * FROM user WHERE id BETWEEN 5 AND 10;

排序

按照sex正序排序 sex相同时 按照age倒序排序

SELECT * FROM user  ORDER BY sex ASC,age DESC;

查询所有sex 为女的数据 然后按照id倒序排序

SELECT * FROM user WHERE sex = 0 ORDER BY id DESC;

限制条数

查询所有性别为0的所有数据 按照id倒序排序以后 越过2条取出3条SELECT * FROM user WHERE sex = 0 ORDER BY id DESC LIMIT 2,3;

分组查询

1,查询每一个部门有多少人 ,bumen是个字段 gongzi 字段

SELECT bumen,COUNT(id) FROM gz GROUP BY bumen;

2.查询每一个部门的总工资

SELECT bumen,sum(gongzi) FROM gz GROUP BY bumen;

  1. 查询部门编号大于1的所有部门的总工资大于10000的部门;

HAVING:效率极低,一般使用在分组里面做二次过滤

SELECT bumen,SUM(gongzi) FROM gz WHERE bumen>1 GROUP BY bumen HAVING sum(gongzi) > 10000;

查询条件使用的顺序

SELECT语句 [where条件] [group by条件] [having条件] [order by 条件] [limit 条件]

多表联合查询

SELECT 表1.字段,表2.字段…… FROM 表1,表2 WHERE 表1.字段 = 表2.字段

左链接查询

SELECT 表1.字段,表2.字段 FROM 表1 LEFT JOIN 表2 ON 表1.字段 = 表2.字段

SELECT gz.id,gz.name,gz.gongzi,bm.name FROM gz LEFT JOIN bm ON gz.bumen = bm.id;

右链接查询

SELECT 表1.字段,表2.字段 FROM 表1  RIGHT JOIN 表2 ON 表1.字段 = 表2.字段

SELECT gz.id,gz.name,gz.gongzi,bm.name FROM gz RIGHT JOIN bm ON gz.bumen = bm.id;

//操作数据库

  1. 连接数据库

$link=mysqli_content(127.0.0.1,root,密码) or die(连接数据库失败);

成功返回一个对象,失败返回false.

  1. 选择数据库

$result=Mysqli_select_db($link) or die(连接数据库失败);

  1. 设置字符集

Mysqli_set_charset($link,utf8);

4准备要操作的sql语句

$sql=....;

  1. 发送sql语句

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

成功返回true 失败返回false

6判断并处理结果

注意:在做 增、删、改的时候有影响行。所以判断用mysqli_affected_rows()来判断;

在查询时,会返回查询到的行数,所以用mysqli_num_rows()来判断。

处理结构 当查询数据时,需要将结果对象转为数组

$row=Mysqli_fetch_rows($result)  将结果对象中一行作为索引数组返回。

参数1: 查询成功时返回的结果对象

返回值:返回一个索引数组,当查询没有时返回null;

If($result && mysqli_affter_rows($link)>0){

//操作成功

Echo <script>alert(成功);location=./index.html</script>;

}else{

Echo <script>alert(失败)</script>;

}

7.关闭数据库

Mysqli_close();

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PHP柚子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值