索引
索引是一种类似目录的数据结构。
作用:可以利用索快速访问数据库中的特定信息
分类:普通索引(这是基本索引没有任何限制)
create index 索引名 on 表名(字段); 创建索引
show index from 表名; 查看索引
alter table 表名 drop index 索引名; 删除索引
唯一索引(索引值必须唯一,但允许有空值)
create unique index 索引名 on 表名(字段);
主键索引(和主键约束相辅相成)
添加一个主键约束就是创建一个主键索引,一般在建表时同时建立主键索引
alter table 表名 add primary key(字段); 创建索引
alter table 表名 drop primary key; 删除索引
视图
视图是依据基本表创建的一张虚拟表,他不在数据库中以存储数据的形式保存
视图的更新删除会影响基本表
基本表的更新删除也会影响视图
create view 视图名 as (select 字段1,字段2,字段3) from 表名); 创建视图
DDL数据库定义语言(对表和表结构进行操作)
create、alter table、drop
DML数据库操作语言(对表数据操作)
insert into、update、select、delete
foreign key 外键约束
show create table 表名; 查看建表语句
如果主表与主表存在外键约束,主表中不存在的数据不能在子表中插入
如要删除主表数据,先要删除与主表相关的子表数据
alter table 子表名 drop
create table class_one (ID int(9) not null auto_increment,name varchar(20) ,
sex varchar(6) default 'male',phone bigint(11) default '0',primary key (ID) )
engine=innodb;
建一个具有外键约束的主表
create table 子表名(字段1 数据类型 约束条件,字段2 数据类型 约束条件,constraint 外键约束名 foreign key
子表名(字段)reference 主表(字段))engine=innodb; 建一个具有外键约束的主表
存储过程
存储过程是完成特定功能的sql语句的集合
存储过程=sql语句集合+控制语句
create procedure 存储过程名称(参数名,数据类型) #创建存储过程
begin #存储过程开始
存储过程体
end #存储过程结束
call 存储过程名称(参数名,数据类型) #调用存储过程
存储过程判断语句
单分支
| 多分支(有多少if最后就加多少个end if
| if 判断条件1
then 执行sql语句1
else sql语句2
end if;# 以end if结束
| if 条件1
then sql语句1
else if 条件2
then sql语句2
else sql语句3
end if;
end if;
end if;
|
declare i int() default (select count(*) from score) 在存储过程中定义值
循环 while 语句
while 条件
do 循环语句
end while;
|
|