MySQL常见的索引及创建方式

MySQL常见的索引及创建方式

普通索引

CREATE INDEX indexName ON tableName(columnName(length)); 
ALTER table tableName INDEX indexName(columnName); 
CREATE TABLE mytable(  
ID INT NOT NULL,   
username VARCHAR(16) NOT NULL,  
INDEX [indexName] (username(length))  
);  

主键索引

ALTER table tableName ADD CONSTRAINT indexName PRIMARY KEY (columnName);
CREATE TABLE `user_innodb` (
  `id` int(11) PRIMARY KEY AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  `gender` tinyint(1) DEFAULT NULL,
  `phone` varchar(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

全文索引

CREATE FULLTEXT indexName ON tableName(columnName);
ALTER table tableName FULLTEXT INDEX indexName(columnName);
CREATE TABLE article (
	id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
	title VARCHAR(200),
	content TEXT,
	FULLTEXT (title, content) --在title和content列上创建全文索引
);

唯一索引

CREATE UNIQUE indexName ON tableName(columnName);
ALTER table tablename UNIQUE [indexName](columnName);
CREATE TABLE mytable(  
ID INT NOT NULL,   
username VARCHAR(16) NOT NULL,  
UNIQUE [indexName] (username(length))  
); 

联合索引(组合索引)

CREATE INDEX indexName ON tableName(columnName,columnName);
ALTER table tableName INDEX indexName(columnName,columnName);
CREATE TABLE mytable (
    `id` int(11) ,
    `name` VARCHAR(32) ,
    INDEX index_mytable_id_name (`id`,`name`) 
);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值