mysql索引 删除和创建_mysql索引和唯一索引的创建和删除
一、本机环境
二、索引的创建删除
三、唯一索引的创建和删除
一、本机环境
系统环境:linux centos 7.2
mysql版本:mysql-5.7.9
安装目录:/application/mysql
二、索引的创建和删除
1、索引的优缺点
优点:索引就像是目录一样,在字段上加了索引,那么以索引列为查询条件时,可以加快查询数据的速度
缺点:降低更新表的速度,如对表进行INSERT、UPDATE和DELETE。更新表时,MySQL不仅要保存数据,还要保存一下索引文件
注意事项:创建索引时,你需要确保该索引是应用在 SQL 查询语句的条件(一般作为 WHERE 子句的条件)。
2、创建索引
1)建表时直接创建
格式:
CREATE TABLE (
ID INT NOT NULL,
col_name VARCHAR(16) NOT NULL,
INDEX index_name (col_name(length))
);
例子:
create table student (
id int not null,
name varchar(16) not null,
age tinyint(2),
dept varchar(16),
index index_name(name(8))
);
2)创建
格式:CREATE INDEX index_name ON tbl_name (index_col_name,...)
例子:create index index_name on student (name (8))
3)修改表结构创建
格式:ALTER TABLE tbl_name ADD INDEX index_name (index_col_name,...)
例子:alter table student add index index_name (name)
2、删除索引
格式:DROP INDEX index_name ON tbl_name
例子:drop index index_name on student
格式:ALTER TABLE tbl_name DROP INDEX index_name (index_col_name,...)
例子:alter table student drop index index_name
三、唯一索引的创建、删除
特点:索引列的值必须唯一,但允许有空值
1、创建表的时候直接指定
格式:
CREATE TABLE (
ID INT NOT NULL,
col_name VARCHAR(16) NOT NULL,
UNIQUE index_name (col_name(length))
);
例子:
create table student (
id int not null,
name varchar(16) not null,
age tinyint(2),
dept varchar(16),
unique index_name(name(8))
);
2、创建
格式:CREATE UNIQUE INDEX index_name ON tbl_name (index_col_name,...)
例子:create unique index un_dept on student(dept);
3、修改表时创建
格式:ALTER TABLE tbl_name ADD UNIQUE INDEX index_name (index_col_name,...)
例子:alter table student add unique index index_dept (dept)
4、删除
格式:DROP INDEX index_name ON tbl_name
例子:drop index index_dept on student
格式:ALTER TABLE tbl_name DROP INDEX index_name
例子:alter table student drop index un_dept
小技巧:在创建索引的时候可以先查看该列有多少唯一值,然后创建索引
SELECT COUNT (DISTINCT col_name) FROM tbl_name
mysql索引 删除和创建_mysql索引和唯一索引的创建和删除相关推荐
- mysql两列唯一索引吗_mysql多字段唯一索引
项目中需要用到联合唯一索引: 例如:有以下需求:每个人每一天只有可能产生一条记录:处了程序约定之外,数据库本身也可以设定: 例如:user表中有userID,userName两个字段,如果不希望有2条 ...
- telephone 为空 唯一索引_记一次线上唯一索引失效没有起效的场景
背景描述:我们系统A做远程在线接口提供给B系统调用,每次的请求参数中都带有幂等单号用来做幂等校验,幂等单号对应的字段是不可空且唯一的.由于对应的业务表线上已有数据,这个幂等字段数据新加的字段,所以要做 ...
- mysql hash创建_Mysql自适应哈希索引(Adaptive Hash Index)创建的条件
官方文档: If a table fits almost entirely in main memory, a hash index can speed up queries by enabling ...
- mysql建表2个索引是啥意思_Mysql建表与索引使用规范详解
本篇文章是对Mysql建表和索引使用规范进行了详细的分析介绍,需要的朋友参考下 一. MySQL建表,字段需设置为非空,需设置字段默认值. 二. MySQL建表,字段需NULL时,需设置字段默认值,默 ...
- mysql 线上加索引_mysql手札,唯一索引引发的线上事故
昨天把一个数据表的字段从普通索引,修改成为了唯一索引.准备早早下班的时候,突然发现数据库的内存命中率从98%下降到了48%,导致大量的任务处于阻塞状态,整个系统也阻塞了. 其实这个就是普通索引和唯一索 ...
- mysql覆盖索引二次查找_mysql中关于覆盖索引的知识点总结
如果一个索引包含(或覆盖)所有需要查询的字段的值,称为'覆盖索引'. 覆盖索引是一种非常强大的工具,能大大提高查询性能,只需要读取索引而不需要读取数据,有以下优点: 1.索引项通常比记录要小,所以My ...
- null索引表键值_MySQL 的B+树索引
一.B+树索引概述 索引是应用程序设计和开发的一个重要方面.若索引太多,应用程序的性能可能会受到影响(需维护索引的结构和数据):而索引太少,对查询性能又会产生影响. 二叉树,左子树的键值总是小于根的键 ...
- Oracle索引梳理系列(七)- Oracle唯一索引、普通索引及约束的关系
版权声明:本文发布于http://www.cnblogs.com/yumiko/,版权由Yumiko_sunny所有,欢迎转载.转载时,请在文章明显位置注明原文链接.若在未经作者同意的情况下,将本文内 ...
- mysql索引结构树高度_MYSQL的B+Tree索引树高度如何计算
前一段被问到一个平时没有关注到有关于MYSQL索引相关的问题点,被问到一个表有3000万记录,假如有一列占8位字节的字段,根据这一列建索引的话索引树的高度是多少? 这一问当时就被问蒙了,平时这也只关注 ...
- mysql 更改建表语句_MySql:如何通过Sql语句创建表,更改表?,这几步你要了解...
mysql在网站开发中,越来越多人使用了,因为方便部署,方便使用. 我们在平时使用中,通常都是通过客户端软件去创建表和更改表,比如用 Navicat.很多人都不会用sql语句去创建表,或者语法忘记了. ...
最新文章
- Akka系列(六):Actor解决了什么问题?
- Android初始化过程
- StorefrontModule和B2CStorefrontModule的区别
- Python基础--Python3基础语法
- 显微镜自动聚焦原理是什么_什么是共聚焦显微镜?你了解过共聚焦显微镜吗?...
- Who Gets the Most Candies? POJ - 2886 (线段树)
- 解决:安装Widget插件提醒已安装却不见界面
- Java实现简单计算器
- 基于粒子滤波的定位算法 ——原理、理解与仿真
- 互联网进入网盘新时代
- js+php+大转盘,H5 Canvas抽奖大转盘代码实现及总结
- 计算机CPU高温,电脑cpu温度高怎么办?别怕,三招搞定
- http://www.ha97.com/
- unity中导入的角色没有Avatar
- 你没玩过的全新版本!Win10这些骚操作你知多少
- 100V降压图纸 电路最简单的高压降压解决方案
- linux基础指令下
- 高数知识点整理——有理分式的不定积分(多项式的除法)
- cisco asa(asa5510 设置)防火墙的配置详解
- Failed to shutdown database console gracefully
热门文章
- 【英语学习】【Level 08】U02 Movie Time L1 Let's talk about movies
- 【英语学习】【Level 07】U03 Amazing wonders L2 A global city
- Intel Sandy Bridge/Ivy Bridge架构/微架构/流水线 (17) - 互联环路LLC
- 存储过程 while is null_java 自动化 使用存储过程构造测试数据
- mysql @符号_quot;Incorrect string value quot; mysql 乱码 my插入emoji Yii2
- 纯前端开发案例:用 SpreadJS 搭建信息系统软件开发平台
- 《需求工程》阅读笔记之三
- Day05 egrep正则表达式sed
- Android1 按钮
- 模式识别之聚类算法k-均值---k-均值聚类算法c实现