目录
增
触发器
new old 关键
create trigger trigger_名 beforce/after update/insert/delete on 表名
for each row
begin
end
创建存储过程
create procedure procedure_存储过程名(参数名 类型,)
begin
sql语句
end;
索引
创建数据表同时建索引
premary 主键索引
unique 唯一索引 唯一允许空值
fulltext 全文索引
spatial 空间索引
create table 表名(
unique/premary index 索引名 (列名)
);
已有的数据表中加索引
create unique/premary index 索引名 on 表名(列名)
alter table 表名 add unique/premary index 索引名 (列名)
--已有的数据表中加索引
create unique/primary index 索引名 on 表名(列名)
alter table 表名 add unique/primary index 索引名 (列名)
视图
创建视图
create view view_视图名(视图各列名称) as select语句;
--增加操作视图数据时的检查条件 local:满足视图本身定义 cascaded:满足所有相关视图和表定义
create view view_视图名
as
select语句
with cascaded/local check option;
插入视图数据
插入数据
insert into 视图名 values(,,);
insert 表名 values(值,值),(值,值);
insert 表名 (字段名,字段名) values (值,值);
添加约束
alter table 表名 add constraint 约束名 完整性约束;
--完整性约束
unique(字段,字段) --唯一性约束
增加字段
alter table 表名 add 字段名 类型;
alter table 表名 add 字段名 类型 after 字段名; --在#字段后新增字段
创建
表
约束:
- 主键约束: primary key
- 非空约束:not null
- 默认值约束:default
- 自增:auto_increment
create table 表名
(字段名 数据类型 约束 comment'注释' ,
...
字段名 数据类型 约束 ,
索引
)表选项; --表选项包括存储引擎、字符集、校对集
外键
创建数据库
create database 数据库名;
create if not exists 数据库名; --避免重名
create database 数据库名 default character set 字符集 default collate collation 字符序;
删
触发器
drop trigger 触发器名
存储过程
drop procedure procedure_存储过程名
索引
alter table 表名 drop index 索引名
drop index 索引名 on 表名
视图
删除视图
drop view view_视图名1, view_视图名2;
drop view if exists view_视图名1, view_视图名2;
删除视图数据
delect from view_视图名 where 条件
删除数据
delete from 表名 where 条件;
-- 删除所有记录
delete from 表名;
--删除并释放存储空间 delete删除不能释放存储空间
truncate table 表名;
删除自增型字段的记录
- delete 在原来的基础上自增
- truncait 回到初始值
限量删除
delete from 表名 where 条件 order by 字段 asc/desc limit 记录数;
删除表
drop table 表名;
删除约束
alter table 表名 drop constraint 约束名
删除字段
alter table 表名 drop 删除的字段;
删除数据库
drop database 数据库;
drop databse if exists 数据库;
改
修改视图
update 视图名 set 列名=新值 where 条件
限量特定修改
update 表名 set 字段=新值 where 条件 order by 字段 asc/desc limit 记录数;
自增型数据的修改
alter table 表名 auto_increment=初始值;
修改数据
update 表名 set 列名=值/子查询,列名=值;
update 表名 set 列名=值/子查询,列名=值 where 条件;
修改字段
--修改字段名
alter table 表名 change 旧字段名 新字段名 类型;
--修改字段类型
alter table 表名 modify 字段名 新类型 ;
alter table 表名 modify 字段名 新类型 after 字段;
修改表
--修改表名
alter table 旧表名 rename 新表名;
rename table 旧表名 to 新表名;
--修改表选项
alter table 表名 表选项= ;
修改数据库
alter database 数据库 default chatacter set 字符集 collate 字符序; --更改字符集和字符序
修改存储引擎
set default_storage_engine=存储引擎名字;
查
触发器
查看所有触发器
show triggers
存储过程
show create procedure 存储过程名
索引
show index from 表名
sql语句索引使用情况
explain sql语句
集合运算
select 语句 union/intersect/minus select语句
--保留重复语句
select 语句 union/intersect/minus all select语句
多表查询
交叉连接
select * from 表名 cross join 表名;
select * from 表名,表名;
等值连接
select 字段 from 表名1 join 表名2 on 条件;
select 字段 from 表名1,表名2 where 条件;
自然连接
select 字段 from 表名1 join 表名2 using(字段);
外连接
select 字段 from 表名1 left/right outer join 表2 on 条件;
单表查询
select distinct * from 表名
where 条件
group by 列名 having 条件
order by 列名 asc/desc
limit
条件查询
selecte 列名 from 表名 where 条件;
selecte 列名 from 表名 where 列名 between 下界 and 上界; --范围查询
selecte 列名 from 表名 where 列名 in(值,值);
selecte 列名 from 表名 where 列名 like '%_';
selecte 列名 from 表名 where 列名 is NULL;
分组查询
聚合函数
- count
- sum
- avg
- max
- min
select 列名,聚合函数 from 用于分组的列名 having 分组条件;
限制结果数量查询
selete 列名 from 表名 limit 偏移量(0,1...),记录数;
selete 列名 from 表名 limit 一页的记录数*(查询页数-1),记录数;
排序查询
select 列名 from 表名 order by 列名 asc升序/desc降序,列名 asc升序/desc降序;
数据表
show tables; --查看所有表
show tables like ' '; --'%'匹配0-多个字符 '_'匹配一个字符
--查看数据表详细数据
show table status; --查看当前表详情
show tables status from 数据库 ; --查看数据库所有表详情
--查看数据表结构
desc 数据表;
desc 数据表 字段名;
show columns from 数据表;
--查看数据表创建语句
show create table 表名;
查看当前存储引擎
show variables like ‘%storage_engine%’;
查看数据库
show databases; --查看所有
show create database 数据库; --查看某个数据库
select database(); --查看当前使用的数据库
用
调用存储过程
call procedure_名 (参数)
切换使用数据库
use 数据库;