精华内容
下载资源
问答
  • 1、概念 1)、查看索引 show index from 数据库表名 2)、alter table 数据库表...1)、PRIMARY KEY(主键索引) ALTER TABLE table_name ADD PRIMARY KEY ( column ) 2)、UNIQUE(唯一索引) ALTER TABLE table...

    1、概念

    1)、查看索引 show index from 数据库表名
    2)、alter table 数据库表 add index 索引名称(数据库表字段名称)

    2、索引类型:

    1)、PRIMARY KEY(主键索引)
    ALTER TABLE table_name ADD PRIMARY KEY ( column )

    2)、UNIQUE(唯一索引)
    ALTER TABLE table_name ADD UNIQUE (column)

    3)、INDEX(普通索引)
    ALTER TABLE table_name ADD INDEX index_name ( column )

    4)、FULLTEXT(全文索引)
    ALTER TABLE table_name ADD FULLTEXT ( column )

    5)、多列索引
    ALTER TABLE table_name ADD INDEX index_name ( column1, column2, column3 )

    3、操作

    1).普通索引。
    这是最基本的索引,它没有任何限制。它有以下几种创建方式:

    (1)创建索引:
    CREATE INDEX indexName ON tableName(tableColumns(length));
    如果是CHAR,VARCHAR类型,length可以小于字段实际长度;如果是BLOB 和 TEXT 类型,必须指定length,下同。
    (2)修改表结构:
    ALTER tableName ADD INDEX [indexName] ON (tableColumns(length))
    (3)创建表的时候直接指定:
    CREATE TABLE tableName ( […], INDEX [indexName] (tableColumns(length)) ;

    2).唯一索引。
    它与前面的”普通索引”类似,不同的就是:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。它有以下几种创建方式:

    (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/aquilahkj/archive/2011/11/07/2240310.html

    展开全文
  • MySQL索引之主键索引

    2020-12-15 16:43:01
    在MySQL里,主键索引和辅助索引分别是什么意思,有什么区别? 上次的分享我们介绍了聚集索引和非聚集索引的区别,本次我们继续介绍主键索引和辅助索引的区别。 1、主键索引 主键索引,简称主键,原文是PRIMARY KEY,...
  • SQL创建索引主键

    千次阅读 2021-01-19 15:07:32
    -- MySQL中四种方式给字段添加索引1)# 添加主键# ALTER TABLE tbl_name ADD PRIMARY KEY (col_list);# -- // 该语句添加一个主键,这意味着索引值必须是唯一的,且不能为NULL。#添加唯一索引-- UNIQUE 后面不用跟...

    -- MySQL中四种方式给字段添加索引

    1)

    # 添加主键

    # ALTER TABLE tbl_name ADD PRIMARY KEY (col_list);

    # -- // 该语句添加一个主键,这意味着索引值必须是唯一的,且不能为NULL。

    #添加唯一索引  -- UNIQUE 后面不用跟INDEX

    # ALTER TABLE tbl_name ADD UNIQUE index_name (col_list);

    # // 这条语句创建索引的值必须是唯一的。

    #添加普通索引

    # ALTER TABLE tbl_name ADD INDEX index_name (col_list);

    # // 添加普通索引,索引值可出现多次。

    #添加全文索引

    # ALTER TABLE tbl_name ADD FULLTEXT index_name (col_list);

    # // 该语句指定了索引为 FULLTEXT ,用于全文索引。

    -- PS: 附赠删除索引的语法:

    DROP INDEX index_name ON tbl_name;

    -- // 或者

    ALTER TABLE tbl_name DROP INDEX index_name;

    ALTER TABLE tbl_name DROP PRIMARY KEY;

    2)

    CREATE INDEX index_name ON table_name (column_name);

    CREATE UNIQUE INDEX index_name ON table_name (column_name);

    索引查询

    sqlite使用索引查询的语法为

    示例:SELECT * FROM salaries INDEXED BY idx_emp_no WHERE emp_no =10005

    mysql 使用强制索引 force select * from salaries force index(idx_emp_no) where emp_no = 10005;

    强制索引

    示例:

    MySQL中,使用FORCE INDEX ()语句进行强制索引查询,可参考:

    示例:

    展开全文
  • 但如果用户的索引字段中没有完全包含主键字段,InnoDB会把剩下的主键字段加到索引末尾。  (二)例子  例子一: CREATE TABLE t (  a char(32) not null primary key,  b char(32) not null,  KEY ...
  • 主键索引创建

    万次阅读 2017-11-25 14:01:27
    主键索引 当一张表,把某个列设为主键的...1:主键索引(创建表时添加) CREATE TABLE Primary_key( id INT UNSIGNED COMMENT '无符号' PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(32) NOT NULL DEFAULT ' ');
    主键索引
    当一张表,把某个列设为主键的时候,则该列就是主键索引
    1:添加索引
    1:主键索引(创建表时添加)
    CREATE TABLE Primary_key(
    id INT UNSIGNED COMMENT '无符号' PRIMARY KEY AUTO_INCREMENT,
    NAME VARCHAR(32) NOT NULL DEFAULT ' ');

    2:主键索引(创建表后添加)
    alter table 表名 add primary key(列名)

    展开全文
  • Mysql主键索引创建的实例

    千次阅读 2016-04-03 22:16:14
    1、在上面了解了Mysql常见的索引后,这里进行Mysql... 2.1 在创建表的时候,指定主键索引 create table table_primarykey ( id int primary key auto_increment , name varchar(20) ); 利用 show create table table_p

    1、在上面了解了Mysql常见的索引后,这里进行Mysql索引实例的创建.

    2、主键索引

         2.1 在创建表的时候,指定主键索引

    create table table_primarykey
    (   id int primary key auto_increment  ,
        name varchar(20)
    );
       利用 show  create  table  table_primarykey ;   来查看表的创建语句

    +------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | Table            | Create Table                                                                                                                                                    |
    +------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | table_primarykey | CREATE TABLE `table_primarykey` (
      `id` int(11) NOT NULL DEFAULT '0',
      `name` varchar(20) DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
    +------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+

        2.2先创建表,在增加主键索引

    create table table_primarykey
    (   id int  auto_increment  ,
        name varchar(20)
    );
    
    alter table table_primarykey
    add primary key (id);

    利用 show  create  table  table_primarykey ;   来查看表的创建语句

    +------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | Table            | Create Table                                                                                                                                                    |
    +------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | table_primarykey | CREATE TABLE `table_primarykey` (
      `id` int(11) NOT NULL DEFAULT '0',
      `name` varchar(20) DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
    +------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+

    3、查看表上的索引     

    show indexes from table_primarykey;
    执行的结果如下:

    +------------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
    | Table            | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
    +------------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
    | table_primarykey |          0 | PRIMARY  |            1 | id          | A         |           0 | NULL     | NULL   |      | BTREE      |         |               |
    +------------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+




    展开全文
  • PostgreSQL实现主键索引

    千次阅读 2021-01-17 15:54:27
    PostgreSQL实现主键索引1 单主键①:CREATE TABLE products (id integer PRIMARY KEY);②:CREATE TABLE products (id integer,PRIMARY KEY(id));2 多主键CREATE TABLE products(a integer,b integer,c integer,...
  • 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...
  • 需要按照要求给表创建主键、创建索引,创建外键(并设置删除和更新规则) 一、创建主键 ​ 自己创建一个数据库和最少两个表(student表 和 course 表),然后上图:点击创建主键 [外链图片转存失败,源站可能有防盗...
  • MySQL重新建立主键索引和非主键索引的方法 重新建立主键索引方法 这是错误的写法 alter table T drop primary key; alter table T add primary key(id); mysql官方文档写了三种措施: 整个数据库迁移,先dump出来...
  • 聚簇索引与主键的选择一、什么是聚簇索引?二、什么是非聚簇索引?1. InnoDB引擎中2. MyISAM引擎中三、聚簇索引的优劣与主键选择的关系 ...主键索引就是一种聚簇索引,而其他创建出来的前缀索引、联合索引,唯
  • 以下回答全部是基于MySQL的InnoDB引擎例如对于下面这一张表如果我们按照 name 字段来建立索引的话,采用B+树的结构,大概的索引结构如下如果我们要进行模糊查找,查找name 以“张"开头的所有人的ID,即 sql 语句为...
  • Oracle创建主键的三种方式

    千次阅读 2021-03-05 10:11:58
    Oracle中创建主键,可以有几种方式。第一种,在建表的时候同时指定主键,SQL> create table t_pk_01 (id number, constraint pk_id...
  • 首先,当我们创建主键或唯一键时,Oracle并不总是创建一个索引。如果该列上已经有一个索引,它会改为使用它…SQL> create table t23 (id number not null)2 /Table created.SQL> create index my_manual_idx ...
  • --删除表主键 ALTER TABLE jw_jxrw_wxlsrwkcb DROP CONSTRAINT PK_JW_...--删除索引 drop index PK_JW_JXRW_WXLSRWKCB;--添加主键 -- Create/Recreate primary alter table jw_jxrw_wxlsrwkcb add constraint PK_JW_
  • mysql主键还需要建立索引吗?

    千次阅读 2021-01-18 20:26:26
    创建或设置主键的时候,mysql会自动添加一个与主键对应的唯一索引,不需要再做额外的添加。数据库管理系统对于主键会自动生成唯一索引,所以主键是一个特殊的索引。当你创建或设置主键的时候,mysql会自动添加一个...
  • 一、 创建主键(主键=主键索引=聚集索引) 主键是什么? 答:拿主键可以唯一确定一条数据,它和物理存储排序一致,不能为空,一个表只能有一个。 原本没有创建的主键的表在磁盘上存储为: Id=0;username=username0;sex...
  • 鉴于您的主键:(col_a, col_b)以下是可以使用的情况:> col_a:是的.在col_a上搜索时可以使用索引,因为从左到右,col_a是第一列.> col_a& col_b:是的.在col_a和col_b上搜索时,也可以使用索引,因为从左到右...
  • 创建过程依然比较繁琐,需要手工定义子表索引主键,详见 PostgreSQL10:重量级新特性-支持分区表,PostgreSQL 11 版本得到增强,在父表上创建索引主键、外键后,子表上将自动创建,本文演示这三种场景。...
  • 主键索引 主键索引,简称主键,原文是PRIMARY KEY,由一个或多个列组成,用于唯一性标识数据表中的某一条记录。一个表可以没有主键,但最多只能有一个主键,并且主键值不能包含NULL。 在MySQL中,InnoDB数据表的主键...
  • mysql 主键和默认 设为索引的规则

    千次阅读 2021-01-19 04:13:09
    一、mysql 表中如果是单主键的话,那这个主键也会被 系统默认建为 索引二、mysql 表中如果是复合主键的话,那系统会遵循左对齐原则,即如复合主键 a 和 b字段和c字段..., 默认建的主键索引是abc即主键全有,把所有...
  • 主键创建后一定包含一个唯一性索引,唯一性索引并不一定就是主键。 唯一性索引列允许空值,而主键列不允许为空值。 主键列在创建时,已经默认不为空值 + 唯一索引了。 主键可以被其他表引用为外键,而唯一索引不能。...
  • MergeTree的稀疏索引 数据按照主键排序后存储的 每个索引记录对应8192条(由index——grandularity指定) 记录索引是常驻内存的...根据主键的查询条件,确定索引范围。 id in (‘A02’,‘A08’),转化为索引范围区间[A01
  • 创建索引主键

    千次阅读 2018-06-12 21:11:54
    一、 主建的创建与删除1. 创建表时同时创建主键(加primary key)Create Table Book( ID int identity(1,1) primary key, Name nvarchar... 用SQL语句单独创建主键1)创建主键同时会自动在该主键上创建聚集索引语...
  • 数据库索引主键

    千次阅读 2016-06-20 09:16:46
     主键创建后一定包含一个唯一性索引,唯一性索引并不一定就是主键。  唯一性索引列允许空值,而主键列不允许为空值。  主键列在创建时,已经默认为空值 + 唯一索引了。  主键可以被其他表引用为外键,而唯一...
  • 那么主键、唯一约束在新增数据时oracle都会先去数据库查询,用到查询就要用到索引提高性能,所以他就会默认创建索索引来提高检查数据是否存在来,从而提高查询效率。这就是oracle自动创建索引的初衷。 结论:...
  • 主键是一个约束(constraint),他依附在一个索引上,这个索引可以是聚集索引,也可以是非聚集索引。 所以在一个(或一组)字段上有主键,只能说明他上面有个索引,但不一定就是聚集索引。 例如下面: 代码如下: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 201,093
精华内容 80,437
关键字:

创建主键索引