基础语法
不区分大小写
DDL
数据库操作语句
查询所有数据库
SHOW DATEBASES;查询当前数据库
SELECT DATABASE();创建数据库
create database [if not exists] 数据库名 [default charset 字符集] [collate 排序规则]
# eg:
create database lsp;
create database if not exists lsp;删除数据库
drop database [if exists] 数据库名;
# eg
drop database lsp;使用数据库
创建表
查看当前数据库的所有表
查询表结构
表结构的修改
向表中添加字段
修改数据类型
修改字段名和字段 类型
删除字段
修改表名
删除表
删除表病重新创建该表
DML
数据修改
添加数据
给指定字段添加数据
给全部字段添加数据
批量添加数据
插入的字符串和日期类型应该包含在引号中
修改数据
如果没有条件语句,则会修改整个表的数据!
删除数据
如果没有条件语句,则会删除全部数据
不能删除某个字段的值,只能删除某条数据
DQL
查询语句
基本查询
查询多个字段
设置别名
在设置别名时,可以省略as
去除重复记录
条件查询 (where)
语法
条件
>
大于
>=
大于等于
<
小于
<=
小于等于
=
等于
<>或!=
不等于
between..... and...
在某个范围之内(含最小值、最大值)select * from emp where age between 15 and 20;
in()
在in之后的列表中的值,多选一
like 占位符
模糊匹配(_匹配单个字符,%匹配任意数量字符)select * from emp where name like '__' 查询name为两个字的员工
is null
是NULL
and 或 &&
多个条件同时成立
or 或 ||
多个条件任意一个成立
not 或 !
非
聚合函数
作用于某一列数据,将其作为整体进行纵向计算。
count
统计数量
max
最大值
min
最小值
avg
平均值
sum
求和
用法
所有null值不参与计算
分组查询
语法
其中where 和 having区别:
执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组之后对结果进行过滤。
判断条件不同:where不能对聚合函数进行判断,而having可以
执行顺序:where > 聚合函数 > having
分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义。
排序查询
语法
排序方式:
ASC:升序
DESC:降序
如果是多字段排序,当第一个字段值相同时,才会根据第二个字段进行排序
分页查询
语法
起始索引从0开始,起始索引=(查询页码-1)* 每页显示记录数
分页查询是数据库的方言,不同的数据库有不同的实现,mysql中是limit
如果查询的是第一页的内容,起始索引可以省略,直接简写为limit 10
DCL
数据控制语言,用来控制数据库用户、控制数据库的访问权限。
查询用户
创建用户
修改用户密码
删除用户
权限控制
略
最后更新于
这有帮助吗?