一、自增長
1.前提
存在一個(gè)id列旦委,我們希望在添加記錄的時(shí)候其垄,該列從1開始自動(dòng)增長
2.語句
字段名 整型 primary key auto_increment
3.添加自增長的字段方式
insert into xxx(字段1刷钢,字段2...) values(null,'值'...)
insert into xxx(字段2) values('值1','值2'...)
insert into xxx values(null,'值1'...)
create table users(
user_id INT AUTO_INCREMENT PRIMARY KEY,
user_name VARCHAR(50) NOT NULL,
email VARCHAR(100)
);
insert into users(user_name, email) values ('u1', 'u1@test.com');
insert into users(user_name, email) values ('u2', 'u2@test.com');
select * from users;
user_id|user_name|email |
-------|---------|-----------|
1|u1 |u1@test.com|
2|u2 |u2@test.com|
4.自增長使用細(xì)節(jié)
①一般來說自增長要和primary key配合使用
②自增長也可以和unique配合使用
③自增長修飾的字段是整型的
④自增長從1開始,也可以修改通過:alter table 表名 auto_increment = 新的開始值
⑤如果添加數(shù)據(jù)你在自增長那一列設(shè)置了你的值勤篮,他就會(huì)用你的值都毒,后面增長也是按照你設(shè)置的這個(gè)值往后+1
二、索引
1.原理
image
2.索引的好處>壞處
①好處:索引形成了一個(gè)索引數(shù)據(jù)結(jié)構(gòu)碰缔,如二叉樹账劲,所以查找會(huì)很快
②壞處:磁盤占用更大,dml語句效率會(huì)降低
3.索引分類
①.主鍵索引:主鍵自動(dòng)為主鍵索引
②.唯一索引:unique
③.普通索引:index
④.全文索引:fulltext
4.索引的增刪改查
=============================================添加索引
create table t4(id int,`name` varchar(32))
創(chuàng)建唯一索引
create unique index id_index on t4 (id)
查詢索引
show index from t4
創(chuàng)建普通索引兩種方式
create index name_index on t4 (`name`)
alter table t4 add index id_index (id)
當(dāng)某列的值不會(huì)重復(fù)用唯一索引unique,其他用普通索引
create table t5(id int,`name` varchar(32))
創(chuàng)建主鍵索引(當(dāng)創(chuàng)建表時(shí)在字段后面加上primary key 該字段會(huì)自動(dòng)生成主鍵索引)
alter table t5 add primary key (id)
=============================================刪除索引
刪除普通索引
drop index id_index on t4
刪除主鍵索引(后面不用加字段名瀑焦,表只有一個(gè)主鍵)
alter table t5 drop primary key
==============================================修改索引腌且,就是先刪除索引,再添加
===============================================查詢索引
show index from t4
show indexes from t4
show keys from t4
5.適合創(chuàng)建索引條件
1.較為頻繁的作為查詢條件字段應(yīng)該創(chuàng)建索引
2.唯一性太差的字段不適合單獨(dú)創(chuàng)建索引榛瓮,即使頻繁作為查詢條件铺董,比如:性別
3.更新非常頻繁的字段不適合創(chuàng)建索引
4.不會(huì)出現(xiàn)在where子句中字段不該創(chuàng)建索引