目录
4).聚合函数查询(对单行单列数据进行求和\计数\平均值\最大值\最小值)
1).查询全表
-- 没有表的别名.
select
id,
name,
age,
sex,
math
from
student;
-- 有别名.
select
id '员工编号',
name '员工姓名',
age '员工年龄',
(math+english) '总分'
from
student;
--注意事项:两个整数类型求和,如果一个字段是null则结果为null,在mysql里面有函数 ifnull(字段名称,给期望值) ; 如果当前字段名称为null值,给他一个期望值.
select
id '员工编号',
name '员工姓名',
sex '性别',
(math+ifnull(english,0)) '总分'-- 当英语成绩是null空值,给一个0
from
student ;
2).带条件查询
-- 情况1 select 指定的字段名称 from 表名 where 条件 ;where后面可以使用赋值运算符和比较运算符 <>(不等于)
select
*
from
student
where
age=20 ;
-- 情况2. where后面跟多个条件
-- 并列条件或者或的条件,可以使用逻辑符&&(并列)也可用and between
-- ||(或)也可用or 当有多个或的关系时可以用in集合语句
select
*
from
student
where
between 20 and 30 ;
select
*
from
student
where
age in(18,20,45) ;
-- 情况3 查询某个字段为null的数据,语法:where 字段名称 is null/ is not null;
select
*
from
student
where
english is null ;
3).模糊查询(关键字 like)
/*
语法: select 指定字段列表 from 表名 where 字段名称 like '%字符%'
%:就是匹配任意字段;
_:一个下划线代表一个任意字符(具有包含关系在里面)
*/
-- 模糊查询所有姓马的学生所有信息
select
*
from
student
where
name like '%马%';
--查询姓名是两个字符的学生所有信息
select
*
from
student
where
name like '__';
--姓名中第二个字是化的学生所有信息
select
*
from
student
where
name like '%_化%';
4).聚合函数查询(对单行单列数据进行求和\计数\平均值\最大值\最小值)
/*
聚合类型;
count,
sum,
AVG,max,
min
注意:对于null的字段名称不会被统计,除非使用ifnull(字段名称,期望值)
语法: select 聚合函数(字段名) from 表名;
*/
-- 英语成绩求和
select
sum(ifnull(english,0)) '英语成绩' --英语成绩中有null
from
student
--数学成绩总和
select
sum(math) '数学总成绩'
from
student ;
5).复杂查询和聚合函数一块用
-- 最常见:where 字段名称 比较运算符 (select 聚合查询)
--查询数学成绩最高分的学生信息,一步走.
select
*
from
student
where
math = (select max(math) from student );
--查询数学成绩大于平均分的学生信息
select
*
from
student
where
math > (select AVG(math) from student) ;
6).排序查询(关键字order by)
/*
语法: select 字段列表 from 表名 order by 字段名称 排序规则;
排序规则:asc升序(默认) desc 降序
*/
--数学成绩升序,查询所有信息.
select
*
from
student
order by
math asc ;
--多个字段排序
--语法:select 字段列表 from 表名 order by 字段名称1 排序规则1,字段名称2 排序规则2... ;
--查询数学成绩降序,英语成绩升序的所有学生信息
select
*
from
student
order by
math asc,
English desc ;
7).数据库的备份和还原
/*
备份:将当前数据库进行本地存储,存储.sql文件
还原:将本地磁盘上.sql文件进行执行,把这些库中表数据进行还原
*/
--方式1:命令行方式
备份:不需要登录SQL 在DOS控制台上操作
Mysqldump -uroot -p 密码 库名 >磁盘上某个文件夹中的xx.sql文件
还原:将指定磁盘备份的xx.sql文件读取,把里面的表进行还原操作
1)在DOS控制台上登录MySQL
2)显示所有库,show database;
3)use 库名;
4)source 本地磁盘上保存的xx.sql文件路径
方式2:图形界面化
备份:鼠标选中库---右键---备份(backup/export 导出 )----> 选中第二个 备份为数据库sql脚本进行存储
-->选中Structure and data(结构和数据)--->选中本地磁盘路径 ---->x.sql
还原:在sqlyog使用sql创建库---> 库名--->右键---->import(导入)--->选第二个,执行本地 sql脚本即可
8)数据库的约束
约束:在操作数据库的时候,约束管理人员使用数据的时候行为;
用户没有插入数据时自动默认为为一个特定的值如;
CREATE TABLE emp(
id INT, -- 员工编号
emp_name VARCHAR(10),-- 员工姓名
gender VARCHAR(5) DEFAULT '男' -- 员工性别 ,加入默认约束
);
INSERT INTO emp(id,emp_name) VALUES(2,'张三') ;--则张三的性别默认为男