SQL自学笔记

前言

重新开始学习SQL的第一天:
找到了coursera的SQL课,上完(付费)可以领证书的,因为市面上没有SQL的证书,所以我觉得可以刚好作为SQL掌握甚至精通的证明,刚刚试看了几集,感觉不错,还有在线的SQL工具可以练习,不用打开自己的cmd窗口了。


1.SELECT

用来根据列名和条件筛选列

SELECT 列名1,列名2,列名3... FROM 表名
WHERE 筛选条件语句
 ;

Tips:条件语句如果是字符需要加" "
列名加 as 可以改变显示的列名

1.1 COUNT

用来检索与查询条件匹配的行数
查询整个表的行数:

SELECT COUNT(*) FROM 表名 
WHERE 筛选条件语句
;

按条件查询:

SELECT COUNT(列名) FROM 表名 
WHERE 筛选条件语句
;

Tips:
COUNT括号中只能放一个列名;
COUNT不会把值为NULL的记录计入

1.2 DISTINCT

用来去重,即去掉所有重复的内容(例如名字),是对后面所有列都有效

SELECT DISTINCT 列名1,列名2,列名3... FROM 表名
              WHERE 筛选条件语句
 ;

与COUNT结合使用:

SELECT COUNT(DISTINCT 列名) FROM 表名
              WHERE 筛选条件语句
 ;

Tips:此时DISTINCT后只能放一个列名
与if结合使用:

SELECT
    count(*) as total_pv,
    sum(IF((score is NULL),0,1)) as complete_pv,
    COUNT(distinct if(submit_time is not null, exam_id, null)) as complete_exam_cnt
FROM
    exam_record
1.3 LIMIT

用来从表的顶部检索特定数量的行

SELECT 列名1,列名2,列名3... FROM 表名 
WHERE 筛选条件语句
LIMIT 取出的数量 OFFSET(抵消) 前几行           
;

Tips:注意LIMIT和WHERE的顺序

2.INSERT

用来插入某行或多行数据

INSERT INTO 表名 (列名1, 列名2, ... )
VALUES (值1, 值2, ... ),(值1, 值2, ... ), ...
;

3.UPDATE

用来插入某行或多行数据

UPDATE 表名
SET 列1 = 值1, 列2 = 值2, ...
WHERE 筛选条件语句
;

4.DELETE

用来插入某行或多行数据

DELETE FROM 表名
WHERE 筛选条件语句
;

Tips:WHERE语句后面可以加IN()

5.HAVING&WHERE

https://wenku.baidu.com/view/1a16a16a3968011ca3009185.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值