索引 什么是索引:索引就是可以通过搜索到特定值(可以理解为一本书的目录) 给单个字段创建索引: select * from 表; create index 索引名 on 表名(字段);给id创建索引; create index yy 索引名 表名(字段,字段);同时创建两个字段的索引 show index from 表名 查索引 分类: 普通索引:最基本的索引没有任何限制 创建:create index 索引名 on 表名(字段) 查看索引:show index from 表名 删除索引:alter table 表名 drop index 索引名; 唯一索引:它与前面的普通索引类似,不同的就是:索引列的值必须唯一, 但允许有空值 创建索引:create unique index 索引名 on 表名(字段) 查索引:show index from 表名 删除索引:alter table 表名 drop index 索引名; 主键索引::它是一种特殊的唯一索引,不允许有空值。一般是在建表的时 候同时创建主键索引 ( 可以理解为创建主键索引 等于创建主键约束) 创建索引:alter table 表名 add primary key(id); 查索引:show index from 表名 删除索引:alter table 表名 drop PRIMARY key 数据库视图 视图的特点 视图时由基本表产生的虚表 视图的更新和删除会影响基础表 基础表的更新和删除也会影响到视图 对视图的操作与对基本表的操作都是一样的(包括alter,create,insert into ,update ,delete ,select),且二者任意一方的字段值被修改,都会实时影响 到对方 作用:用来保护数据隐私 create view yy as (select id,name from 表名); //查询的表中id,name 字段创建为视 图yy show CREATE VIEW yy(视图名)//也能查看到视图 Show tables //查看视图 drop view 视图名; //删除视图 数据库中的DDL和DML DDL //数据库定义语言 (对表结构和表字段进行操作) create alter table DROP DML //数据库操作语言 (对表数据进行操作) INSERT INTO DELETE select UPDATE 数据库的中的约束类型: 限定表字段的约束 primary key not null auto_increment default 外键约束 外键的主要作用是:保持数据的一致性、完整性 file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml15216\wps1.jpg file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml15216\wps2.jpg 删除自增长就是跟修改字段属性一样,也会用到change file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml15216\wps3.jpg file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml15216\wps4.jpg 存储过程 file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml15216\wps5.jpg 例子: create table user(id int(8) primary key auto_increment,user_name varchar(20),user_pwd int(6),verify varchar(30)); insert into user values(1,"user1",123456,"W4E38J"); select * from user; drop procedure if exists random_user1; create PROCEDURE random_user1(n int) begin declare i int(8) default (select count(*) from user); declare j varchar(20) default ""; declare x varchar(20) default ""; if n<=i then select count(*) from user; else while n>i do set j= (select CONCAT("user",i+1)); set x= (select substring(md5(rand()),1,6)); insert into user(user_name,user_pwd,verify)values(j,123456,x); set i=i+1; end while; select * from user; end if; end call random_user1(50) SELECT *from user
|