文章目录
mysql版本
select @@version;
登陆操作
mysql -u root -p -h localhost -P 3306
使用数据库
use 数据库名称;
显示操作
显示当前可用数据库
show databases;
显示当前数据库中的数据表
show tables;
显示数据表中的所有列
方法一
show columns from customers;
方法二
describe customers;
SELECT 操作
返回不同信息
限制查询
一个参数
select prod_name from products limit 3;
两个参数
select prod_name from products limit 3, 2;
注意
当一个参数时,是从0行开始的
当两个参数时,也是从0行开始的
SELECT子句
排序
单列排序
select prod_name from products order by prod_name;
多列排序
多列排序规则,先按第一列排序,然后在按第二列排序
例如先按照姓排序,然后在按照名排序
select prod_id, prod_price, prod_name from products order by prod_price, prod_name;
降序排序
默认是按照升序进行排序
降序排序需要使用DESC
DESC
只运用在写在它前面的字段,如果想作用在多列,则每一列都需要加上DESC
select prod_id, prod_price, prod_name from products order by prod_price DESC;
升序排序
升序排序的关键字是ASC
order by 与 limit位置
order by应该在from后面
limit 应该在order by后面
WHERE 子句
WHERE和ORDER BY位置
ORDER BY应该位于WHERE后面
操作符
操作符 | 说明 |
---|---|
= | 等于 |
<> | 不等于 |
!= | 不等于 |
< | 小于 |
> | 大于 |
<= | 小于等于 |
>= | 大于等于 |
BETWEEN | 在指定的两个值之间 |
is null | 值是否为null |
is null
select cust_id from customers where cust_email is null;
AND 与 OR
mysql顺序是先解决and 再 解决or
可以使用()
select prod_id, vend_id, prod_price from products where (vend_id = 1001 or vend_id = 1003) and prod_price > 10;
IN
指定条件范围
select prod_name, prod_price from products where vend_id in (1001, 1003) order by prod_name limit 1;
NOT
not可以与in、between、exists配合使用
通配符
%
like ‘x%h’
like ‘%h’
like ‘x%’
可以匹配0、1、多个字符
xixixi空格
用 %xi
会影响匹配结果
% 不能匹配 null
_
只能匹配一个字符,不多不少
函数
拼接
concat
select concat(vend_name, '(', vend_address, ')') from vendors;
该函数将接受的字段通过'字段一','字段二'
连接
去空格
去掉左边空格
ltrim
去掉右边空格
rtrim
去掉左右空格
trim