这里写目录标题

  • 查询数据(SELECT)
    • 模糊查询(like)
    • 集合查询(in)
  • 修改数据(update)
  • 删除数据(delete和truncate) drop(删表)
    • delete、truncate、drop的区别
  • 增加数据(INSERT INTO)
  • 必须掌握的关键字查询
    • 1、BETWEEN(两个值之间的数据)
    • 2、AS(别名)
    • 3、Distinct(忽略重复值)
    • 4、SUM(求和)
    • 5、COUNT(计数)
    • 6、AVG(平均值)
    • 7、GROUP BY(分组)
    • 8、ORDER BY(排序)
    • 9、limit(查询结果的数目)
    • 10、having(聚合函数,又需要筛选条件时)
    • 11、max(最大值)
    • 11、min(最小值)
  • 左连接——LEFT JOIN(需掌握)
  • 右连接——RIGHT JOIN
  • 内连接——INNER JOIN(需掌握)
  • 复合条件连接查询——带where条件的连接查询(了解就行)
    • 逻辑运算符(and、or、not)
    • 比较运算符(=、)

查询数据(SELECT)

SELECT 字段名1,字段名2,... FROM 表名
select * from 表名 where 条件;

模糊查询(like)

  1. like
  2. _代表一个任意字符
  3. %代表多个任意字符

查询姓李的学生:SELECT * from student WHERE name like '李%';

集合查询(in)

in,代表是否在这个集合中

查询身高为165,170的学生:SELECT * from student WHERE height in (165,170);

修改数据(update)

update 表名 set 字段名=值

删除数据(delete和truncate) drop(删表)

delete

DELETE FROM 表名 WHERE 字段名 = 值

truncate

truncate 表名(删除所有班级数据,则可以这样写)

drop(删表)

drop 表1名,表2名,...;

delete、truncate、drop的区别

简单来说:
drop用于删表(表中数据会全部删除,无法回滚),
delete和truncate用于删除表中的数据(delete也可删表)。
通过delete删除的数据可以回滚,而truncate删除的则不能。

他们的级别为:drop>truncate>delete
delete操作不会减少表或索引所占用的空间,truncate会将占用的恢复至初始大小。
举个例子:如果设置了自增id,有id为1、2、3的三条数据,如果通过delete全部删除后,下次插入的数据如果没有指定id的话,那它的id会为4
如果通过truncate删除这三条数据的话,那它的id会为1

增加数据(INSERT INTO)

INSERT INTO 表名 (列名1 , … 列名n) VALUES ("值1",...) ;

必须掌握的关键字查询

1、BETWEEN(两个值之间的数据)

查询两个值之间的数据
语法:select * from 表名 where 字段名 between 值 and 值;
查询体重在65-70的学生:
select * FROM student WHERE weight BETWEEN 65 AND 70;

2、AS(别名)

为字段名指定别名
语法:select 字段名1 AS 别名,字段名2 AS 别名,.... from 表名
将字段名name改为别名学生名称显示:
select name AS '学生名称' FROM student

3、Distinct(忽略重复值)

查询时忽略重复值
语法:SELECT DISTINCT 字段名 FROM 表名
查询学生所在的班级有哪些:
select DISTINCT class_id FROM student

4、SUM(求和)

求和
语法:select SUM(字段名) from 表名;
查询学生总身高:
select SUM(height) AS '学生总身高' FROM student;

5、COUNT(计数)

count() 是一个聚合函数,对于返回的结果集,一行行地判断,如果 count 函数的参数不是 NULL,累计值就加 1,否则不加,最后返回累计值。

返回匹配指定条件的行数。
语法:select COUNT(字段名) from 表名;
查询有多少学生:
select count(*) FROM student;

6、AVG(平均值)

计算平均值
语法:select AVG(字段名) from 表名;
计算学生平均身高:
select AVG(height) AS '学生平均身高' FROM student;

7、GROUP BY(分组)

根据一或多个字段对查询结果集进行分组
语法: select 字段名 关键字(字段名) from 表名 group by 字段名;
查询男生、女生各有多少:
SELECT gender,count(id) FROM student GROUP BY gender

8、ORDER BY(排序)

对结果集进行排序
语法:select 字段名 from 表名 order by 字段名 升/降序关键字;

对学生身高降序排列(由高到矮): 倒叙 desc
SELECT * FROM student ORDER BY height desc;

对学生体重升序排列(由轻到重): 升序 asc
SELECT * FROM student ORDER BY weight asc;

9、limit(查询结果的数目)

返回查询结果的数目
语法:select 字段名 from 表名 limit 开始条数,结尾条数;
返回前三条学生信息:
SELECT * FROM student LIMIT 1,3;

10、having(聚合函数,又需要筛选条件时)

当我们用到聚合函数(sum、count等),又需要筛选条件时,having就派上用场了,因为WHERE是在聚合前筛选记录的,having和group by是组合一起再聚合后使用
语法:没有固定语法
查班级人数大于等于3的班级:

SELECT count(*) FROM student GROUP BY class_id HAVING COUNT(id)>=3;

11、max(最大值)

SELECT MAX(column_name) FROM table_name;
MAX() 函数返回指定列的最大值
column_name:列名
table_name:表名

11、min(最小值)

SELECT MIN(column_name) FROM table_name;
MIN() 函数返回指定列的最大值
column_name:列名
table_name:表名

左连接——LEFT JOIN(需掌握)

说明:返回左表中的所有记录和右表中与连接字段相等的记录,如果右表没有匹配的记录,那么就以空(Null)代替显示

