#1.查询数据库中列表,如字段,常量值,表达式
select【列表】from (字段数据顺序按个人需要设置)
示例
select last_name,salary from employees;
#2.查询所有的字段
示例
select * from employees;
#3.查询字段与关键字相同时可以通过如下方式来解决
示例
select `name` from employees;
注意,在name两侧的符号,为ESC键下方的符号
#4.查询常量值
示例
select 100;
实际中作用不大
#5.查询表达式
示例
select 100*98;
#6,起别名
为了方便代码中自我认知,且区别同名字段,可通过
##AS
select last_name AS 姓 from employees;
##空格
select last_name 姓 from employees
##如别名中存在空格等字符,需加双引号或者单引号
#7.去重
示例
select distinct id from employees;
#8.加号的作用(mysql中只有运算符的作用)
示例1
select last_name+first_name as name from employees;(报错)
示例2
select ‘123’+90(结果为213)
示例3
select null+90(结果为null)
##任何值和NULL做运算结果为NULL
#9.拼接字符串
示例
select CONCAT('a','b','c') as 结果;
显示字段为结果,‘abc’
#10.NULL值
##IFNULL函数
SELECT IFNULL(id,0)AS 编号 FROM employees;
id表示操作列,0表示当id中的值为NULL时的替换值
##ISNULL函数
select isnull(id) from employees;
如果当前值为null,则替换输出为1.
2.条件查询
基本表达式
select
查询列表
from
表名
where
条件;
##根据查询条件分为
1.条件表达式筛选
如 > , < , = , !=或<>(建议) , <= 等。
2.逻辑表达式
&& || !
and or not(建议)
3.模糊查询
#like(不局限于字符型,可以在数值型中使用)
示例1:
select * form employees
where last_name like '%a%';
%为通配符,表示任意长度的任意字符,包括0个字符。
_通配符,表示长度为1的任意字符。
转义 \_表示_为查询字符
示例2:
select last_name from employees
where last_name like '_$_%' escape '$';
其中¥表示我们自己指定的转义字符,可按照自身需要设置。
#between and(包含临界值,不能颠倒顺序)
示例:
select id from employees
where id between 100 and 120;类比上述条件表达式。
#in
示例:
select id from employees
where id in(1,2,3);
#is null(不能使用=和<>来判断null,但是可以用<=>判断,用来判断等于,在其他地方可以等价为=,可读性较差)
示例1:
select name from employees
where name is null;
示例2:
select name from employees
where name is not null;
3.排序查询
#1.基本语法
select
查询列
from
表
[where 筛选条件]
order by 排序列表 [asc|desc];
其中desec表示从高到低,若两者不写,默认升序。
排序列表可为表达式,别名等。
除limit子句之外 order by均位于语句最后面。
#1.length()函数,判断字符长度,可用于字符长度排序。
#2.多维排序
select查询列表
from
表
[where 筛选条件]
order by 排序列表1 [asc|desc],排序列表2 [asc|desc];
排序先按照列表1排序,然后按照列表2排序。