日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

mysql在建表语句中添加索引

發布時間:2023/12/19 综合教程 42 生活家
生活随笔 收集整理的這篇文章主要介紹了 mysql在建表语句中添加索引 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

普通索引創建

創建普通索引,即不添加 UNIQUE、FULLTEXT 等任何參數。

【例】創建表名為 score 的數據表,并在該表的 id 字段上建立索引,SQL 語句如下:

CREATE table score(
    id  int(11)  AUTO_INCREMENT  primary  key  not  null,
    name  varchar(50)  not null,
    math  int(5)  not null,
    English  int (5)  not null,
    Chinese  int (5) not  null,
    index(id)
);

此時在id字段上建立的普通索引名字為id,在id字段建立的,索引方法為BTREE,索引類型為normal

創建唯一索引

創建唯一索引時,使用 UNIQUE 參數進行約束。

【例】創建表名為 address 的數據表,并在該表的 id 字段上建立唯一索引,SQL 語句如下:

CREATE  table address(
    id  int(11)  auto_increment  primary  key  not  null,
    name  varchar(50),
    address  varchar(200),
    UNIQUE  INDEX  address(id  ASC)
);

此時在id字段上建立的唯一索引,索引名字為address,索引方法BTREE為,索引類型為Unique

創建前綴索引(某字段前*個字節)

創建單列索引,即在數據表的單個字段上創建索引。創建該類型索引不需要引入約束參數,用戶在建立時只需要指定單列字段名,即可創建單列索引。

【例】創建名稱為? telephone? 的數據表,并指定在? tel? 字段上建立名稱為? tel_num? 的單列索引,SQL? 語句如下:

create  table  telephone(
    id  int(11)  primary key auto_increment  not  null,
    name  varchar(50)  not  null,
    tel  varchar(50)  not null,
    index  tel_num(tel(20))
);

此時在tel字段上建立的普通索引,索引名字為tel_num,索引方法為BTREE,索引類型為normal,索引取的是tel字段前20為字節建立索引

前綴索引無法使用覆蓋索引

創建全文索引

全文索引只能作用在 CHAR、VARCHAR、TEXT、類型的字段上。創建全文索引需要使用 FULLTEXT 參數進行約束。

【例】創建表名為 cards 的數據表,并在該表的 name 字段上建立全文索引,SQL 語句如下:

create  table cards(
    id int(11)  auto_increment  primary key  not  null,
    name  varchar(50),
    number  bigint(11),
    info  varchar(50),
    FULLTEXT  KEY  cards_number(name)
);

此時在name字段上建立的全文索引,索引名字為cards_number,索引方法為空(沒有),索引類型為FULL TEXT

創建多列索引

創建多列索引即指定表的多個字段即可實現。

【例】創建名稱為 information 的數據表,并指定 name 和 sex 為 多列索引,SQL 語句如下:

create table  information(
    inf_id  int(11)  auto_increment  primary  key  not  null,
    name  varchar(50)  not  null,
    sex  varchar(5)  not null,
    birthday  varchar(50)  not  null,
    index  info(name,sex)
);

此時在name,sex字段上建立的普通聯合索引,索引名字為info,索引方法為BTREE,索引類型為normal

創建空間索引(在MyISAM上)

創建空間索引時,需要設置 SPATIAL 參數。同樣,必須說明的是,只有 MyISAM 類型表支持該類型索引。而且,索引字段必須有非空約束。

【例】創建一個名稱為 list 的數據表,并創建一個名為 listinfo 的空間索引,SQL語句如下:

create  table  list(
    id  int(11)  primary  key  auto_increment  not null,
    goods  geometry  not  null,
    SPATIAL  INDEX  listinfo(goods)
)engine=MyISAM;

goods? 字段上已經建立名稱為? listinfo 的空間索引,其中? goods? 字段必須不能為空,且數據類型是? GEOMETRY,該類型是空間數據類型??臻g類型不能用其他類型代替,否則在生成空間素引時會產生錯誤且不能正常創建該類型索引。

空間類型除了上述示例中提到的 GEOMETRY 類型外,還包括如? POINT、LINESTRING、POLYGON? 等類型,這些空間教據類型在平常的操作中很少被用到。

參考

原文鏈接:https://blog.csdn.net/qq_41573234/article/details/80250279

總結

以上是生活随笔為你收集整理的mysql在建表语句中添加索引的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。