语法:select 字段 from 左表表名 左表的变量名(自定义) LEFT JOIN 右表表名 右表的变量名(自定义)on 左表变量名.左表字段=右表变量名.右表字段

右连接——RIGHT JOIN

说明:与左连接相反:返回右表中的所有记录和左表中与连接字段相等的记录,如果左表没有匹配的记录,那么就以空(Null)代替显示。

内连接——INNER JOIN(需掌握)

说明:只返回两个表都与连接字段相等的记录

举例:
1)还是以查询学生及其所在的班级信息:
SELECT * FROM student a INNER JOIN class b on a.class_id=b.id;

复合条件连接查询——带where条件的连接查询(了解就行)

说明:连接查询还可以与where条件联用

举例:
1)查询性别为男的学生及其所在的班级信息:
SELECT * FROM student a LEFT JOIN class b on a.class_id=b.id WHERE a.gender='male';

逻辑运算符(and、or、not)

比较运算符(=、)

  1. 等于 =
  2. 小于 <
  3. 大于 >
  4. 大于等于 >=
  5. 小于等于 <=
  6. 不等于 !=或者<>

常用的sql语句整理 增删改查相关推荐

  1. MySQL 使用SQL语句实现 增删改查

    MySQL 使用SQL语句实现 增删改查 环境准备:MySQL,navicat 一.增加数据 语法: INSERT INTO 表名(字段1,字段2,字段3...) VALUES(值1,值2,值3... ...

  2. SQL语句的增删改查

    一.增:有2种方法 1.使用insert插入单行数据: 语法:insert [into] <表名> [列名] values <列值> 例:insert into Strdent ...

  3. 数据库SQL语句的增删改查(总结)

    一.增:有2种方法 1.使用insert插入单行数据: 语法:insert [into] <表名> [列名] values <列值> 例:insert into Strdent ...

  4. 四种简单的sql语句(增删改查语句)

    一.插入语句 insert into [table] ([column],[column],[column]) values(?,?,?) 二.删除语句 delete from [table] whe ...

  5. python写sql语句_简单的(笨的)用python以及SQL语句书写增删改查

    班级列表 ID 班级名称 删除 修改 {% for row in class_list %} {{ row.id }} {{ row.title }} {# 删除数据库#} --- {# 修改数据库# ...

  6. myeclipse链接数据库,SQL语句实现增删改查

    1.创建properties文件 #oracle #driver=oracle.jdbc.OracleDriver #url=jdbc\:oracle\:thin\:@localhost\:1521\ ...

  7. Database之SQL:自定义创建数据库的各种表demo集合(以方便理解和分析sql的各种增删改查语法的具体用法)

    Database之SQL:自定义创建数据库的各种表demo集合(以方便理解和分析sql的各种增删改查语法的具体用法) 目录 自定义创建数据库的各种表demo集合 具体案例 1.学生信息数据表案例

  8. sql serve2008的增删改查操作

    sql serve2008的增删改查 use test create table student ( id int not null primary key, name char(16) not nu ...

  9. SQL Server语句大全(增删改查数据、创建表、删除表、修改表)

    SQL server 增删改查语句 新增 insert into test.dbo.users (id,username,password) values(1,'lisi',123),(2,'lisi ...

  10. mysql下删改增语句_MySQL增删改查

    以下是MySQL最基本的增删改查语句,很多IT工作者都必须要会的命令,也是IT行业面试最常考的知识点,由于是入门级基础命令,所有所有操作都建立在单表上,未涉及多表操作. 前提:在进行"增删改 ...

最新文章

  1. (原)ubuntu中使用conda安装tensorflow-gpu
  2. 知名大学4篇学术论文被撤!校方:已做相关取证!
  3. AI时代竟有智能化鸿沟,具备哪些条件才能跨过?
  4. 分析UIWindow
  5. zk如何实现watch
  6. 修改默认的pip安装源
  7. php显示玩家,php.取得玩家IP
  8. 微软提出AdaLM,用于开发小型、快速且有效的领域预训练语言模型
  9. VS2013支持多字节
  10. media recovery oracle,Oracle非归档模式Media Recovery错误之--ORA-26040
  11. VMware下主机与虚拟机剪切板独立,无法直接复制粘贴
  12. 如何在用户区显示一张位图
  13. 基于数据驱动的人脸识别课题研究
  14. 嵌入式操作系统-ucos是什么?
  15. 「音视频直播技术」Android下H264解码
  16. 自己动手,丰衣足食。普通键盘实现键盘宏(Windows和Mac版)
  17. Mysql-04-DQL-基础查询-条件查询-模糊查询-UNION和UNION ALL-排序-数量限制-分组查询-子查询
  18. 后台管理系统项目整体流程
  19. 自我激励二十法(zz)
  20. 在运行里输入打开WIN工具。

热门文章

  1. ubutun 干净卸载删除deepin-wineQQ
  2. 求大佬解决0x00881340 处有未经处理的异常(在 ConsoleApplication1.exe 中): 0xC0000005: 写入位置 0x00993B8C 时发生访问冲突。
  3. 天猫轮播代码一秒美工万能淘宝轮播全屏轮播代码教程分享店铺装修全屏代码海报热点1920 居中显示圆点轮播海报
  4. 6.2016年国赛A题“系泊系统的设计”
  5. 服务器显示灰色怎么办,服务器远程桌面显示灰色
  6. k3 审核流程图_金蝶K3系统操作流程图
  7. K8S集群模式下fluent-bit日志收集方案设计和实践
  8. 浅谈Java程序员的黄金五年,如何实现快速进阶
  9. 根据银行卡号判断所属银行
  10. 使用rarcrack暴力破解RAR,ZIP,7Z压缩包