[学习打卡]01MySql基础笔记
概述
1、Mysql的特点
1、将数据持久化存储到硬盘。
2、可存储大量数据
3、检索方便
4、保证数据完整性,一致性。
5、安全可供享
6、通过组合分析,可产生新数据、
2、相关概念
db:数据库,存储数据的仓库,它保存了一系列有组织的数据。
dbms:数据库管理系统,创建 操作的容器。
sql:结构化查询语言,和数据库通讯的语言。
4、特点
Sql定义:
基础查询:
准备四张表
员工表:
部门表
地区表
工种表
基础查询:
查询函数:
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
所以 字符串的拼接使用+是不行的,要使用一个函数concat
SELECT (first_name,last_name ) '姓名'from employee
但是如果一个为null 结果也会显示null
ifnull :
IFNULL(表达式1,表达式2)
用法就是:如果1是null 就显示表达式2 ,否则就显示表达式1
去重 投影 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是可以这样写的 但是也不提倡
3、模糊查询
like
和通配符查询使用
_任意单个字符
%任意多个字符 支持的是 0到多个
\这个是java里的转移字符
sql里是可以设置转义字符的,
这个就是设置$为转义字符。用到的关键字就是 ESCAPE
in
查询某个字段值是否在指定列表之中
in(xx,aa,cc);
between and
判断某个值 是否在之间
有 between and 和 not between and
is null
is not null
这种判断为空的情况呢 ,是不可以直接 commission_pct=null 的 除了用 is null 之外
还可以使用的<=>这个符号 pct<=>null 安全等于 (阅读性差 一般不用)
进阶三 排序查询
语法:
SELECT xx
FROM 表
WHERE 条件(where 语句可省略)
ORDER BY 排序条件
执行的顺序是
from
where
select
order by 查出来之后 在进行排序
排序可以是多个字段,单个字段,表达式,列数 ,以及以上的组合
desc降序排列
asc 升序排列 默认不写的情况是升序排列
但是这里要注意 ,where 之内是不可以用别名的 ,这就涉及到之前的执行顺序了 from /where/ select/ order by
多个关键字的排序 最重要的写在首位 依次向后排序
按列数 排序 直接写个数字 按第二列排序 和写列名一样 (用的较少 语义比较差)