sql语句不区分大小写
show bases;
--号注释
/**/多行注释
DDL定义
DML删改
DQL查询
DCL权限控制语言
1、DDL操作数据库
(1)查询
SHOW DATABASES;
(2)创建
CREATE DATABASES;//创建数据库
CREATE DATABASES IF NOT EXISTS 数据库名称;
(3)删除
DROP DATABASES 数据库名称;//删除数据库
DROP DATABASE IF EXISTS 数据库名称//删除数据库,如果存在则删除
(4)使用数据库
SELEST DATABASE();//查看当前使用的数据库
USE 数据库名称;//使用数据库
2、DDL操作表
(1)创建 Create
create table 表名(
字段名1 数据类型1,
字段名2 数据类型2,
字段名n 数据类型n
);
(2)查询 Retrieve
show tables;//查询当前数据库下所有表名称
desc 表名称;//查询表结构
(3)修改 updata
alter table 表名 rename to 新的表名;//修改表名
alter table 表名 add 列名 数据类型;//添加一列
alter table 表名 modify 列名 新数据类型;修改数据类型
alter table 表名 change 列名 新列名 新数据类型;修改列名和数据类型;
alter table 表名 drop 列名;删除列
(4)删除 Delete
drop table 表名;删除表
drop table if exists 表明;//删除表判断版
3、DML删改数据
(1)添加数据
insert into 表名(列名1,列名2,...) values(值1,值2...);//给指定列添加数据
insert into 表名 values (值1,值2...);//给全部列添加数据
insert into 表名(列名1,列名2,....) values(值1,...)(值1.。。);//批量添加
insert into 表名 values(值1,值2),(值1,。。。);
(2)修改数据
update 表名 set 列名1=值1,列名2=值2,...[where 条件];
4、DQL数据库进行查询的操作
select
字段列表
from
表名列表
where
条件列表
group by
分组字段
having
分组后条件
order by
排序字段
limit
分页限定
(1)基础查询
select 字段列表 from 表名;
select * from 表名;--查询所有数据
select destinct 字段列表 from 表名;//去除重复记录
AS:AS也可以省略//起别名
(2)条件查询
where 字段 运算符 条件;
select 字段列表 from 表名 where 条件列表;
select * from students where name like '马%';//查询姓马的信息
select * from students where name like '_花%';//查询第二个字是花的信息
select * from students where name like'%马%';查询名字中带马的学员信息
(3)排序查询
select 字段列表 from 表名 order by 排序字段名1[排序方式1],排序字段名2[排序方式2]...;
排序方式
asc:升序排序(默认值i)
desc:降序排序
***聚合函数
count(列名)统计数量
max(列名)最大值
min(列名)最小值
sum(列名)求和
avg(别名)平均值
聚合函数语法
select 聚合函数名(列名) from 表;
(4)分组查询
select 字段列表 from 表名[where 分组前条件限定] group by 分组字段名 [having 分组后条件过滤];
执行顺序:where>聚合函数>having
例:select avg(math) from stu group by sex;//从从stu表中查平均分用sex来分类
结果
男 91
女 72.6
查询 查询男女的数学平均分,以及各自人数,要求:抵御70分不参与分组,分组之后人数大于2
select sex,avg(math),count(*) from stu where math > 70 group by sex having count(*) > 2;
where不能使用聚合函数 having可以
(5)分页查询
select 字段列表 from 表名 limit 起始索引,查询条目数
起始索引 = (当前页码-1)* 每页显示的条数
select * from stu limit 0,3;//从0开始,查询三条数据
select * from stu limit 0,3;//每页显示三条数据,查询第1页数据
select * from stu limit 3,3;//每页显示三条数据,查询第二页数据
select * from stu limit 6,3;//每页显示三条数据,查询第三页数据
limit是mysql的方言
运算符