索引
类似目录,方便查找
创建索引目的是提高查询的效率
特殊结构的查询表,数据库可以利用其进行加速查找
一个字段可以创建多个索引
优点
1.提高系统性能,加快查询速度
2.创建索引需占用资源,没必要全部字段创建
创建普通索引(建表时若添加主键,则主键自动创建索引)
create index 索引名 on 表名 ( 字段,字段);
显示索引
show index from 表名;
唯一索引 (若有相同值则创建失败)(工作中由数据库管理/开发人员进行配置)
create unique index 索引名 on 表名(字段名 );
删除索引
alter table 表名 drop index 索引名;
视图(同为表)
查看表和视图
show table;
创建视图(修改视图表内内容,原表会被修改,,修改原始表,相应的视图也会修改)
create view 视图名 as (select 字段啊,字段 from 表名);
删除视图
drop view 视图名;
mysql 常见约束
外键约束:foreign key
主键约束:primary key
非空约束:not null
默认约束: default
自增长约束: auto_increment
外键
创建的目的:确保数据一致性,对数据库资源进行管理,可以防止数据删除
create table wu1(id int(4)primary key,name varchar(20) )engine =innodb;
create table wu2(sid int(4)primary key,phonenum bigint(20),constraint wu foreign key(sid) references wu1(id) )engine= innodb;
存储
存储一款可以进行编译的函数,封装特定功能 ,大量数据insert into插入较慢
可以用存储过程写一个方法,进行插入,且可以重复使用
特点
1.增强sql语句灵活性
2.执行速度快
3.实用性强
4.分布式工作
5.防止sql注入
6.可以用外部程序进行调用
存储过程和函数区别
1.用于sql中使用,完成特定任务
2.头部为procedure
3.sql中select语句不能调用存储过程
函数
1.作用于特定数据
2.程序头部为
drop procedure if exists ergouzi; #判断这个ergouzi存储
create procedure ergouzi()#存储过程的名称
begin #存储过程的开始
drop table if exists uuid; #如果这个表 6666存在那么就删除这个表
create table uuid(id int(4),name varchar(20));
insert into uuid(id,name)values(1,'hh');
end #存储过程的结束
call ergouzi() #调用这个存储过程,执行
|
|