mysql学习笔记1
数据库
优点
- 可以持久化数据到本地
- 结构化查询
数据库的常见概念
- DB:数据库
- DBMS:数据库管理系统
又称数据库软件或者数据库产品
常见DBMS:mysql、sql、DB2、oracle - SQL:结构化查询语言
并非某个语言特有
基础查询
语法
Select 查询列表 #用,连接多个表;用*查询所有
from 表名;
查询字段
- 表中的字段
- 常量值或者字符串
select 100 ;
select ’join’(字符加’ '或者" ") - 表达式 select 100/98
- 函数
查询的表格是一个虚拟的表格
as:起别名
- 方式一(查询较多字段时使用):
Select xx as yy;
Select last-name as 姓, first_name as 名 from employees;
- 方式二:
As直接省略,空格即可
distinct:去重
Select distinct department_id from employees;
+:只能加法运算
-
Select 100+90 两个都是数值型,做加法运算
-
Select ‘123’+90 如果其中有字符型,则会试图将字符型转化为数值型
如果成功,继续做加法运算;
如果转换不成功,则将字符型转换成0; -
Null+值,则结果都为null
concat(x,y):连接函数
Select concat(last_name,first_name);
ifnull(x,y)
判断x是否为null,如果是,返回y
Isnull(x)
x为null返回1,不为null返回0
条件查询
语法
Select 查询列表
From 表名
Where 筛选条件;
分类
按条件表达式筛选
< > = <> != <> >= <= <=>安全等于
<=>:安全等于,既可以判断null,也可以判断常量
按逻辑表达式筛选
逻辑运算符 && || ! AND OR NOT()
模糊查询
Like
WHERE last_name LIKE ‘%a%’;
表示包含a的name
- %:代表任意多个字符,但不包含null
- _:任意单个
- \:转义符,代表真实的含义,例如\_代表包含_的字符,
或者
where last-name like ‘a’ escape ‘a’; escapa指明此时a为转义符
between A and B
where salary between 10000 and 12000;
- 包含临界值
- 不要改变顺序
in
where salary in(10000,12000);
表示salary为10000或者12000,比or此时更方便
*in(x,y,z…) 值列表必须统一
is (not )null:判断是否为null
where commission_pct is null;
“你要趁早吧生活过成喜欢的样子”
小徐冲鸭!
----2021.1.28