MySQL的常用命令及查询

语句分类

DQL:(*)

数据查询语言 (凡是带有select关键字的都是查询语句)

DML:(*)

数据操作语言 (凡是对表中的数据进行增删改的都是DML)

DML主要是操作表中的数据

insert 增

delete 删

update 改

DDL:

数据定义语言 (凡是带有create、drop、alter的都是DDL)

DDL 主要操作的是表的结构,不是表中的数据

create 新建,等同于增

drop 删除

alter 修改

TCL:

事务控制语言

事务提交 commit

事务回滚 rollback

DCL:

数据控制语言

授权 grant

撤销权限 revoke

- - - - - -

常用命令 (sql语句不区分大小写)

退出MySQL: exit

查看MySQL中有哪些数据库: show databases; (以分号结尾,分号是英文的分号)

选择使用某个数据库: use 数据库名称;

创建数据库: create database 数据库名称;

查看某个数据库下有哪些表: show 数据库名称;

查看MySQL的数据库版本号: select version();

查看当前使用的是那个数据库: select database();

MySQL 是不看见分号不执行,分号表示结束

\c 用来终止一条命令的输入

查询表中的数据: select * from 表名;

查询表的结构: desc 表名; (desribe的缩写)

简单查询

查询一个字段

select 字段名 from 表名;

select和from都是关键字;

字段名和表名都是标识符。

查询两个字段或多个字段

用逗号隔开

查询所有字段

1. 把所有字段都写上,用逗号隔开

2.使用 * (效率低,可读性差)

给查询的列起别名

select 列名 as 别名 from 表名; (as关键字只是将显示的查 询结果改变,原表是不变的)

as关键字可以省略

起别名有空格可以用单引号

字段可以使用数学表达式

select语句永远都不会进行修改操作

数据库中的字符串都是用单引号(标准)

条件查询

语法格式

select
    字段1,字段2,字段3......
from
    表名
where
    条件;

在数据库当中null不能使用等号衡量,需要使用 is null

and 和 or 同时出现,and 优先级较高,想让 or 先执行需要加小括号

in 不是一个区间,小括号里面是具体的值

like (模糊查询,支持 % 和 下划线 匹配)

% 匹配任意多个字符

下划线,一个下划线匹配一个字符

(% 是一个特殊符号,_ 也是一个特殊符号)

排序

select
    字段
from
    表名
order by
    字段;    (默认是升序)
select
    字段
from
    表名
order by
    字段 desc;  (指定降序)
select
    字段
from
    表名
order by
    字段 asc;  (指定升序)

多个字段排序

select
    字段1,字段2
from
    表名
order by
    字段1 asc,字段2 asc;  (字段1在前起主导,只有字段1相                      等的时候,才会考虑启用字段2排序)

数据处理函数

又称为单行处理函数

特点 :一个输入对应一个输出

常见的单行处理函数

lower 转换大小

upper 转换大写

substr 取子串(substr (被截取的字符串,起始下标,截取的长度)起始下标从1开始

length 取长度

trim 去空格

str_to_date 将字符串转变为日期

date_format 格式化日期

format 设置千分位

round 四舍五入

rand() 生成随机数

ifnull 可以将null转换成一个具体值

null只要参与运算,最终结果都是null

concat 字符串拼接

case...when...then...when...then...else...end (相当于if语句)

分组函数

多行处理函数

特点:多个输入对应一个输出

常见的多行处理函数

count 计数

sum 求和

avg 平均值

max 最大值

min 最小值

分组函数在使用的时候必须先进行分组,然后才能使用

如果未分组整张表默认为一组

  1. 分组函数自动忽略null

  2. count(*) 统计表中的总行数

    count(具体字段) 统计该字段下不为null的元素的总数

  3. 分组函数不能直接使用在where子句中(where在执行的的时候还未分组 )

  4. 所有的分组函数可以组合起来一起用

分组查询

select
    ...
from
    ...
group by
    ...

执行顺序

select
    ...
from
    ...
where
    ...
group by
    ...
order by
    ...
  1. from

  2. where

  3. group by

  4. select

  5. order by

使用having可以对分完组的数据进行进一步过滤

  1. having不能单独使用

  2. having不能替代where

  3. having必须和group by联合使用

优化策略:where和having优先选择where,where实在完成不了的使用having

总结

select
    ...
from
    ...
where
    ...
group by
    ...
having
    ...
order by
    ...

执行顺序

  1. from

  2. where

  3. group by

  4. having

  5. select

  6. order by

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值