mysql_12_索引的分类_创建_删除

 1 USE db_book;
 2 -- 第四节:索引分类
 3 -- 1.普通索引
 4 -- 这类索引可以创建在任何数据类型中;
 5 -- 2.唯一性索引
 6 -- 使用UNIQUE参数可以设置,在创建唯一性索引时,限制该索引的值必须是唯一的;
 7 -- 3.全文索引
 8 -- 使用FULLTEXT参数可以设置,全文索引只能创建在CHAR,VARCHAR,TEXT类型的字段上;
 9 -- 主要作用就是提高查询较大字符串类型的速度;只有MyISAM引擎支持该索引,Mysql默认引擎不支持。
10 -- 4.单列索引
11 -- 在表中可以给出单个字段创建索引,单列索引可以是普通索引,也可以是唯一性,还可以是全文索引;
12 -- 5.多列索引
13 -- 多列索引是在表的多个字段上创建一个索引。
14 -- 6.空间索引
15 -- 使用SPATIAL参数可以设置空间索引;空间索引只能建立在空间数据类型上,这样可以提高系统获取空间数据的效率;
16 -- 只有MyISAM引擎支持该索引,Mysql默认引擎不支持。
17
18
19 -- 第五节:创建索引
20 -- 5.1创建表的时候创建索引
21 -- 格式:
22 -- CREATE TABLE 表名(属性名 数据类型 [完整性约束条件],
23 --                  属性名 数据类型 [完整性约束条件],
24 --                  ...
25 --                  属性名 数据类型
26 --                  [UNIQUE | FULLTEXT | SPATIAL ]INDEX KEY
27 --                  [别名](属性名1 [(长度)][ASC |DESC])
28 --                  );
29
30 -- 1.创建普通索引
31 CREATE TABLE t_user1(id INT,
32                     userName VARCHAR(20),
33                     password VARCHAR(20),
34                     INDEX(userName)
35                     );
36
37 -- 2.创建唯一性索引
38 CREATE TABLE t_user2(id INT,
39                     userName VARCHAR(20),
40                     password VARCHAR(20),
41                     UNIQUE INDEX index_userName(userName)
42                     );
43
44 -- 3.创建全文索引
45 -- 默认引擎不支持
46
47 -- 4.创建单列索引
48 -- 1和2都是单列索引
49
50 -- 5.创建多列索引
51 CREATE TABLE t_user5(id INT,
52                     userName VARCHAR(20),
53                     password VARCHAR(20),
54                     UNIQUE INDEX index_userName_password(userName,password)
55                     );
56
57 -- 6.创建空间索引
58 -- 默认引擎不支持
59
60 -- 5.2在已存在的表上创建索引
61 -- 格式:
62 -- CREATE [UNIQUE|FULLTEXT|SPATIAL]INDEX 索引名 ON 表名 (属性名[(长度)][ASC|DESC]);
63 CREATE TABLE t_user5_2(
64                        id int PRIMARY KEY auto_increment,
65                        userName VARCHAR(20),
66                        password VARCHAR(20)
67                        );
68
69 CREATE INDEX index_userName ON t_user5_2 (userName);-- 普通索引
70 CREATE UNIQUE INDEX index_userName2 ON t_user5_2 (userName);-- 唯一性索引
71 CREATE INDEX index_userName_password ON t_user5_2 (userName,password);-- 多列索引
72
73 -- 5.3用ALTER TABLE语句来创建索引
74 -- 格式:
75 -- ALTER TABLE 表名 ADD[UNIQUE|FULLTEXT|SPATIAL]INDEX 索引名 (属性名[(长度)][ASC|DESC]);
76 CREATE TABLE t_user5_3(
77                        id int PRIMARY KEY auto_increment,
78                        userName VARCHAR(20),
79                        password VARCHAR(20)
80                        );
81
82 ALTER TABLE t_user5_3 ADD INDEX index_user (userName);-- 普通索引
83 ALTER TABLE t_user5_3 ADD UNIQUE INDEX index_user2 (userName);-- 唯一性索引
84 ALTER TABLE t_user5_3 ADD INDEX index_user_password (userName,password);-- 多列索引
85
86 -- 第六节:删除索引
87 -- 格式:
88 -- DROP INDEX 索引名 ON 表名;
89 DROP INDEX userName ON t_user1;
90 DROP INDEX index_userName ON t_user2;
91 DROP INDEX index_userName_password ON t_user5;
92
93 -- 删除表
94 DROP TABLE t_user1;
95 DROP TABLE t_user2;
96 DROP TABLE t_user5;
97 DROP TABLE t_user5_2;
98 DROP TABLE t_user5_3;
时间: 2024-10-09 09:57:23

mysql_12_索引的分类_创建_删除的相关文章

数据库 - 索引、基本表创建与删除

