基础
DESC
desc + 表名;
显示表结构
use
use + 库名;
#在哪个库下进行操作
select
1.查询单个字段;
2.查询多个字段;
3.查询所有字段:
方式一:
select ‘name’,‘age’ from 表名;
方式二:
select * from 表名;
4.查询常量值;
select 100;
5.查询表达式
select 100%98;
6.查询函数
select Version();
起别名
优点:
1.方便理解
2.如有重复便于区分
方式:
1.as
select last_name as 姓,first_name as 名 from user;
2.使用空格
select last_name 姓,first_name 名 from user;
别名中有特殊字符如空格、#等可加双引号
去重 distinct
select distinct department_id from employees;
+号的作用
MySQL中+号只是运算符
select 100+90;190
select “13”+9; 22
select “sss”+56;56
select null+12;null
两个字段连接成一个字段
select concat(last_name,first_name) as 姓名 from user ;
函数IFNULL()和ISNULL()
IFNULL(字段,替代值)当字段为null时用XX值来代替
SELECT (字段,替代值)as em from employees
函 ISNULL(字段)判断是否为null,是返回1,否则返回0
查询
按条件表达式筛选
条件运算符:> < = != <> >= <=
按逻辑表达式筛选
&& || !
and or not
模糊查询
like
1.一般和通配符一起使用
通配符:% 任意多个字符,0也可以 _一个字符
select last_name,first_name from employees where first_name like ‘__a%’;
如果要查的条件里有特殊字符例如"_"可以使用转义字符,如查询字符串第一个是下划线
select last_name,first_name from employees where first_name like ’ \_a%’;
也可以自定义转义字符,查询字符串第一个是下划线
select last_name,first_name from employees where first_name like '$_a%’ escape ‘$’;
也可以查询数值 like ‘1_’
between and
注意事项:
1.提高简洁渡;
2.包含临界值;(等价于 >= and <= )
3.两个值不能调换;
in
注意事项:
1.简单
2.in列表中值类型一致或者兼容(不支持通配符)
is null | is not null
仅仅判断null值,可读性高
安全等于
<=>
可判断null值,也可判断普通类型的值,可读性差
例题
select * from user ;
select * from user where name like “%%” and where remark like “%%”
结果不一样,可能为null;换成or若有一定不为null的字段时结果一样。
排序查询
order by 排序列表 ASC/DSC
1.排序核心 order by
asc升序,可以省略,desc降序
2.①order by 字段
②order by 表达式
③order by 别名 (支持)
④select last_name , salary12(1+IFNULL(percent,0)) as 年薪 from employees order by 年薪 desc
⑤order by 函数
select LENGTH(last_name),last_name from employees order by LENGTH(last_name) desc;
3.按多个字段排序,多种组合形式也可以
order by last_name desc,age asc
order by一般最后,但是limit 除外
学习整理于MySQL 基础+高级篇.