sql语句

1. 分表查询


2. group by(统计)



select name, count(name), sum(score) from myest GROUP BY name

group by 有一个原则,就是 select 后面的所有列中,没有使用聚合函数的列,必须出现在 group by 后面

3.存储过程

什么是存储过程呢?

存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令。 

通俗来讲:存储过程其实就是能完成一定操作的一组SQL语句。

那为什么要用存储过程呢?

(1).存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。

(2).当对数据库进行复杂操作时,可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。

(3).存储过程可以重复使用,可减少数据库开发人员的工作量。

(4).安全性高,可设定只有某些用户才具有对指定存储过程的使用权

4. count,group by, 别名

为什么在group by中不能使用别名

这是因为在SQL执行的时候,WHERE和GROUP语句在字段分类之前就已经执行了,在此期间,别名还没有生效,因此找不到指定别名的字段,报错。(这里需要了解group by, where, select的执行书序)

可以使用子查询解决:

select logindate, count(logindate) from (select rtx, left(logintime_str, 10) as logindate from user_login_info )tt GROUP BY logindate

 5. 每个子查询 都要一个别名 (mysql) Every derived table must have its own alias

select rtx from (select rtx, loginip from user_login_info ORDER BY rtx)tt


6. 向表中插入元素

6.1 insert into mytest values(30, "fish", 0, "1985")  //0所在的列是主键,自增

6.2 字符串中包含双引号和 反斜杠 \

insert into mytest values (30, "{\"value\" : \"200\"}", 0, 1980)

value = value.replace('\\', '\\\\').replace('"', '\\"')

6.3 插入空值

空值和NULL的区别

1:空值('')是不占用空间的  2: MySQL中的NULL其实是占用空间的。
insert into mytest values("", "fish", 0, "1985");

求属性列的补集

 select p.pid from  product0485 p  where p.pid  not in (select o.pid from orders0485 o)


7.模糊查询like

like 的通配符有两种

%(百分号):代表零个、一个或者多个字符。

_(下划线):代表一个数字或者字符


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值