分类:
DQL语句 数据查询语言 select
DML语句 数据操作语言 insert delete update
DDL语句 数据库定义语言 create drop alter
TCL语句 事务控制语言 commit rollback
一些命令以及方法
net start mysql ----- //需以管理员身份运行Cmd启动
mysql -u root -p ----- 登录数据库
ues 数据库名;----- 使用该数据库
show tables; ----- 查看当前数据库的所有数据
desc 表名; ----- 查询表里的数据
select databases();-----查看当前所在数据库名称
exit;-----退出数据库
升序排序
select 字段 from 表名 order by 字段 asc;
降序排序
select 字段名 from 表名称 order by 字段 desc;
升序排序中如果第一个相同,按照第二个升序排序
select 字段 from 表名 order by 字段1,字段2 asc;
通过字段下标排序,下标为查询下标
select * from 表名 order by x desc; //第X个下标降序排序
数据处理函数(单行处理函数)
Lower 转换小写
upper 转换大写
substr 取子串(substr(被截取的字符串,起始下标,截取的长度))
length 取长度
trim 去空格
str_to_date 将字符串转换成日期
date_format 格式化日期
format 设置千分位
round 四舍五入
rand() 生成随机数
Ifnull 可以将null转换成一个具体值
一些用法
//去空格
select 字段名 from 表名称 where 字段名 = trim<' abc '>;
//四舍五入
select round<xxx.xx,n>; //四舍五入到那个位 n为n个小数 负数为整数位 正数为小数位
//随机数
select rand<>; //随机数 rand范围0-1
年份常识
//年份
%Y代表四位年份 %y代表两位的年份
%m代表月(01..12) %c代表月(1...12)
%d代表日
%H代表24小时制 %h 代表12小时制
%i 代表分钟 (00..59)
%S或者%s 代表秒(00..59)
分组函数
//求和
select sum<字段名> from 表名;
//空值处理
select sum<<字段名1+ifnull<字段名2,0>>> from 表名;
//平均
select avg<字段名> from 表名;
//最大最小
select max<字段名> from 表名;
select min<字段名> from 表名;
SQL语句
from 将硬盘上的表文件加载到内存
where 将符合条件的数据行摘取出来。生成一张新的临时表
group by 根据列中的数据种类,将当前临时表划分成若干个新的临时表
having 可以过滤掉group by 生成的不符合条件的临时表
select 对当前临时表进行整列读取
order by 对select生成的临时表,进行重新排序,生成新的临时表
limit 对最终生成的临时表的数据行,进行截取
跨表查询 —笛卡尔积现象
若两张表进行连接查询的时候没有任何条件限制,最终的查询结果总数是两张表记录的乘积
select 字段名1,字段名2 from 表名1,表名2;
连接方式
内连接(等值连接、非等值连接、自连接)
外连接(左外连接/左连接、右外连接/右连接)
全连接
SQL92:select xxx from 表名1,表名2 where 表的连接条件 and 数据过滤条件;
SQL99:select xxx from 表名1 join 表名2 on 连接的条件 where 数据过滤条件;