修改基本表 ALTER TABLE <表名> [ ADD <新列名> <数据类型> [ 完整性约束 ] ] [ DROP <完整性约束名> ] [ ALTER COLUMN<列名> <数据类型> ]: [例8]向Student表增加"入学时间"列,其数据类型为日期型. ALTER TABLE Student ADD S_entrance DATE: 不论基本表中原来是否已有数据,新增加的列一律为空值. [例9]将年

JavaScript正则表达式的概述_创建_方法和属性

假设用户需要在 HTML 表单中填写姓名.地址.出生日期等. 那么在将表单提交到服务器进一步处理前,JavaScript 程序会检查表单以确认用户确实输入了信息并且这些信息是符合要求的. 一.什么是正则表达式: 正则表达式(regular expression)是一个描述字符模式的对象. javaScript 的 RegExp(正则表达式的缩写) 类表示正则表达式,而 String 和 RegExp 都定义了使用正则表达式进行强大的模式匹配和文本检索与替换的函数. 正则表达式主要用来验证客户端的

MySQL索引 查看、创建、删除

1.索引类型 创建索引时,可规定索引能否包含重复值.如不包含,则索引应创建为PRIMARY KEY 或 UNIQUE 索引.对于单列惟一性索引,这保证单列不包含重复的值.对于多列惟一性索引,保证多个值的组合不重复. PRIMARY KEY 索引和 UNIQUE 索引非常类似.事实上,PRIMARY KEY 索引仅是一个具有名称 PRIMARY 的 UNIQUE 索引.这表示一个表只能包含一个 PRIMARY KEY,因为一个表中不可能具有两个同名的索引. 2.索引作用 一级索引, 简单的理解可以

MySQL索引的查看创建和删除

1.索引作用 在索引列上,除了上面提到的有序查找之外,数据库利用各种各样的快速定位技术,能够大大提高查询效率.特别是当数据量非常大,查询涉及多个表时,使用索引往往能使查询速度加快成千上万倍. 例如,有3个未索引的表t1.t2.t3,分别只包含列c1.c2.c3,每个表分别含有1000行数据组成,指为1-1000的数值,查找对应值相等行的查询如下所示. SELECT c1,c2,c3 FROM t1,t2,t3 WHERE c1=c2 AND c1=c3 此查询结果应该为1000行,每行包含3个相

MySQL索引的创建、删除和查看

MySQL索引的创建.删除和查看 此文转自http://blogold.chinaunix.net/u3/93470/showart_2001536.html 1.索引作用 在索引列上,除了上面提到的有序查找之外,数据库利用各种各样的快速定位技术,能够大大提高查询效率.特别是当数据量非常大,查询涉及多个表时,使用索引往往能使查询速度加快成千上万倍. 例如,有3个未索引的表t1.t2.t3,分别只包含列c1.c2.c3,每个表分别含有1000行数据组成,指为1-1000的数值,查找对应值相等行的查

MySQL(一)索引的创建和删除

索引是存储引擎用于快速找到记录的一种数据结构,这是索引的基本功能. 索引对于良好的性能非常关键.尤其是当表中的数据量越来越大时,索引对性能的影响愈发重要.接下来将讲述如何创建.查看和删除索引. 索引分单列索引和组合索引.单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引.组合索引,即一个索包含多个列. 执行CREATE TABLE语句时可以创建索引,也可以单独用CREATE INDEX或ALTER TABLE来为表增加索引. 1.ALTER TABLE ALTER TA

索引(简介,创建,删除)

一.索引简介 索引是一种特殊的数据结构,由数据库中一列或多列组合而成,用来快速查询数据库表中的特定记录.索引是提高数据库性能的重要方式.MySQL中,所有的数据类型都可以被索引.MySQL的索引包括普通索引.唯一性索引.全文索引.单列索引.多列索引和空间索引等. 1.索引的含义和特点 索引是创建在表上的,是对数据库表中一列或多列的值进行排序的一种结构. 通过索引,查询数据时可以不必读完记录的所有信息,而只是查询索引列.否则,数据库系统将读取每条记录的所有信息进行匹配. 不同的存储引擎定义了每个表

多线程_创建线程_继承Thread类

public class ThreadDemo {   public static void main(String[] args){         Demo d = new Demo();   d.start();      for(int i = 0;i < 100;i++){      System.out.println("MainThread" + i);   }   } } class Demo extends Thread {   public void run(

mysql命令行下创建和删除索引简介

mysql命令行下创建和删除索引简介: mysql中创建索引可以使用CREATE TABLE语句,也可以用CREATE INDEX或ALTER TABLE来给表增加索引.索引的删除可以使用ALTER TABLE或DROP INDEX语句来实现. (1)使用ALTER TABLE语句创建索引.语法如下:alter table table_name add index index_name (column_list) ;alter table table_name add unique (colum