1.DB、DBMS、SQL分别是什么,之间的关系是什么?
DB:DataBase(数据库)。
DBMS:数据库管理系统。
SQL:结构化查询语句,是一门标准通用的语言。
DBMS负责执行SQL语句,通过执行SQL语句来操作DB中的数据。
DBMS-(执行)——>SQL-(操作)——>DB。
2.SQL语句的分类
DQL(数据查询语言):使用select语句都是DQL。
DML(数据操作语言):包括insert、delete、update,对表中的数据进行增删改。
DDL(数据定义语言):包括create、drop、alter,对表中的结构进行增删改。
TCL(事务控制语言):包括commit(提交事务),rollback(回滚事务)。
DCL(数据控制语言):包括grant(授权)、revoke(撤回权限)等。
3.导入数据、查看表结构、查看表中的数据
导入数据:source 文件数据地址;
查看表结构:desc 表名;
查看表中的数据:selct * from 表名;(开发中不建议使用,效率较低)
4.常用命令
select database(); 查看当前使用的是哪个数据库。
select version();查看MySQL的版本号。
\c 命令,结束一条语句。
exit 命令,退出MySQL。
show create table 表名;
5.简单的查询语句(DQL)
select 字段名1,字段名2,字段名3,... from 表名;
提示:1.任何一条SQL语句以";"结尾。
2.SQL语句不区分大小写。
-------------------------------------------------------------
重命名:select 字段名1 as 字段名2 from 表名;
提示:1. "as"可以省略不写。
2.命名为中文时要用‘ ’修饰。(可以使用“ ”,但是只支持在MySQL中,但为了规范尽量使用‘ ’)
5.1 条件查询
select 字段1,字段2,... from 表名 where 条件;
执行顺序:先from,然后where,最后select。
>,<,>=,<=,=,<>,
between...and... (提示:左小右大,数值是闭区间,字符是左闭右开。)
NULL:在数据库当中NULL不是一个值,代表什么也没有,为空。
空不是一个值,不能用等号衡量。
必须使用 is null或者is not null。
and(条件并列),or(条件选择)
in等同于or:select 字段A from 表名 where 字段A in(字段1,字段2);(not in 同理)
模糊查询like:
只需掌握特殊字符%(任意多个字符),_(任意一个字符)。
6.排序(升序,降序)
select 字段 from 表名 order by 字段 desc;(默认是升序,asc升序,desc降序)
7.分组函数(多行处理函数)
count(计数),sum(求和),avg(平均值) ,max (最大值),min(最小值)共计5个。
记住:所有的分组函数都是对“某一组”数据进行操作的。
where后面不能直接使用分组函数。
8.单行处理函数
ifnull()空处理函数
ifnull(可能为null的字段,当做什么):属于单行处理函数。
9. group by 和having
group by : 按照某个字段或者某些字段进行分组。
having : 对分组之后的数据进行再次过滤。
规则:当一条语句中有group by的话,select后面只能跟分组函数和参与分组的字段。
select 字段 from 表名 group by 字段/分段函数 having 字段/分段函数。