MYSQL 唯一索引UNIQUE使用方法详解
创建唯一索引的目的不是为了提高访问速度,而只是为了避免数据出现重复(在插入数据的时候,如果唯一索引的插入值重复,所以插入就会报错),索引可以有多个但索引列的值必须唯一,索引列的值允许有空值。如果能确定某个数据列将只包含彼此各不相同的值,在为这个数据列创建索引的时候就应该使用关键字UNIQUE
把它定义为一个唯一索引。
创建唯一索的方法
操作表
代码如下 | 复制代码 |
CREATE TABLE `wb_blog` ( `id` smallint(8) unsigned NOT NULL, `catid` smallint(5) unsigned NOT NULL DEFAULT '0', `title` varchar(80) NOT NULL DEFAULT '', `content` text NOT NULL, PRIMARY KEY (`id`), ) |
1、创建唯一索可以使用关键字UNIQUE随表一同创建
代码如下 | 复制代码 |
mysql> CREATE TABLE `wb_blog` ( -> `id` smallint(8) unsigned NOT NULL, -> `title` varchar(80) NOT NULL DEFAULT '', -> PRIMARY KEY (`id`), -> UNIQUE KEY `catename` (`catid`) -> ) ; 9 Query OK, 0 rows affected (0.24 sec) |
上面代码为wb_blog表的'catid'字段创建名为catename的唯一索引
2、在创建表之后使用CREATE命令来创建
代码如下 | 复制代码 |
mysql> CREATE UNIQUE INDEX catename ON wb_blog(catid); Query OK, 0 rows affected (0.47 sec) |
如果不需要唯一索引,则可以这样删除
代码如下 | 复制代码 |
mysql> ALTER TABLE wb_blog DROP INDEX catename; Query OK, 0 rows affected (0.85 sec) |
如果要增加索引
代码如下 | 复制代码 |
alter table user add unique index(user_id,user_name); |
注意
唯一索引。
它与前面的"普通索引"类似,不同的就是:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。它有以下几种创建方式:
(1)创建索引:CREATE UNIQUE INDEX indexName ON tableName(tableColumns(length))
(2)修改表结构:ALTER tableName ADD UNIQUE [indexName] ON (tableColumns(length))
(3)创建表的时候直接指定:CREATE TABLE tableName ( [...], UNIQUE [indexName] (tableColumns(length));
3.主键索引
它是一种特殊的唯一索引,不允许有空值。一般是在建表的时候同时创建主键索引:CREATE TABLE testIndex(i_testID INT NOT NULL AUTO_INCREMENT,vc_Name VARCHAR(16) NOT NULL,PRIMARY KEY(i_testID)); 当然也可以用ALTER命令。
转载于:https://www.cnblogs.com/wuhan729/p/8443119.html
MYSQL 唯一索引UNIQUE使用方法详解相关推荐
- 在mysql中unique唯一索引的作用_MySQL_MySQL中的唯一索引的简单学习教程,mysql 唯一索引UNIQUE一般用于不 - phpStudy...
MySQL中的唯一索引的简单学习教程 mysql 唯一索引UNIQUE一般用于不重复数据字段了我们经常会在数据表中的id设置为唯一索引UNIQUE,下面我来介绍如何在mysql中使用唯一索引UNIQU ...
- android json mysql_Android通过json向MySQL中读写数据的方法详解【读取篇】
本文实例讲述了Android通过json向MySQL中读取数据的方法.分享给大家供大家参考,具体如下: 首先 要定义几个解析json的方法parseJsonMulti,代码如下: private vo ...
- MySQL 唯一索引 UNIQUE KEY 会导致死锁?
唯一性索引unique影响: 唯一性索引表创建: DROP TABLE IF EXISTS `sc`; CREATE TABLE `sc` (`id` int(11) NOT NULL AUTO_IN ...
- mysql explain 索引_MySql中Explain详解与索引最佳实践
使用EXPLAIN关键字可以模拟优化器执行SQL语句,从而知道MySQL是 如何处理你的SQL语句的.分析你的查询语句或是结构的性能瓶颈 下面是使用 explain 的例子: 在 select 语句之 ...
- 批量 杀掉 mysql 连接_批量杀死MySQL连接的四种方法详解
方法一 通过information_schema.processlist表中的连接信息生成需要处理掉的MySQL连接的语句临时文件,然后执行临时文件中生成的指令.复制代码 代码如下:mysql> ...
- MySQL的索引(Index)详解
索引分类 (1)普通索引(Key Indexes) (2)唯一索引(Unique Indexes) (3)主键索引(Primary Key Indexes) (4)组合索引(Composite Ind ...
- android json mysql_Android通过json向MySQL中读写数据的方法详解【写入篇】
本文实例讲述了Android通过json向MySQL中写入数据的方法.,具体如下: 先说一下如何通过json将Android程序中的数据上传到MySQL中: 首先定义一个类JSONParser.Jav ...
- python pymysql模块 链接mysql 遍历查询结果的方法 详解
目录 python链接mysql的方法 遍历字段获取值 完整代码 python链接mysql的方法 import json import pymysql def connect_mysql():con ...
- mysql监控sql_关于对mysql语句进行监控的方法详解
快速阅读 为什么要监控sql语句,以及如何监控,都有哪几种方式可以监控. 我们知道sql server 中有个工具叫sql profile ,可以实时监控sql server中 执行的sql 语句,以 ...
最新文章
- Ubuntu 16.04下用Wine运行的软件出现方块的解决思路(应该是兼容现在所有平台的Wine碰到这个的问题)...
- java一些常用并发工具示例
- 解决win7下netbeans安装的错误问题
- 这样就算会了PHP么?-11
- 5月23 注册审核
- 使用JWT的ASP.NET CORE令牌身份验证和授权(无Cookie)——第2部分
- fcn网络训练代码_FCN网络训练 菜鸟版
- 计算机病毒能破坏u盘文件,[计算机病毒]快捷方式病毒(U盘文件变为快捷方式)...
- 爬虫日记-采集 快代理 免费 代理ip 并 清洗 ip 附源码gitee,可运行
- 用微信名片制作软件打造专属的电子名片
- 无法打开Internet站点
- 来自一枚初生牛犊不怕虎的小菜鸟的Mock.js使用,不足之处欢迎读者的指出 谢谢...
- lighttpd 之九 配置信息加载
- 杰奇小说系统百度地图生成插件
- 华为云服务器上安装jdk和部署tomcat
- leetcode 1884-鸡蛋掉落-两枚鸡蛋
- python如何读取mat文件可视化_python 数据分析--数据可视化工具matplotlib
- OpenGL二次曲面绘制
- 强大的地图库--Leaflet.js爬坑记录(2)
- 利用ENVI和ARCGIS做相关性分析的两种方法