mysql指定天数平均值_MySQL(基础篇)MySQL(基础篇)
通过本⽂的学习,你将会学会MySQL的⼀些基本知识。
⼀、MySQL概述
MySQL是⼀种开源的关系型数据库管理系统(RDBMS)。
1.1分类
MySQL分为以下的⼏种类型:
DML(Data Manipulation Language):数据操纵语句,⽤于添加、删除、修改、查询数据库记录,并检查数据完整性
INSERT:添加数据到数据库中。
UPDATE:修改数据库中的数据。
DELETE:删除数据库中的数据。
SELECT:选择(查询)数据。(SQL语⾔的基础,重要)
DDL(Data Definition Language):数据定义语句,⽤于库和表的创建、修改、删除。
CREATE TABLE:创建数据库表
ALTER TABLE:更改表结构、添加、删除、修改列长度
DROP TABLE:删除表
CREATE INDEX:在表上建⽴索引
DROP INDEX:删除索引
DCL(Data Control Language):数据控制语句,⽤于定义⽤户的访问权限和安全级别。
COMMIT:提交事务处理
ROLLBACK:事务处理回退
SAVEPOINT:设置保存点
GRANT:授予访问权限
REVOKE:撤销访问权限
LOCK:对数据库的特定部分进⾏锁定
1.2图解MySQL程序结构
MySQL程序结构1.3启动和停⽌MySQL服务
通过命令⾏:
启动:net start mysql 服务名
停⽌:net stop mysql 服务名
1.4MySQL服务端的登录退出
通过命令⾏:
登录:mysql –h 主机名 –u⽤户名 –p密码
退出:exit
1.5MySQL语法规范
不区分⼤⼩写mysql删除重复的数据保留一条
每句话⽤;或\g结尾
各⼦句⼀般分⾏写
关键字不能缩写也不能分⾏
⽤缩进提⾼语句的可读性
⼆、查询
查询是SQL语⾔的基础
2.1基础查询
1. 语法
select  查询列表  from 表名;
2. 特点
查询列表可以是表中的字段、常量值、表达式、函数
查询的结果是⼀个虚拟的表格
案例
# 1.查询表中的字段
select last_name from employees;
# 2.查询所有的字段
select * from employees;
# 3.如果要查询的字段有重名的情况,使⽤别名可以区分开来
# 起别名(使⽤AS)
select last_name as 姓,first_name as 名 from employees;
# (不带AS)
select last_name 姓,first_name 名 from employees;
# 4.去重(使⽤distinct)
select distinct department_id from employees;
# 5.+号的作⽤(+号在mysql 中只要⼀个作⽤:运算符)
select 100 + 90;    #两个操作数都是数值型,则做加法运算
select '123' + 90;  #其中⼀个为字符型,试图将字符型数值转换为数值型,如果转换成功,则继续做加法运算select 'wzl' + 90;  #如果转换不成功,则将字符型数值转换为0
select null + 90;    #只要其中⼀⽅为null,则结果肯定是null
# 6.字符串连接(concat) 显⽰全名
select concat(last_name,first_name) from employees;
2.2条件查询
1. 语法
select  查询列表 from 表名 where 筛选条件;
2. 分类
按条件表达式筛选
条件运算符:><=<>!=>=<=
按逻辑表达式筛选:⽤于连接条件表达式
逻辑运算符:&&|| ! and or not
模糊查询
like
like⼀般和通配符搭配使⽤
%任意多个字符包含0个字符
_任意单个字符
between and
提⾼语句的简洁度
包含临界值 且两个临界值不要调换顺序
in
判断某字段的值是否属于in列表的某⼀项
in列表中的值类型必须⼀致或者兼容
is null
= 或<>不能⽤来判断null值
is null 或者is Not null可以判断null值
案例
## 1.按条件表达式筛选
## 查询员⼯⼯资>12000的员⼯信息
select * from employees where salary > 12000;
## 查询部门编号不等于90号的员⼯名和部门编号
select last_name 员⼯名,department_id 部门编号
from employees
where department_id != 90;
## 2.按逻辑表达式筛选
## 查询⼯资在10000到20000之间的员⼯名、⼯资以及奖⾦
select last_name 员⼯名,salary ⼯资,commission_pct 奖⾦
from employees
where salary >=10000 and salary <= 20000;
## 3.like
## 查询员⼯名中包含字符z的员⼯信息
select * from employees where last_name like '%z%';
## 查询员⼯名中第⼆个字符为z的信息
select * from employees where last_name like '_z%';
## 4.between and
## 查询员⼯编号在100到120之间的员⼯信息
select * from employees where employee_id >= 100 and employee_id <= 120;
select * from employees where employee_id BETWEEN 100 and 120;
## 5.in
## 查询员⼯的⼯种编号为001、002、003中的员⼯信息
select * from employees
where job_id = '001' or job_id = '002' or job_id = '003';
select *
where job_id in('003','001','002');
## 6.is null
## 查询编号为null的员⼯信息
select * from employees where employee_id is null
2.3排序查询
1. 语法
select 查询列表 from 表 where 筛选条件 order by 排序列表 asc|desc 2. 特点
asc是升序,desc是降序  默认升序
order by⼦句中可以⽀持单个字段,多个字段,表达式,函数,别名
order by⼦句⼀般放在最后,limit⼦句除外
案例
## 查询员⼯信息,要求⼯资从⾼到低
select * from employees order by salary desc;
2.4常见函数
1. 函数就是将⼀组逻辑语句封装,对外暴露了⽅法名称,为了实现特定的功能,类似于java中的⽅法
2. 特点
隐藏了实现细节
提⾼了重⽤性
语法
select 函数名(实参列表) from 表;
分类
单⾏函数
concat、length、ifnull等
分组函数(统计函数,聚合函数、组函数)
sum 求和、avg 平均值、max 最⼤值、min最⼩值、count数量等
特点
sum,avg⼀般⽤于处理数值型,max,min,count可以处理任意类型
分组函数都忽略null值
可以和distinct搭配去重运算
count函数⼀般使⽤count(*)做计算⾏数
分组函数⼀同查询的字段要求是group by后的字段
案例

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。