数据库相关概念
- DB:数据库:保存一组有组织的数据的容器
- DBMS:数据库管理系统,用于管理DB中的数据
- SQL:结构化查询语言,用于与DBMS通信的语言
数据库存储数据的特点
1.将数据存储到表中,再将表放到库中
2.一个数据库可以有多个表,每个表都有自己的名字,用来标识自己,表名具有唯一性
3.表由列组成,也称为字段。所有表都是由一个或者多个列组成,每一列类似java中的属性
4.表中的数据是按行存储的,每一行类似于java中的对象
MySQL的常见命令
1.查看当前所有数据库:show database
2.打开指定的库名:use 库名
3.查看当前库的所有表:show tables
4.查看其它库的所有表:show tables from 库名
5.创建表:
create table name(
列名 列类型
);
6.查看表结构:desc 表名
7.查看服务器版本:select version();
8.显示表中所有数据:select * from 表名
SQL语言的分类
DQL:数据查询语言 select
DML:数据操作语言insert update delete
DDL:数据定义语言create drop alter
TCL:事务控制语言commit rollback
DQL语言
基础查询
语法:
SELECT 要查询的东西
【FROM 表名】
条件查询
语法:
select
要查询的字段|表达式|常量值|函数
from
表
where
条件 ;
分类:1.条件表达式-----条件运算符
< > = <= >= != <> <=>
2.逻辑表达式-----逻辑运算符
and(&&):两个条件如果同时成立,结果为true,否则为false
or(||):两个条件只要有一个成立,结果为true,否则为false
not(!):如果条件成立,则not后为false,否则为true
模糊查询
like
between and
排序查询
语法:
select
要查询的东西
from
表
where
条件
order by 排序的字段|表达式|函数|别名 【asc|desc】
常见函数
一、单行函数
1.字符函数
concat拼接
substr截取子串
upper转换成大写
lower转换成小写
trim去前后指定的空格和字符
ltrim去左边空格
rtrim去右边空格
replace替换
lpad左填充
rpad右填充
instr返回子串第一次出现的索引
length 获取字节个数
2.数学函数
round 四舍五入
rand 随机数
floor向下取整
ceil向上取整
mod取余
truncate截断
3.日期函数
now当前系统日期+时间
curdate当前系统日期
curtime当前系统时间
str_to_date 将字符转换成日期
date_format将日期转换成字符
4.流程控制函数
if 处理双分支
case语句 处理多分支
情况1:处理等值判断
情况2:处理条件判断
二、分组函数
sum 求和
max 最大值
min 最小值
avg 平均值
count 计数
特点:
1、以上五个分组函数都忽略null值,除了count()
2、sum和avg一般用于处理数值型 max、min、count可以处理任何数据类型
3、都可以搭配distinct使用,用于统计去重后的结果
4、count的参数可以支持:字段、、常量值,一般放1,建议使用 count(*)
分组查询
**语法:
select 查询的字段,分组函数
from 表
group by 分组的字段
**
特点:
1、可以按单个字段分组
2、和分组函数一同查询的字段最好是分组后的字段
3、分组筛选
针对的表 位置 关键字
分组前筛选: 原始表 group by的前面 where
分组后筛选: 分组后的结果集 group by的后面 having
4、可以按多个字段分组,字段之间用逗号隔开
5、可以支持排序
6、having后可以支持别名