[学习打卡]01MySql基础笔记

概述

1、Mysql的特点

1、将数据持久化存储到硬盘。

2、可存储大量数据

3、检索方便

4、保证数据完整性,一致性。

5、安全可供享

6、通过组合分析,可产生新数据、

 

2、相关概念

db:数据库,存储数据的仓库,它保存了一系列有组织的数据。

dbms:数据库管理系统,创建 操作的容器。

sql:结构化查询语言,和数据库通讯的语言。

[学习打卡]01MySql基础笔记

4、特点

[学习打卡]01MySql基础笔记

Sql定义:

[学习打卡]01MySql基础笔记

基础查询:

准备四张表 

员工表:

[学习打卡]01MySql基础笔记

部门表

[学习打卡]01MySql基础笔记

地区表

[学习打卡]01MySql基础笔记

工种表

[学习打卡]01MySql基础笔记

基础查询:

查询函数:

 SELECT  DATEBASE(); 查询当前数据库的名称

 SELECT  VERSION();  版本

SELECT UESR(); 查询当前用户

起别名:

使用 as关键字

  SELECT UESR() AS '用户名'              列名就变成用户名了

使用 空格(使用方法就是直接吧AS换成空格)

  SELECT UESR()    '用户名'

  SELECT last_name   '姓  名' FROM 'employee';

查询 frist_name last _name 拼接在一起 起个别名 '姓名'

  SELECT first_name+last_name   '姓 名' from employee

[学习打卡]01MySql基础笔记

所以 字符串的拼接使用+是不行的,要使用一个函数concat

SELECT (first_name,last_name )  '姓名'from employee

但是如果一个为null  结果也会显示null

[学习打卡]01MySql基础笔记

ifnull :

IFNULL(表达式1,表达式2)

用法就是:如果1是null  就显示表达式2 ,否则就显示表达式1

[学习打卡]01MySql基础笔记

去重 投影 DISTINCT关键字

SELECT  DISTINCT department_id from employee;

查看表结构 

DESC employee ;

SHOW COLUMNS FROM empolyee;

进阶二:条件查询

select 列字段

from 表明

where 条件

 

他们的执行顺序就是  from where select

1、按条件表达式筛选;

<  >  <=   >=   =   <>(不等于 !=也可以 但是不建议)

2、按逻辑表达式筛选

逻辑运算符 :and    or     not 

&& || !与或非,sql是可以这样写的 但是也不提倡

 

[学习打卡]01MySql基础笔记

[学习打卡]01MySql基础笔记

 

[学习打卡]01MySql基础笔记

3、模糊查询

like

和通配符查询使用

_任意单个字符

%任意多个字符   支持的是 0到多个

[学习打卡]01MySql基础笔记

[学习打卡]01MySql基础笔记

[学习打卡]01MySql基础笔记

\这个是java里的转移字符

sql里是可以设置转义字符的,   

[学习打卡]01MySql基础笔记

这个就是设置$为转义字符。用到的关键字就是 ESCAPE

in

查询某个字段值是否在指定列表之中

in(xx,aa,cc);

[学习打卡]01MySql基础笔记[学习打卡]01MySql基础笔记

[学习打卡]01MySql基础笔记

[学习打卡]01MySql基础笔记

between and

判断某个值 是否在之间

有 between and 和 not between and 

[学习打卡]01MySql基础笔记

 

is null 

is not null 

[学习打卡]01MySql基础笔记

这种判断为空的情况呢 ,是不可以直接 commission_pct=null 的  除了用 is null 之外 

还可以使用的<=>这个符号    pct<=>null   安全等于 (阅读性差 一般不用)

进阶三 排序查询

语法:

SELECT xx

FROM 表 

WHERE 条件(where 语句可省略)

ORDER BY 排序条件

执行的顺序是

from 

where 

select 

order by  查出来之后 在进行排序

排序可以是多个字段,单个字段,表达式,列数 ,以及以上的组合

desc降序排列

asc 升序排列  默认不写的情况是升序排列

[学习打卡]01MySql基础笔记

[学习打卡]01MySql基础笔记

[学习打卡]01MySql基础笔记

但是这里要注意 ,where 之内是不可以用别名的 ,这就涉及到之前的执行顺序了  from /where/ select/ order by

[学习打卡]01MySql基础笔记

[学习打卡]01MySql基础笔记

多个关键字的排序 最重要的写在首位 依次向后排序

[学习打卡]01MySql基础笔记

按列数 排序 直接写个数字  按第二列排序 和写列名一样 (用的较少 语义比较差)