精华内容
下载资源
问答
  • 2020-06-30 21:46:51
    
    oracle : 
    
    单索引
    create index 索引名称 on table(column)
    
    删除索引
    drop index 索引名称
    
    复合索引
    create index WBSINDEX ON project_info(wbs,is_delete)
    
    查询某张表中所有索引
    select * from ALL_INDEXS where table_name = project_info
    
    查询某张表加了索引的列
    select * from ALL_IND_COLUMN where table_name = project_info
    
    索引优缺点:
    优点 : 加快查询速度
    缺点 : 更新,要把索引也进行更新
    
    
    更多相关内容
  • mysql建表语句添加索引

    千次阅读 2021-01-19 14:06:11
    【例】创建表名为 score 的数据,并的 id 字段上建立索引,SQL 语句如下:CREATE table score(id int(11) AUTO_INCREMENT primary key not null,name varchar(50) not null,math int(5) ...

    普通索引创建

    创建普通索引,即不添加 UNIQUE、FULLTEXT 等任何参数。

    【例】创建表名为 score 的数据表,并在该表的 id 字段上建立索引,SQL 语句如下:

    CREATE table score(

    id int(11) AUTO_INCREMENT primary key not null,

    name varchar(50) not null,

    math int(5) not null,

    English int (5) not null,

    Chinese int (5) not null,

    index(id)

    );

    此时在id字段上建立的普通索引名字为id,在id字段建立的,索引方法为BTREE,索引类型为normal

    创建唯一索引

    创建唯一索引时,使用 UNIQUE 参数进行约束。

    【例】创建表名为 address 的数据表,并在该表的 id 字段上建立唯一索引,SQL 语句如下:

    CREATE table address(

    id int(11) auto_increment primary key not null,

    name varchar(50),

    address varchar(200),

    UNIQUE INDEX address(id ASC)

    );

    此时在id字段上建立的唯一索引,索引名字为address,索引方法BTREE为,索引类型为Unique

    创建前缀索引(某字段前*个字节)

    创建单列索引,即在数据表的单个字段上创建索引。创建该类型索引不需要引入约束参数,用户在建立时只需要指定单列字段名,即可创建单列索引。

    【例】创建名称为  telephone  的数据表,并指定在  tel  字段上建立名称为  tel_num  的单列索引,SQL  语句如下:

    create table telephone(

    id int(11) primary key auto_increment not null,

    name varchar(50) not null,

    tel varchar(50) not null,

    index tel_num(tel(20))

    );

    此时在tel字段上建立的普通索引,索引名字为tel_num,索引方法为BTREE,索引类型为normal,索引取的是tel字段前20为字节建立索引

    前缀索引无法使用覆盖索引

    创建全文索引

    全文索引只能作用在 CHAR、VARCHAR、TEXT、类型的字段上。创建全文索引需要使用 FULLTEXT 参数进行约束。

    【例】创建表名为 cards 的数据表,并在该表的 name 字段上建立全文索引,SQL 语句如下:

    create table cards(

    id int(11) auto_increment primary key not null,

    name varchar(50),

    number bigint(11),

    info varchar(50),

    FULLTEXT KEY cards_number(name)

    );

    此时在name字段上建立的全文索引,索引名字为cards_number,索引方法为空(没有),索引类型为FULL TEXT

    创建多列索引

    创建多列索引即指定表的多个字段即可实现。

    【例】创建名称为 information 的数据表,并指定 name 和 sex 为 多列索引,SQL 语句如下:

    create table information(

    inf_id int(11) auto_increment primary key not null,

    name varchar(50) not null,

    sex varchar(5) not null,

    birthday varchar(50) not null,

    index info(name,sex)

    );

    此时在name,sex字段上建立的普通联合索引,索引名字为info,索引方法为BTREE,索引类型为normal

    创建空间索引(在MyISAM上)

    创建空间索引时,需要设置 SPATIAL 参数。同样,必须说明的是,只有 MyISAM 类型表支持该类型索引。而且,索引字段必须有非空约束。

    【例】创建一个名称为 list 的数据表,并创建一个名为 listinfo 的空间索引,SQL语句如下:

    create table list(

    id int(11) primary key auto_increment not null,

    goods geometry not null,

    SPATIAL INDEX listinfo(goods)

    )engine=MyISAM;

    goods  字段上已经建立名称为  listinfo 的空间索引,其中  goods  字段必须不能为空,且数据类型是  GEOMETRY,该类型是空间数据类型。空间类型不能用其他类型代替,否则在生成空间素引时会产生错误且不能正常创建该类型索引。

    空间类型除了上述示例中提到的 GEOMETRY 类型外,还包括如  POINT、LINESTRING、POLYGON  等类型,这些空间教据类型在平常的操作中很少被用到。

    参考

    展开全文
  • 另一种是使用ALTER TABLE 语句在已存在的上创建索引,或者使用CREATE_INDEX 在已存在的上创建索引。 1. 在 创建表时创建【普通】索引 语法格式为: CREATE TABLE Y1 ( COLUMN_NAME DATA_TYPE SCHEME, ...

    MySQL提供了多种在单列或多列上创建索引的方法:一种是在创建表时指定索引列;另一种是使用ALTER TABLE 语句在已存在的表上创建索引,或者使用CREATE INDEX 在已存在的表上创建索引。

    1. 在 创建表时创建【普通】索引

    语法格式为:

    CREATE TABLE Y1 (
     COLUMN_NAME  DATA_TYPE  SCHEME,
      [UNIQUE | FULLTEXT | SPATIAL]  [INDEX | KEY ]  INDEX_NAME([LENGTH],.....)   [ASC | DESC]
    )
    

    UNIQUE | FULLTEXT | SPATIAL 这三个是可选项,UNIQUE 为唯一索引,FULLTEXT 为全文索引,SPATIAL 为空间索引,其中FULLTEXT 和SPATIAL InnoDB 存储引擎不支持,MyISAM存储引擎支持;INDEX 和 KEY 为同义词,创建索引时使用它们中任何一个都可以,INDEX_NAME 为索引名称,可选参数,如果不指定,缺省(默认值)为COLUMN_NAME ,LENGTH 为可选参数,可以指定索引的长度,需注意的是,只有字符串类型的列才能指定索引长度,ASC 或 DESC 指定升序或者降序的索引值存储。

    使用INDEX 创建 SQL:

    ```sql
    CREATE TABLE Y1 (
     ID INT (10) AUTO_INCREMENT NOT NULL,
     NAME VARCHAR (20) NOT NULL,
     SEX INT (1) NOT NULL DEFAULT 0,
     INDEX IDX (ID)
    )
    --创建普通索引
    
    CREATE TABLE T4 (
     ID INT NOT NULL,
     NAME CHAR(30) NOT NULL,
     AGE INT NOT NULL,
     INFO VARCHAR(255),
     FULLTEXT INDEX FULLTEXTIDX(INFO)
    ) ENGINE=MyISAM
    -- FullText 全文索引,需指定存储引擎为MyISAM,MySQL默认存储引擎为InnoDB
    
    CREATE TABLE T5 (
     G GEOMETRY NOT NULL,
     SPATIAL INDEX SPATINDEX (G)
    ) ENGINE = MYISAM
    -- SPATIAL 创建空间索引,需指定存储引擎为MyISAM,MySQL默认存储引擎为InnoDB
    
    -- 创建唯一索引
    CREATE TABLE Y3(
     ID INT NOT NULL,
     NAME CHAR(20),
     UNIQUE INDEX UNIQUEIDX(ID)
    )ENGINE = INNODB
    
    -- 创建组合索引
    CREATE TABLE Y4(
     ID INT NOT NULL,
     NAME CHAR(20),
     AGE INT NOT NULL,
     INDEX MULTIIDX(ID,NAME(19),AGE)
    ) ENGINE= INNODB
    

    使用KEY创建索引 SQL

    CREATE TABLE Y2 (
     ID INT NOT NULL,
     NAME VARCHAR (233) NOT NULL,
     KEY IDX (ID)
    ) ENGINE = INNODB DEFAULT CHARSET = UTF8
    --用KEY创建普通索引 
    

    **

    2. 在已存在表中添加索引

    **
    基本语法分两种,第一种语法为

    2.1:

    ALTER TABLE TABLE_NAME ADD  [UNIQUE | FULLTEXT | SPATIAL]  [INDEX | KEY ]  INDEX_NAME(COLUMN_NAME(LENGTH),.....)  [ASC | DESC]
    

    SQL:

    ALTER TABLE t1 ADD UNIQUE INDEX ALTERIDX(NAME)
    -- 使用ALTER TABLE 语句创建索引
    

    2.2:
    第二种语法为:

    CREATE [UNIQUE | FULLTEXT | SPATIAL]  [INDEX | KEY ]  INDEX_NAME ON TABLE_NAME(COLUMN_NAME(LENGTH),.....)  [ASC | DESC]
    

    SQL :

    CREATE UNIQUE INDEX CREIDX ON t4(NAME(20)) 
    -- 使用CREATE INDEX 在已存在表中创建索引
    
    展开全文
  • mysql语句添加索引

    万次阅读 多人点赞 2019-01-08 15:33:03
    mysql语句添加索引 创建或添加索引可以使用如下语句。 一、使用ALTER TABLE语句创建索引。 语法如下: 1.PRIMARY KEY(主键索引)  mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column.....

    参考:

    mysql索引学习----2----创建索引、修改索引、删除索引的命令语句

    mysql语句添加索引

    创建或添加索引可以使用如下语句。

    一、使用ALTER TABLE语句创建索引。

    语法如下:

    1.PRIMARY  KEY(主键索引)
            mysql>ALTER  TABLE  `table_name`  ADD  PRIMARY  KEY (  `column`  ) 
    2.UNIQUE(唯一索引)
            mysql>ALTER  TABLE  `table_name`  ADD  UNIQUE (`column` ) 
    3.INDEX(普通索引)
            mysql>ALTER  TABLE  `table_name`  ADD  INDEX index_name (  `column`  )
    4.FULLTEXT(全文索引)
            mysql>ALTER  TABLE  `table_name`  ADD  FULLTEXT ( `column` )
    5.多列索引
            mysql>ALTER  TABLE  `table_name`  ADD  INDEX index_name (  `column1`,  `column2`,  `column3`  )

     

    二、使用CREATE INDEX语句对表增加索引。

    能够增加普通索引和UNIQUE索引两种。其格式如下:
    create index index_name on table_name (column_list) ;
    create unique index index_name on table_name (column_list) ;
    说明:table_name、index_name和column_list具有与ALTER TABLE语句中相同的含义,索引名不可选。另外,不能用CREATE INDEX语句创建PRIMARY KEY索引。

     

    三、删除索引。
    删除索引可以使用ALTER TABLE或DROP INDEX语句来实现。DROP INDEX可以在ALTER TABLE内部作为一条语句处理,其格式如下:
    drop index index_name on table_name ;
    alter table table_name drop index index_name ;
    alter table table_name drop primary key ;
    其中,在前面的两条语句中,都删除了table_name中的索引index_name。而在最后一条语句中,只在删除PRIMARY KEY索引中使用,因为一个表只可能有一个PRIMARY KEY索引,因此不需要指定索引名。如果没有创建PRIMARY KEY索引,但表具有一个或多个UNIQUE索引,则MySQL将删除第一个UNIQUE索引。
    如果从表中删除某列,则索引会受影响。对于多列组合的索引,如果删除其中的某列,则该列也会从索引中删除。如果删除组成索引的所有列,则整个索引将被删除。

    展开全文
  • MySQL建表语句添加索引

    千次阅读 2021-01-20 01:02:21
    【例】创建表名为 score 的数据,并的 id 字段上建立索引,SQL 语句如下:此时id字段上建立的普通索引名字为id,id字段建立的,索引方法为BTREE,索引类型为normal创建唯一索引创建唯一索引时,使用 UNIQUE ...
  • 已经存在的上创建索引

    千次阅读 2021-02-03 20:03:22
    已经存在的中,可以直接为上的一个或几个字段创建索引。基本形式如下:CREATE[UNIQUE|FULLTEXT|SPATIAL]INDEX索引名ON表名(属性名[(长度)][ASC|DESC]);其中,UNIQUE是可选参数,表示索引为唯一性索引;...
  • mysql 为表添加索引

    千次阅读 2021-03-05 20:50:16
    使用ALTER TABLE语句创建索引 语法: ALTER TABLE 表名 ADD 索引类型 (unique,primary key,fulltext,index)[索引名](字段名) 1.添加PRIMARY KEY(主键索引) mysql>ALTER TABLE `table_name` ADD ...
  • INT(11) 字符类型(长度) NOT NULL 不允许为空 AUTO_INCREMENT 从0自增 DEFAULT '0' 默认值 COMMENT '备注' 字段备注 PRIMARY KEY ( `id` ) #设置id为主键 KEY `索引名` (`索引字段`) USING BTREE #添加索引 ...
  • MySQL索引篇,创建表时创建索引

    千次阅读 2021-01-27 02:34:24
    索引对于MySQL数据库查询速度具有无可取代的作用,一个合适的索引能给数据查询的效率带来巨大的提升,本文来给大家讲讲如何创建索引索引的最佳创建方式是建表的时候就确定好要索引的字段并建立索引索引的...
  • mysql 创建索引语句

    千次阅读 2020-11-19 19:00:03
    一、创建索引 1.PRIMARYKEY(主键索引) mysql > ALTERTABLE`table_name`ADDPRIMARYKEY (`column`) 2.UNIQUE(唯一索引) mysql > ALTERTABLE`table_name`ADDUNIQUE (`column` ) 3.INDEX(普通索引) mysql &...
  • 在表上创建一个简单的索引。允许使用重复的值: 注释:“column_name” 规定需要索引的列。2.创建唯一索引 SQL CREATE UNIQUE INDEX 语法 在表上创建一个唯一的索引。唯一的索引意味着两个行不能拥有相同的索引值...
  • mysql给同一个表添加多个索引的测试

    千次阅读 2021-02-10 16:00:32
    分别给xc表添加ind_name和ind_status的索引:root@test11:44:13>create index ind_name on xc(name);Query OK, 6815744 rows affected (1 min 43.75 sec)Records: 6815744 Duplicates: 0 Warnings: 0root@test01:...
  • MYSQL为表添加索引

    千次阅读 2019-06-20 09:27:18
    (樂楽最接近做开发,看到一篇比较全的MYSQL添加索引的文章,这里儿分享给lees们) 索引作用 数据库利用各种各样的快速定位技术,能够大大提高查询效率。特别是当数据量特别大的时候,查询设计多个表时,使用索引...
  • Sql联合索引语句

    千次阅读 2020-05-27 15:17:55
    use t0netcoresystem; alter table stockpools add unique index(AccountName, StockCode, TradeDate);
  • SQL创建索引语句及查看中的索引

    万次阅读 2019-08-12 18:28:15
    在表上创建一个简单的索引。允许使用重复的值: CREATE INDEX index_name ON table_name (column_name) --"column_name" 规定需要索引的列。 SQL CREATE UNIQUE INDEX 语法 在表上创建一个唯一的索引。唯一的...
  • oracle数据库给索引

    千次阅读 2021-03-26 09:44:01
    CREATE INDEX IDEN_IDNUMBER–>索引名称 ON SIDENTITY–>表名 ( IDNUMBER–>字段名 );
  • MySQL添加索引的五种方法

    万次阅读 2022-04-27 10:51:52
    MySQL添加索引的五种方法 索引(Index)是帮助MySQL高效获取数据的数据结构。MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。 数据库查询是数据库的最主要功能之一。我们都希望...
  • 使用DDL语句简单添加索引

    千次阅读 2020-06-15 15:05:23
    show index from 表名 ...下面演示下给user的name字段添加一个索引 2.主键索引 添加PRIMARY KEY ALTER TABLE table_name ADD PRIMARY KEY ( column ) 3.唯一索引 添加UNIQUE ALTER TABLE table_nam
  • 建表添加索引

    千次阅读 2019-07-30 13:27:12
    -- 创建 DROP TABLE IF EXISTS `department`; CREATE TABLE `department` ( `id` INT ( 11 ) NOT NULL AUTO_INCREMENT COMMENT '主键', `code` VARCHAR ( 100 ) DEFAULT NULL COMMENT '编号', `name` VARCHAR ( ...
  • MySQL建立索引的SQL语句

    万次阅读 多人点赞 2019-12-26 15:11:25
    1. 主键索引:创建表时自动创建 { 聚集索引:一个中只有一个聚集索引 } 2. 唯一索引:CREATE UNIQUE INDEX unique_index_warn[索引名称]ON cas_alarm[表名](warn_id[列名]) 3. 普通索引:CREATE INDEX index_...
  • MySQL添加主键、索引

    千次阅读 2021-01-18 19:42:03
    查看索引SHOW INDEX FROM ...添加索引alter table 数据库add index 索引名称(数据库字段名称)主键索引ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )比如:ALTER TABLE order_info ADD PRIMARY KEY (o...
  • MySQL:多关联查询添加索引

    千次阅读 2021-08-12 15:23:12
    目标sql: select * from copy666 jee left join ga_bu ogb on jee.ga_bu_code = ogb.bu_code left join ga_coa coa on jee.ga_coa_sub = coa.sub AND jee.ga_coa_obj = ...explain语句 优化: 1、给
  • 数据库添加索引

    千次阅读 2020-07-16 16:41:34
    前言 ———————————————— 版权声明:本文为CSDN博主「愿做Bookworm」的原创文章,遵循CC ...这里我们学习如何利用sql语句进行循环添加数据,并在添加了大量的数据之后咱们就可以用到索引了!!快乐+1 知识+
  • MySQL——创建数据表时创建索引

    万次阅读 2018-05-15 18:53:58
     在建立数据表时创建索引 创建数据表时创建索引的基本语法结构: CREATE TABLE table_name( 属性名 数据类型[约束条件], …… 属性名 数据类型 [UNIQUE | FULLTEXT | SPATIAL ] INDEX | KEY ...
  • 创建索引sql 语句

    千次阅读 2020-04-21 12:38:11
    1、创建的同时 指定 create table t1( id int not null, ...2、已经存在的创建索引 使用ALTER TABLE 语句创建索引 1.执行语句 alter table book add index BkName(bookname(30)) 2...
  • oracle 添加索引

    万次阅读 2017-10-25 13:53:35
    1.说明 ... 2)索引建立在表上的可选对象;索引的关键在于通过一组排序后的索引键来取代默认的全扫描检索方式,从而提高检索效率  3)索引在逻辑上和物理上都与相关的和数据无关,当创建
  • sql语句创建索引

    千次阅读 多人点赞 2021-04-02 00:37:27
    create index [index_mode] on [cn_name]([car_mode]); index_mode自定义索引名 cn_name表名 car_mode列名

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 148,384
精华内容 59,353
关键字:

在建立表时添加索引语句