mysql索引的操作
一、创建和查看普通索引
这是最基本的索引类型,而且它没有唯一性之类的限制
1.创建表时创建普通索引
CREATE TABLE table_name(
属性名 数据类型,
。。。
属性名 数据类型,
INDEX|KEY 【索引名】(属性名1 【(长度)】 【ASC|DESC】)
);
2.在已经存在的表上创建普通索引
CREATE INDEX 索引名
ON 表名(属性名 【(长度)】 【ASC|DESC】);
3.通过ALTER TABLE 创建普通索引
ALTER TABLE table_name
ADD INDEX|KEY 【索引名】(属性名1 【(长度)】 【ASC|DESC】);
二、创建和查看唯一索引
这种索引和前面的“普通索引”基本相同,但有一个区别:索引列的所有值都只能出现一次,即必须唯一。
1.创建表时创建唯一索引
CREATE TABLE table_name(
属性名 数据类型,
。。。
属性名 数据类型,
UNIQUE INDEX|KEY 【索引名】(属性名1 【(长度)】 【ASC|DESC】)
);
2.在已经存在的表上创建唯一索引
CREATE UNIQUE INDEX 索引名
ON 表名(属性名 【(长度)】 【ASC|DESC】);
3.通过ALTER TABLE 创建唯一索引
ALTER TABLE table_name
ADD UNIQUE INDEX|KEY 【索引名】(属性名1 【(长度)】 【ASC|DESC】);
三、创建和查看全文索引
全文索引主要关联在数据类型为CHAR,VARCHAR和TEXT的字段上,以便能够更快地查询数据量较大的字符串类型的字段,只能在MYISAM引擎上创建全文索引
1.创建表时创建全文索引
CREATE TABLE table_name(
属性名 数据类型,
。。。
属性名 数据类型,
FULLTEXT INDEX|KEY 【索引名】(属性名1 【(长度)】 【ASC|DESC】)
);
2.在已经存在的表上创建全文索引
CREATE FULLTEXT INDEX 索引名
ON 表名(属性名 【(长度)】 【ASC|DESC】);
3.通过ALTER TABLE 创建全文索引
ALTER TABLE table_name
ADD FULLTEXT INDEX|KEY 【索引名】(属性名1 【(长度)】 【ASC|DESC】);
四、创建和查看多列索引
多列索引是指在创建索引时,所关联的字段不是一个字段,而是多个字段。
1.创建表时创建多列索引
CREATE TABLE table_name(
属性名 数据类型,
。。。
属性名 数据类型,
INDEX|KEY 【索引名】(属性名1 【(长度)】 【ASC|DESC】,
。。。
属性名1 【(长度)】 【ASC|DESC】)
);
2.在已经存在的表上创建多列索引
CREATE INDEX 索引名
ON 表名((属性名1 【(长度)】 【ASC|DESC】,
。。。
属性名1 【(长度)】 【ASC|DESC】)
);
3.通过ALTER TABLE 创建多列索引
ALTER TABLE table_name
ADD INDEX|KEY 【索引名】(属性名1 【(长度)】 【ASC|DESC】,
。。。
属性名1 【(长度)】 【ASC|DESC】)
);
五、删除索引
DROP INDEX index_name
ON table_name;
或者
ALTER TABLE table_name
DROP INDEX index_name;
mysql索引的操作的更多相关文章
- mysql之对索引的操作
1. 为什么使用索引? 数据库对象索引与书的目录非常类似,主要是为了提高从表中检索数据的速度.由于数据储存在数据库表中,所以索引是创建在数据库表对象之上的,由表中的一个字段或多个字段生成的键组成,这些 ...
- MySQL索引的缺点以及MySQL索引在实际操作中有哪些事项
以下的文章主要介绍的是MySQL索引的缺点以及MySQL索引在实际操作中有哪些事项是值得我们大家注意的,我们大家可能不知道过多的对索引进行使用将会造成滥用.因此MySQL索引也会有它的缺点: 虽然索引 ...
- MySQL如何进行索引重建操作?
在MySQL数据库中,没有类似于SQL Server数据库或Oracle数据库中索引重建的语法(ALTER INDEX ... REBUILD),那么在MySQL数据库中,是否有什么方式重建索引呢? ...
- 优化、分析Mysql表读写、索引等操作的sql语句效率优化问题
为什么要优化: 随着实际项目的启动,数据库经过一段时间的运行,最初的数据库设置,会与实际数据库运行性能会有一些差异,这时我们 就需要做一个优化调整. 数据库优化这个课题较大,可分为四大类: >主 ...
- MySQL数据库4Python操作mysql、索引、慢查询日志
目录 一.Python 操作 mysql 1.1python 操作 mysql 1.2查询数据 1.3增加(添加.更新)数据 1.4修改数据 1.5删除数据 1.6SQL注入问题 1.6.1问题的引入 ...
- MySQL索引操作
创建普通索引 CREATE INDEX index_name ON table_name(column1,column2); 另一种建立方式: ALTER TABLE table_name ADD I ...
- 深入MySQL索引
MySQL索引作为数据库优化的常用手段之一在项目优化中经常会被用到, 但是如何建立高效索引,有效的使用索引以及索引优化的背后到底是什么原理?这次我们深入数据库索引,从索引的数据结构开始说起. 索引原理 ...
- MYSQL索引结构原理、性能分析与优化
[转]MYSQL索引结构原理.性能分析与优化 第一部分:基础知识 索引 官方介绍索引是帮助MySQL高效获取数据的数据结构.笔者理解索引相当于一本书的目录,通过目录就知道要的资料在哪里, 不用一页一页 ...
- MySQL索引原理及慢查询优化
原文:http://tech.meituan.com/mysql-index.html 一个慢查询引发的思考 select count(*) from task where status=2 and ...
随机推荐
- MySQL Connector/Python 接口 (二)
连接数据库 本文参见这里,示例如何连接MySQL 数据库. import mysql.connector from mysql.connector import errorcode # 连接数据库需要 ...
- 洛谷 1541 NOIp2010提高组 乌龟棋
[题解] 很容易想到这是一个DP,f[i][j][k][l]表示4种卡片分别用了多少张,那么转移方程就是f[i][j][k][l]=Max(f[i-1][j][k][l],f[i][j-1][k][l ...
- java 反射运用
一,获取私有的属性,方法,构造器(俗名:暴力反射) 现有一个类,属性,方法,构造器均为私有的,如何创建实例对象,更该属性值,调用方法? public class Student { private S ...
- 关于字符串不为空 错误:s!=null
错误:s!=null 正确:StringUtils.isNotBlank(s); public static boolean isBlank(CharSequence cs) { int strLen ...
- UVAL - 6755 - Swyper Keyboard
先上题目: https://icpcarchive.ecs.baylor.edu/external/67/6755.pdf 题目复制起来比较麻烦. 题意:定义一种操作:给出一个字符串,然后手指就按照给 ...
- C语言试题(标准答案)
C语言试题(标准答案) 一.单选题(每小题2分,共20小题40分) 1.1-1.5 B D A C B 1.6-1.10 C A D B C 1.11-1.1 ...
- FFT快速傅里叶变换
FFT太玄幻了,不过我要先膜拜HQM,实在太强了 1.多项式 1)多项式的定义 在数学中,由若干个单项式相加组成的代数式叫做多项式.多项式中的每个单项式叫做多项式的项,这些单项式中的最高项次数,就是这 ...
- NOIP2010 提高组合集
NOIP 2010 提高组合集 T1 机器翻译 模拟题,用一个栈模拟,桶记录即可. #include <iostream> #include <cstdio> #include ...
- tomcat这种http服务器,是能接收到客户端的断开信息的,并能打印出来
如,tomcat的运行文件 DEBUG -- CLOSE BY CLIENT STACK TRACE
- 条款39: 避免 "向下转换" 继承层次
基类指针不能调用派生类的独有的成员,即使基类指针指向派生类对象,因为编译器是根据指针的静态类型来确定调用对象在内存中占据的空间的.此时可以使用static_cast来转换,但不要这么做,因为向下转换难 ...