Mysql查询数据库 整理
一、 查询数据:
查询所有列:SELECT * FROM student;
查询指定列:SELECT id,NAME,gender FROM student;
格式:select字段名, 字段名, 字段名 from 表名
查询时添加常量列:
在查询xxx表时添加一个班级列,内容为“xxx”
SELECT id,NAME,gender,age,'xxx' AS '年级' FROM xxx;
查询时合并列:
需求: 查询每个学生的servlet和jsp的总成绩
SELECT id,NAME,(servlet+jsp) AS '总成绩' FROM student;
注意:合并列只能合并数值类型的字段
SELECT id,(NAME+servlet) FROM student;
查询时去除重复记录:
需求: 查询学生的性别 男 女
SELECT DISTINCT gender FROM student;
另一种语法
SELECT DISTINCT(gender) FROM student;
条件查询(where):
1) 逻辑条件: and(与) or(或)
a) 需求: 查询id为2,且姓名为李四的学生
SELECT * FROM student WHERE id=2 AND NAME='李四'; -- 交集
b) 需求: 查询id为2,或姓名为张三的学生
SELECT * FROM student WHERE id=2 OR NAME='张三'; -- 并集
2) 比较条件: > < >= <= = <>(不等于) between and (等价于>= 且 <=)
a) 需求: 查询servlet成绩大于70分的学生
SELECT * FROM student WHERE servlet>70;
b) 需求: 查询jsp成绩大于等于75,且小于等于90分的学生
a) SELECT * FROM student WHERE jsp>=75 AND jsp<=90;
另一个语法
b) SELECT * FROM student WHERE jsp BETWEEN 75 AND 90; -- (包前包后)
3) 判空条件(null 空字符串): is null / is not null / ='' / <>''
a) 需求: 查询地址为空的学生(包括null和空字符串)
null vs 空字符串
null:表示没有值
空字符串:有值的,但是值是空字符串
b) 判断null
SELECT * FROM student WHERE address IS NULL ;
c) 判断空字符串
i. SELECT * FROM student WHERE address='';
ii. SELECT * FROM student WHERE address IS NULL OR address=''; -- (包括null和空字符串)
d) 需求: 查询有地址的学生(不包括null和空字符串)
SELECT * FROM student WHERE address IS NOT NULL AND address<>'';
4) 模糊条件: like
通常使用以下替换标记:
% : 表示任意个字符
_ : 表示一个字符
i. 需求: 查询姓‘张’的学生
SELECT * FROM student WHERE NAME LIKE '李%';
ii. 需求: 查询姓‘李’,且姓名只有两个字的学生
SELECT * FROM student WHERE NAME LIKE '李_';
聚合查询
常用的聚合函数:sum() avg() max() min() count()/*记录*/
求和:
Select sum(字段名) from 表名
求平均:
Select avg(字段名) from 表名
最大值:
Select sum(字段名) from 表名
最小值:
Select sum(字段名) from 表名
统计表记录数(常用):
Select count(*) from 表名
分页查询(limit 起始行,查询几行)
分页查询当前页的数据的sql:
公式:
SELECT * FROM student LIMIT (当前页-1)*每页显示多少条,每页显示多少条;
查询第x,x条记录
查询排序(order by)
语法: order by 字段 asc正序/desc倒序
asc: 顺序,正序。数值:递增,字母:自然顺序(a-z)
SELECT * FROM student ORDER BY id ASC;
格式:select * from 表名order by 字段名 desc
desc: 倒序,反序。数值:递减,字母:自然反序(z-a)
SELECT * FROM student ORDER BY id DESC;
格式:select * from 表名 order by 字段名 desc
分组查询(group by)
SELECT gender,COUNT(*) FROM student GROUP BY gender;
格式:select 字段名,count(*) from 表名group by
分组查询后筛选(group by having)
筛选出人数大于2的记录
SELECT gender,COUNT(*) FROM student GROUP BY gender HAVING COUNT(*)>2;
格式:select 字段名,count(*或者字段名) from 表名 group by 字段名 having count(*)>值
Mysql查询数据库 整理的更多相关文章
- mysql查询数据库大小和表
每个mysql都有一个库information_schema,里面有一张表TABLES存储了所有数据库表的信息,因此,可以从这张表中查看数据库大小和表大小 查询数据库大小 ,),'GB') as da ...
- mysql 查询数据库或某张表有多大(字节)
转载:https://www.cnblogs.com/diandiandidi/p/5582309.html 1.要查询表所占的容量,就是把表的数据和索引加起来就可以了 select sum(DATA ...
- [功能集锦] 002 - mysql查询数据库字典+导出+样式一键整合至excel
写在前面: 因为工作时候经常遇到半路接手项目的情况,由于年代久远,数据库字典这块经常缺失.故写此篇,以便复用,也希望对大家有点帮助. 随笔内容不高级,如有不妥,不吝指正. 20190730-加了一些简 ...
- MySql 查询数据库中所有表名
查询数据库中所有表名select table_name from information_schema.tables where table_schema='csdb' and table_type= ...
- MYSQL查询数据库表索引的硬盘空间占用
查询数据库的占用 SELECT CONCAT(ROUND(SUM(index_length)/(1024*1024), 2), ' MB') AS 'Total Index Size' , CONCA ...
- mysql查询数据库中包含某字段(列名)的所有表
SELECT TABLE_NAME '表名',TABLE_SCHEMA '数据库名',ORDINAL_POSITION '顺序',COLUMN_NAME '字段',DATA_TYPE '类型' ,CH ...
- 【MySQL】MySQL查询数据库各表的行数
#倒序查询数据库[各表记录数] use information_schema; select table_name,table_rows from tables where TABLE_SCHEMA ...
- MySql 查询数据库中所有表名以及对比分布式库中字段和表的不同
查询数据库中所有表名select table_name from information_schema.tables where table_schema='数据库名' and table_type= ...
- MySQL查询数据库中表名或字段名
查询数据库中所有表名 select table_name from information_schema.tables where table_schema='csdb' and table_type ...
随机推荐
- Nginx GoAccess安装与配置
1.下载并安装Geoip $ wget https://github.com/maxmind/geoip-api-c/releases/download/v1.6.12/GeoIP-1.6.12.ta ...
- 5G到来,数据中心如何变革?
导读 5G将要到来,除改变人们的工作生活外,其带宽.延时.连接特性也逼迫着数据中心变革,以满足5G时代需求.具体而言,5G将从形状规模.硬件组成及软件规模三面变革数据中心. 5G带来什么 高带宽.低延 ...
- Subway POJ - 2502 最短路
题意:给出地铁线 起点和 终点 坐地铁速度为v2 走路为v1 求起点到终点的最短距离 (答案需要四舍五入这里坑了好久) 拿给出的地铁站点 和起点终点建边即可 然后跑个迪杰斯特拉 #inclu ...
- SpringMVC把后台文件打印到前台
实现效果如下: 代码为: @RequestMapping(value = "/tools/printContract") public void cell(HttpServletR ...
- Django media 配置
Django media 配置 settings.py 配置 配置 media 的路径, 以及连接到主路径 还要添加一个 上下文管理 TEMPLATES = [ { 'BACKEND': 'dja ...
- mongoDB 命令整理
库操作 创建数据库 use [database] 查看数据库 show dbs 删除 db.dropDatabase() 备份 mongodump -h[host] ip -d[databasenam ...
- MT【249】离心率两题
椭圆$\dfrac{x^2}{a^2}+\dfrac{y^2}{b^2}=1,(a>b>0)$的一个焦点为$F$,过$F$的直线交椭圆于$A,B$两点,$M$是点$A$关于原点的对称点.若 ...
- LOJ #2142. 「SHOI2017」相逢是问候(欧拉函数 + 线段树)
题意 给出一个长度为 \(n\) 的序列 \(\{a_i\}\) 以及一个数 \(p\) ,现在有 \(m\) 次操作,每次操作将 \([l, r]\) 区间内的 \(a_i\) 变成 \(c^{a_ ...
- 【BZOJ4887】[TJOI2017]可乐(矩阵快速幂)
[BZOJ4887][TJOI2017]可乐(矩阵快速幂) 题面 BZOJ 洛谷 题解 模板题??? #include<iostream> #include<cstdio> # ...
- 【LOJ#6060】Set(线性基)
[LOJ#6060]Set(线性基) 题面 LOJ 题解 好题啊QwQ. 首先\(x1\oplus x2=s\)是定值.而\(s\)中假设某一位上是\(1\),则\(x1,x2\)上必定有一个是\(1 ...