mysql的经典查询语句

drop database 新数据库名称 if exists //该语句用于判断要创建的数据库是否已存在,如果存在则删除已存在的数据库,繁殖不做任何处理
create database 新数据库名称
show databases 查看已存在的数据库
show tables 查看已存在的数据表
drop table tablename删除数据表
逻辑运算优先级
not>and>or
where 字段名<> 查找非空数据
limit查询前n条记录
order by 字段名(asc)升序
order by 字段名 desc 降序
limit 满足条件的起始位置,记录个数 //查询从指定位置开始的N条记录
where 字段名>初始值 and 字段名<终止值(between and)//指定范围查找
year(data)month(data)day(data) 返回对应的日期格式值
select distinct不显示重复记录
not between 查询范围开始值 and查询范围的结束值
is not null使用关键字指定对空值或非空值搜索
not in 使用关键字是对包含在列表内还是排除在列表外
select count(*/某字段的名称)as 新字段名称(表示将求出的记录总数保存到该字段中)//显示数据表中的重复记录和记录条数
select count(*/某字段的名称)as 字段名from表名 where 查询条件 group by //通过groupby字句,可以实现将查询结果按指定的字段名进行分组
sum([all]字段名/[distinct]字段名)//对统计结果进行排序,all包括重复记录,distinct所有不重复记录
sum(字段1)as 新字段1,sum(字段2)as 新字段2 //多列数据分组统计
sum(表1.字段1)as 新字段1,sum(表2.字段2)as 新字段2//多表分组统计
avg([all|distinct])使用聚合函数求平均值
min/max([all|distinct])最小和最大值
first/last(字段)求表中第一条记录或最后一条记录
selet 字段名 from 表1,表2......where 表1.字段=表2.字段 and 其他查询条件//select的 多表查询
select 字段名 from 表名 (as) 表别名 where 条件 //使用表别名
union:利用该关键字可以将多个select语句的查询结果合并并输出,并删除重复行 all:除不删除重复行外与union一样//合并多个结果集
sql表达式 [not]in(子查询//必须与sql表达式具有相同的数据类型)//嵌套查询
sql表达式 查询条件运算符 any|all|some (子查询)//some和any是存在量的,只注重是否有返回值满足搜索条件,all它只关心是否有谓词都满足搜索条件
#子查询不能在内部处理它的结果,由比较运算符引入的内层子查询只包含以个表达式或列名,在外层的where子句内所命名的列必须与内层子查询命名的列兼容,由不课更改的比较运算符引入的子查询(不跟关键字any或all)不包括group by或having子句,除非先确定了值
联合语句
-多表联合查询
    查询表达式 union[all] 查询表达式 //使用union运算符时,所有选择列表的表达式数目必须相同,数据类型相同
-条件联合语句
    having 限定条件
内连接查询
-内连接
    select 字段列表 from 表1 [inner] join 表2 on (连接方式。例如 表1.字段1=表2.字段2)inner表示为内连接
外连接查询
-使用外连接进行多表查询
    select 字段列表 from 表1 left/right outer join 表2 on (连接条件。例如 表1.字段1=表2.字段2)+查询条件(可选)左(右)连接返回的查询结果包含左表中的所有符合查询条件及右(左)表中所有满足连接条件的行
having语句用于指定或聚合的搜索条件,通常与group by子句一起使用。如果没有group by子句,having的行为和where子句一样

你可能感兴趣的:(数据库,mysql,数据库,database,join,sql,table)