ddl 数据定义语言
create 创建
drop 删除
create database 建库
create table 建表
alter table 修改表结构
dml 数据操纵语言
insert 增加
delete 删除
update 修改
select 查询
---------------
insert into 表名(列名) values(x,x);
delete from 表名 where id=?;
update 表名 set 列名=xx where id=?;
select * from 表名;
----------------------
子查询
联表查询 left join,right join,inner join
聚合查询(分组查询+聚合函数)
group by 分组
聚合函数:
sum求和 avg平均数 max最大值
min最小值 count计数
过滤: having
排序 order by xx
升序 asc
降序 desc
select * from stu where sex='x'
group by age having count(1)>2
order by age,sex desc
distinct 去重
in 在...里面
not in 不在...里面
between x and y 介于x与y之间
exists 存在...情况
or 或者
and 并且
like 模糊查询
is 是
is not 不是 is not null
分页:
sqlserver: 使用top
oracle: 使用rownum
mysql: 使用limit
-----------------六大约束
1.主键约束 primary key,不能为null
2.外键约束
3.非空约束 not null
4.默认约束 default
5.检查约束 check
6.唯一约束 unique,可以为null
create table stu(
id int primary key,
name varchar(20) not null,
sex varchar(20) not null default '男'
check(sex='男' or sex='女'),
code varchar(20) unique
);
//插入数据,不指定列名则所有的列都需要插入
insert into stu values(1,'小明','男','123');
//修改数据
update stu set name='小白' where id=1;
//删除
delete from stu where id=1;
//查询
select * from stu;
select name,sex from stu;
# 根据身份证排序
select * from stu order by code;
# 统计男女多少个
select sex,count(1) from stu group by sex;
# 添加排序
select sex,count(1) from stu group by sex order by count(1) asc;
// stu(id,name,age,sex)
//根据age排序 =====> order by
select * from stu order by age;
//根据sex分组 =====> group by
//分组之后,select后面的查询内容只能是分组的依据或者聚合函数
select sex,count(1) from stu group by sex;
//先分组sex,后排序数量
select sex,count(1) from stu group by sex order by count(1);
//先做条件的查询,在分组,在排序
---------------------------------
索引是数据的目录
主键索引
唯一索引
普通索引
联合索引
----------------------------
创建用户
create user xmg@'%' identified by "123456";
用户删除
drop user xmg@'%';