索引
索引可以增加查询速度
但是增加了维护索引的负担,我们在增,删,改数据的同时,还需要维护索引
索引一共分四类
1,主键索引:如果一个字段被定义为主键,则自动在该字段上建立主键索引
2,唯一索引:如果一个字段上的数据在整张表内是唯一的,可以在该字段上建立唯一索引,这样一旦找到某个数据,就不
需要再次向下查找数据,速度比较快3,普通索引:在某个普通的字段上建立普通索引
4,全文索引:在某个字段上建立全文索引,将记录内的关键字抽取出来,然后对每个关键字进行索引
创建索引:create [索引类型] index 索引名 on 表名(这张表的某个字段);
alter table 表名 add[索引类型] index 索引名(这张表的某个字段);
查看索引:
show indexes from 表名
删除索引:
drop index 索引名字 on table 或者
alter table 表名 drop index 索引名字
修改索引要先删除再增加
explain语句 查看一下索引能起到什么作用
外键
例如,现有商品表和商品类表。使用外键可以做到删除商品某一类的时候同事删除商品表中这一类所有商品
外键好处:
可以使得两张表关联,保证数据的一致性和实现一些级联操作
外键的使用条件:
1,两张表必须是innoDB存储引擎的表
2,mysql 4.1.2版本之前的外键列需要建立索引
3,外键关系的两个表的列必须数据类型相似
int tinyint 但是int varchar就不行
语句:
创建表的时候设定外键及这个表跟随的主表名,比如商品表跟随商品类表
create table table_name(id,int,name,char(20),foreign key(id) references outTable_name(id) on delete casecade on update cascade)
设置外键时的references outTable_name(id) on delete casecade on update cascade 意思是监听outTable_name表,在这个表做删除和更新的时候table_name表也跟随外表的动作
监听的外键表的行为:delete update
foreign key(id) 指定当前表哪个字段是外键
references 和外部哪个表关联
constrint ‘’; 指定一个名称,(外键关联的名称,为了将来删除这个外键的话,通过这个名称来删除)约束的名称
改密码懒得总结。。。。。
索引可以增加查询速度
但是增加了维护索引的负担,我们在增,删,改数据的同时,还需要维护索引
索引一共分四类
1,主键索引:如果一个字段被定义为主键,则自动在该字段上建立主键索引
2,唯一索引:如果一个字段上的数据在整张表内是唯一的,可以在该字段上建立唯一索引,这样一旦找到某个数据,就不
需要再次向下查找数据,速度比较快3,普通索引:在某个普通的字段上建立普通索引
4,全文索引:在某个字段上建立全文索引,将记录内的关键字抽取出来,然后对每个关键字进行索引
创建索引:create [索引类型] index 索引名 on 表名(这张表的某个字段);
alter table 表名 add[索引类型] index 索引名(这张表的某个字段);
查看索引:
show indexes from 表名
删除索引:
drop index 索引名字 on table 或者
alter table 表名 drop index 索引名字
修改索引要先删除再增加
explain语句 查看一下索引能起到什么作用
外键
例如,现有商品表和商品类表。使用外键可以做到删除商品某一类的时候同事删除商品表中这一类所有商品
外键好处:
可以使得两张表关联,保证数据的一致性和实现一些级联操作
外键的使用条件:
1,两张表必须是innoDB存储引擎的表
2,mysql 4.1.2版本之前的外键列需要建立索引
3,外键关系的两个表的列必须数据类型相似
int tinyint 但是int varchar就不行
语句:
创建表的时候设定外键及这个表跟随的主表名,比如商品表跟随商品类表
create table table_name(id,int,name,char(20),foreign key(id) references outTable_name(id) on delete casecade on update cascade)
设置外键时的references outTable_name(id) on delete casecade on update cascade 意思是监听outTable_name表,在这个表做删除和更新的时候table_name表也跟随外表的动作
监听的外键表的行为:delete update
foreign key(id) 指定当前表哪个字段是外键
references 和外部哪个表关联
constrint ‘’; 指定一个名称,(外键关联的名称,为了将来删除这个外键的话,通过这个名称来删除)约束的名称
改密码懒得总结。。。。。