1.表
1.1)建表
create table student(
id int(4) not null,
name char(20) not null,
age tinyint(2) not null default '0',
dept varchar(16) default null);
show create table student\g
1.2)檢視建表的結構
1.3)檢視已建表的語句
2.索引
2.1 索引型別
1)主鍵索引:每個表只能有乙個主鍵列
create table student(
id int(4) not null auto_increment,
name char(20) not null,
age tinyint(2) not null default '0',
dept varchar(16) default null,
primary key(id),
key index_name(name)
也可後來再新增主鍵:
2)普通索引
alter table student drop index index_name; #或者用drop index index_name on student;
alter table student add index index_name(name);
create index index_dept on student(dept(8)); #對dept列的前八個字元建立索引(指定對前n個字元建立索引)
show index from student\g #顯示某錶中有的索引,mysql預設的索引一般都是btree索引
3)聯合索引
create index index_name_dept on student(name,dept); #也可限定name的前n個字元和dept的前m個字元
4)唯一索引(非主鍵索引)
2.2 索引的建立條件
索引是要佔空間的,而且需要維護,因此建立索引要遵循一定條件:
要在表的列上建立索引;
索引會加快查詢速度,但是會影響更新速度;
select user,host from mysql.user where host=....索引一定要建立在where後的條件列上,而不是select後的選擇資料的列;
盡量選擇在唯一值多(比如這個表就男或女兩個選項)的大表上的列建立索引。
2023年10月30日
祝好!
mysql 表 索引 mysql 為表新增索引
索引作用 在索引列上,除了上面提到的有序查詢之外,資料庫利用各種各樣的快速定位技術,能夠大大提高查詢效率。特別是當資料量非常大,查詢涉及多個表時,使用索引往往能使查詢速度加快成千上萬倍。例如,有3個未索引的表t1 t2 t3,分別只包含列c1 c2 c3,每個表分別含有1000行資料組成,指為1 1...
mysql普通索引回表 MySQL索引
基礎 什麼是索引 索引是關聯式資料庫中對某一列或多個列的值進行預排序的資料結構。索引的作用 索引的是用於資料查詢的一種資料結構,常見的用於資料查詢的資料結構,有有序陣列 二叉查詢樹 雜湊表等,這些資料結構都是查詢速度較快的。面臨的問題 索引設計面臨如下幾個問題 如何更快的查詢到資料 是否支援範圍查詢...
mysql索引回表
先索引掃瞄,再通過id去取索引中未能提供的資料,即為回表。建表mysql create table t id int primary key,k int not null,name varchar 16 index k engine innodb 如果語句是 select from t where ...