索引
索引是一种数据结构,可以利用索引快速访问数据库中的特定信息
分类:
普通索引
show index from emp; 查看emp表的索引
create index xiaoxu on emp(sid); 为emp表中的sid创建个索引xiaoxu
create index xiaoxu1 on emp(sid,name); 为emp表中的sid和name创建个索引xiaoxu1
alter table emp drop index xiaoxu1; 删除索引
唯一索引:对应字段的值必须是唯一的,但允许有空值
create unique index aa on emp(sid); 创建唯一索引
主键索引: 和主键约束相辅相成,添加一个主键约束就是添加一个主键索引,主键索引就是主键约束
alter table emp drop primary key; 删除索引
视图:
1、视图是由基本表产生的虚表
2、视图的更新和删除也会影响基础表
3、基础表的更新和删除也会影响到视图
create view des as(select sid,name,age from emp); 创建视图
select * from dcs;
update dcs set name='张三' where sid=1789; 修改视图数据
update emp set name='张三' where sid=1789; 修改基本表数据
drop view dcs; 删除视图
DDL: 数据库定义语言 对表和表结构进行操作
create
alter table
drop
DML:数据库操作语言 对表数据操作
insert into
delete
update
select
数据库约束
not null 非空约束
primary key 主键约束,里面的值是唯一的,不能重复
auto_increment 自增长约束 作用在整数类型 字段默认从1开始增长
default 默认值约束
foreign key 外键约束 表与表之间的约束
前四种都是对表结构的约束 foreign key : 表与表之间的约束
删除外键:
alter table +子表名 drop foreign key+外键名 删除外键
如果dcs1和dcs2存在外键约束,dcs1(主表)dcs2(子表) 主表中不存在的数据,不能在子表中进行插入,插入数据先在主表插入
delete from dcs1 where id=1;
delete from dcs2 where sid=1;
如果要删除主表的数据 ,要先删除子表中的数据
存储过程
固定格式:
create procedure 存储过程名称(参数名,数据类型)
begin
存储过程体
end
call 存储过程名称() 调用存储过程
drop procedure if exists dcs18;#如果dcs18这个存储过程存在删除
create procedure dcs18()#创建存储过程
begin#存储过程开始
#sql 集合
drop table if exists aa;#如果aa存在删除
create table aa(id int(5)primary key auto_increment,score int(5));
insert into aa values(1,88),(2,75);
insert into aa values(3,79),(4,23);
insert into aa values(5,76),(6,77);
insert into aa values(7,78),(8,79);
end#存储过程结束
循环 条件成立进入循环 条件不成立 退出循环
while 语句格式
while 条件 do
执行循环体(sql)
end while;
用户名不重复 concat函数 concat(‘user’,i)
|
|