MySQL基础(一)


mysql常见命令

img

基础查询

select 查询列表 from 表名;

特点:

1、 查询列表可以是:表中的字段、常量值、表达式、函数

2、查询的结果是一个虚拟的表格

mysql中+号与Java中的对比

img

条件查询

img

img

模糊查询

img

between and的使用

img

相当于大于等于100小于等于120

去重

select distinct 字段名 from 表名;

+、concat函数 和ifnull函数

img

cancat函数

语法:

用于拼接字段
concat('a','b','c')

img

ifnull函数

例:

判断奖金是否为NULL,如为NULL,返回0

img

排序查询

img

补充:字符函数

一般只有length是算字节数(汉字是三个字节)

其他函数都是算长度(字符数)

img

img

img

trim 去掉前后字符串

img

数字函数

img

日期函数

now 返回当前系统日期+时间
cerdate 返回当前系统日期,不包含时间
curtime 返回当前时间,不包含日期
year()
month()返回年月
str_to_date('9-13-1999','%m-%d-%Y'):将日期格式的字符转换成指定格式的日期(转换符号见下表)
data_format():将日期转换成字符

image-20201010200316542

流程控制函数——if、case

img

img

(等于时成立)

img

(范围内成立)

简单函数

img

img

img

分组查询

语法:

img

案例:

img

复杂的分组查询案例(先写“的”前面,后面的用Having加(分组后筛选的内容))

img

案例2:

img

连接查询——笛卡尔乘积

笛卡尔乘积现象:表1有m行,表2有n行,合成表有(m*n)行

select * from beauty;
select * from boys;
select name, boyname from boy,beauty
where beauty.boyfriend_id=boy_id;

添加有效的连接条件

等值连接

select job_title,COUNT(*)
FROM employees e, jobs j
where e.job_id=j.job_id
group by job_title
order by count(*) Desc;

image-20200910213616908

非等值连接

image-20200910214509444

自连接

在同一张表中需要在前面加上别名来区分查询的东西

image-20200910215411358

外连接

应用场景:查询一个表中有另一个表中没有的记录

image-20200915200148813

image-20200911114155418


文章作者: 林秉逸
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 林秉逸 !
  目录