精华内容
下载资源
问答
  • 创建索引主键

    千次阅读 2018-06-12 21:11:54
     创建表时同时创建主键(加primary key)Create Table Book( ID int identity(1,1) primary key, Name nvarchar(50) not null, StudentID int not null)2. 用SQL语句单独创建主键1)创建主键同时会自动在该主键上...

    一、      主建的创建与删除

    1.       创建表时同时创建主键(加primary key)

    Create Table Book

    (

      ID int identity(1,1) primary key,

      Name nvarchar(50) not null,

      StudentID int not null

    )

    2.       用SQL语句单独创建主键

    1)创建主键同时会自动在该主键上创建聚集索引

    语句:alter table [表名] add constraint PK_Book_ID primary key (主键列名)

    例如:alter table Book add constraint PK_Book_ID primary key (ID)

    2)创建主键但不在该主键上创建聚集索引(但会自动创建非聚集索引)

    语句:alter table [表名] add constraint PK_Book_ID primary key (主键列名)

    例如:alter table Book add constraint PK_Book_ID primary key (ID)

    3.       用SQL语句删除主键

    语句:alter table [表名] drop constraint [主键名]

    例如:alter table Book drop constraint [PK_Book_ID]

    二、      索引的创建与删除

    1.       创聚集索引

    语句:create clustered index [聚集索引名]  on [表名](要创建聚集索引的列名asc|desc) with(drop_existing = on)

    例如:create clustered index IX_CLU_Book_ID on Book(ID)

    2.       创非集索引

    语句:create index [非聚集索引名]  on [表名](要创建非聚集索引的列名 asc|desc) with(drop_existing = on)

    例如:create index IX_ Book_Name on Book(Name)

    3.       创复合索引

    语句:create index [复合索引名]  on [表名](列名1 asc|desc, 列名2 asc|desc) with(drop_existing = on)

    例如:create index IX_com_Book_IDName on Book (ID,Name)

    4.       创建唯一索引

    语句:create unique index index_name on table_name (column ASC|DESC[,.....])with (drop_existing = on)

    例如:create unique index IX_Book_ID on Book (ID)

    5.       创建覆盖索引

    语句:create index index_name on table_Name (columnName ASC|DESC[,......]) include(column_Name_List)with (drop_existing = on)

    例如:create index ix_cov_Book_ID_Name on Book (ID) include(Name)

    说明:覆盖索引它只是非聚集索引的一种特别形式,是把数据加到非聚集索引上。

    覆盖索引和普通非聚集索引的区别:

             1)非聚集索引不包涵数据,通过它找到的只是文件中数据行的引用(表是堆的情况下)或是聚集索引的引用,SQL Server要通这个引用去找到相应的数据行。

             2)正因为非聚集索引它没有数据,才引发第二次查找。

             3)覆盖索引就是把数据加到非聚集索引上,这样就不需要第二次查找了。这是一种以空间换性能的方法。

    6.       筛选索引

    语句:create index index_name on table_name(columName) where boolExpression

    例如:create index IX_Book_ID on Book(ID) where ID>100 and ID< 200

    说明:只对热点数据加索引,如果大量的查询只对ID 由 100 ~ 200 的数据感兴趣,就可以这样做。

          1)可以减小索引的大小

          2)为据点数据提高查询的性能

    7.       删除索引

    语句:drop index table_Name.Index_Name

    例如:drop index Book. IX_ Book_Name

    8.       查看表中索引存储过程

     execute sp_helpindex @objname = '表名'

    总结:

         BTree 索引有聚集与非聚集之分。

         就查看上到聚集索引性能比非聚集索引性能要好。

         非聚集索引分,覆盖索引,唯一索引,复合索引(当然聚集索引也有复合的,复合二字,只是说明索引,引用了多列),一般非聚集索引就查看上,非聚集索引中覆盖索引的性能比别的非聚集索引性能要好,它的性能和聚集索引差不多,可是它会用更多的磁盘空间。

    最后说一下这个

         1)with (drop_existing = on|off),加上这个的意思是如果这个索引还在表上就drop 掉然后在create 一个新的。特别是在聚集索引上用使用这个就可以不会引起非聚集索引的重建。

         2)with (online = on|off) 创建索引时用户也可以访问表中的数据,

         3)with(pad_index = on|off fillfactor = 80); fillfactor 用来设置填充百分比,pad_index 只是用来连接fillfactor 但是它又不能少。

         4)with(allow_row_locks = on|off   |   allow_page_locks = on |off);  是否允许页锁 or 行锁

         5)with (data_compression = row | page );  这样可以压缩索引大小

    展开全文
  • ORALCE 创建主键&amp;...为什么oracle会自动创建索引呢?因为新增一条数据时,oracle先去数据库查询此条新增数据是否存在,如果不存在则插入成功,否则插入失败。试想下如oracle不自动创建索...

    ORALCE 创建主键&唯一约束同时也创建索引

    原理:

    主键和唯一约束都是限制表字段值不能重复,必须唯一的约束;

    当一个表中建有主键或唯一约束时,oracle会自动创建对应主键或唯一约束的索引,这索引是oracle自动创建的。为什么oracle会自动创建索引呢?

    因为新增一条数据时,oracle先去数据库查询此条新增数据是否存在,如果不存在则插入成功,否则插入失败。试想下如oracle不自动创建索引,查该新增数据是否存在于数据库就得整张表去扫描(千万级数据表全表扫描是不可想象的),数据量大时影响性能是肯定的。那么主键、唯一约束在新增数据时oracle都会先去数据库查询,用到查询就要用到索引提高性能,所以他就会默认创建索索引来提高检查数据是否存在来,从而提高查询效率。这就是oracle自动创建索引的初衷。

    展开全文
  • 在Oracle数据库中,我们知道创建主键约束的时候,会自动创建唯一索引,靠着唯一索引,保证数据的唯一,删除主键约束时,会自动删除对应的唯一索引。但是最近碰到了个奇怪的问题,同事说测试环境中删除一张表的主键...

    在Oracle数据库中,我们知道创建主键约束的时候,会自动创建唯一索引,靠着唯一索引,保证数据的唯一,删除主键约束时,会自动删除对应的唯一索引。但是最近碰到了个奇怪的问题,同事说测试环境中删除一张表的主键约束,发现约束删了,但唯一索引还在,难道有什么隐藏的问题?

    Oracle11.2.0.4,创建测试表,然后创建主键,自动生成同名的索引,

    SQL> create table a (id number, name varchar2(30));Table created.SQL> alter table a add constraint pk_a primary key (id);Table altered.SQL> select constraint_name, constraint_type from user_constraints where table_name='A';CONSTRAINT_NAME                C------------------------------ -PK_A                           PSQL> select index_name, index_type from user_indexes where table_name='A';              INDEX_NAME                     INDEX_TYPE------------------------------ ---------------------------PK_A                           NORMAL

    直接删除约束,看到约束和索引确实都删除了,并未出现同事说的现象,

    SQL> alter table a drop constraint pk_a;Table altered.SQL> select constraint_name, constraint_type from user_constraints where table_name='A';no rows selectedSQL> select index_name, index_type from user_indexes where table_name='A';no rows selected

    但是现象在这摆着的,有果必有因,看下MOS,是不是有类似的案例出现过,果然,370633.1这篇文章介绍的和我们碰到的很像,使用ALTER TABLE删除主键约束的时候不能删除隐含的索引,但是请注意,有个前提,就是待删除主键约束的表是通过导入执行的,并不是我们自己手工创建的,而且文章 明确说了如果表是自行创建的,不是导入进来的,删除主键约束的时候会连带删除主键索引,这个问题来自于一个未公布的bug,3894962,通过导入操 作,主键索引并未依赖于主键约束,因此当删除主键约束的时候,不会自动删除对应的主键(/唯一)索引,值得一提的是,9i中并无此现象,从10.1.0之 后的版本才出现此问题,解决方案就是删除索引,一种方式是drop constraint的时候带上drop index,一次性执行,另一种就是drop index删除索引,

    967c800c580f1aa26e8293181e209503.png

    31b7affe1f0e79a13bed58edcca8adb2.png

    我们验证下,从test用户导出表A,再imp导入到用户bisal,

    [oracle@app ~]$ exp test/test file=/home/oracle/test.dmp tables=a[oracle@app ~]$ imp bisal/bisal file=/home/oracle/test.dmp fromuser=test touser=bisal

    此时删主键,约束确实删了,但是索引还在,

    SQL> alter table a drop constraint pk_a;Table altered.SQL> select constraint_name, constraint_type from user_constraints where table_name='A';no rows selectedSQL> select index_name, index_type from user_indexes where table_name='A';INDEX_NAME                     INDEX_TYPE------------------------------ ---------------------------PK_A                           NORMAL

    此时两种方式,一是直接删索引,

    SQL> drop index pk_a;Index dropped.SQL> select index_name, index_type from user_indexes where table_name='A';no rows selected

    另一种就是删除主键约束的同时删除索引,

    SQL> alter table a drop constraint pk_a drop index;Table altered.SQL> select constraint_name, constraint_type from user_constraints where table_name='A';no rows selectedSQL> select index_name, index_type from user_indexes where table_name='A';no rows selected

    说句题外话,以前很少用drop constraint ... drop index,他还是可以带来一定的便利性,例如某些开发组的规范,要求索引名称和约束名称具备固定的前缀,当创建主键时,可能选择先创建唯一索引,再创建主键,以便能自定义主键约束和索引的名称,

    SQL> create unique index idx_pk_a on a(id);Index created.SQL> alter table a add constraint pk_a primary key (id);Table altered.SQL> select index_name, index_type from user_indexes where table_name='A';              INDEX_NAME                     INDEX_TYPE------------------------------ ---------------------------IDX_PK_A                       NORMALSQL> select constraint_name, constraint_type from user_constraints where table_name='A';CONSTRAINT_NAME                C------------------------------ -PK_A                           P

    此时删除主键,显而易见不能删除索引,因为名称不同,但使用drop constraint ... drop index,就可以做到了一次执行,

    SQL> alter table a drop constraint pk_a drop index;Table altered.SQL> select index_name, index_type from user_indexes where table_name='A';  no rows selectedSQL> select constraint_name, constraint_type from user_constraints where table_name='A';no rows selected

    另一个骚操作,就是用drop primary key drop index,

    SQL> alter table a drop primary key drop index;Table altered.SQL> select constraint_name, constraint_type from user_constraints where table_name='A';no rows selectedSQL> select index_name, index_type from user_indexes where table_name='A'no rows selected

    此外,文章中写的是import,并未提及是imp,还是用的impdp,因此,我们再测下数据泵的执行,

    [oracle@app ~]$ expdp test/test directory=dir_test dumpfile=d_test.dmp tables=a[oracle@app ~]$ impdp bisal/bisal directory=dir_test dumpfile=d_test.dmp fromuser=test touser=bisal

    可知现象相同,因此针对这个bug,imp/exp和impdp/expdp都会涉及,

    SQL> alter table a drop constraint pk_a;Table altered.SQL> select constraint_name, constraint_type from user_constraints where table_name='A';no rows selectedSQL> select index_name, index_type from user_indexes where table_name='A';INDEX_NAME                     INDEX_TYPE------------------------------ ---------------------------PK_A                           NORMAL

    从这个案例,我们能体会到,无论什么技术,一种现象的产生,肯定有他的原因,结论固然重要,更重要的是探索结论的过程,以及为了支持结论需要了解的知识,正所谓知其然,更要知其所以然,就是这回事儿。

    近期的热文:

    《如何判断应用系统性能好不好?》

    《Oracle Cloud创建19c数据库》

    《DATE类型的“小陷阱”》

    《SQL工具集-格式化结果的SQL》

    《聊聊数据库范式》

    《如何捕获问题SQL解决过度CPU消耗的问题》

    《如何查看JVM运行的堆内存情况》

    《打造国产技术产品的必要性》

    《Oracle删除字段的方式和风险,你都了解么?》

    《登录缓慢的诡异问题》

    《从70万字SRE神作提炼出的7千字精华文章》

    《公众号600篇文章分类和索引》

    展开全文
  • 在Oracle数据库中,我们知道创建主键约束的时候,会自动创建唯一索引,靠着唯一索引,保证数据的唯一,删除主键约束时,会自动删除对应的唯一索引。但是最近碰到了个奇怪的问题,同事说测试环境中删除一张表的主键...

    在Oracle数据库中,我们知道创建主键约束的时候,会自动创建唯一索引,靠着唯一索引,保证数据的唯一,删除主键约束时,会自动删除对应的唯一索引。但是最近碰到了个奇怪的问题,同事说测试环境中删除一张表的主键约束,发现约束删了,但唯一索引还在,难道有什么隐藏的问题?

    Oracle11.2.0.4,创建测试表,然后创建主键,自动生成同名的索引,

    SQL> create table a (id number, name varchar2(30));Table created.SQL> alter table a add constraint pk_a primary key (id);Table altered.SQL> select constraint_name, constraint_type from user_constraints where table_name='A';CONSTRAINT_NAME                C------------------------------ -PK_A                           PSQL> select index_name, index_type from user_indexes where table_name='A';              INDEX_NAME                     INDEX_TYPE------------------------------ ---------------------------PK_A                           NORMAL

    直接删除约束,看到约束和索引确实都删除了,并未出现同事说的现象,

    SQL> alter table a drop constraint pk_a;Table altered.SQL> select constraint_name, constraint_type from user_constraints where table_name='A';no rows selectedSQL> select index_name, index_type from user_indexes where table_name='A';no rows selected

    但是现象在这摆着的,有果必有因,看下MOS,是不是有类似的案例出现过,果然,370633.1这篇文章介绍的和我们碰到的很像,使用ALTER TABLE删除主键约束的时候不能删除隐含的索引,但是请注意,有个前提,就是待删除主键约束的表是通过导入执行的,并不是我们自己手工创建的,而且文章 明确说了如果表是自行创建的,不是导入进来的,删除主键约束的时候会连带删除主键索引,这个问题来自于一个未公布的bug,3894962,通过导入操 作,主键索引并未依赖于主键约束,因此当删除主键约束的时候,不会自动删除对应的主键(/唯一)索引,值得一提的是,9i中并无此现象,从10.1.0之 后的版本才出现此问题,解决方案就是删除索引,一种方式是drop constraint的时候带上drop index,一次性执行,另一种就是drop index删除索引,

    121274fc2be597a2f1cc98cd981151c5.png

    bba0d0fae23d48c9621d4106cef481d7.png

    我们验证下,从test用户导出表A,再imp导入到用户bisal,

    [oracle@app ~]$ exp test/test file=/home/oracle/test.dmp tables=a[oracle@app ~]$ imp bisal/bisal file=/home/oracle/test.dmp fromuser=test touser=bisal

    此时删主键,约束确实删了,但是索引还在,

    SQL> alter table a drop constraint pk_a;Table altered.SQL> select constraint_name, constraint_type from user_constraints where table_name='A';no rows selectedSQL> select index_name, index_type from user_indexes where table_name='A';INDEX_NAME                     INDEX_TYPE------------------------------ ---------------------------PK_A                           NORMAL

    此时两种方式,一是直接删索引,

    SQL> drop index pk_a;Index dropped.SQL> select index_name, index_type from user_indexes where table_name='A';no rows selected

    另一种就是删除主键约束的同时删除索引,

    SQL> alter table a drop constraint pk_a drop index;Table altered.SQL> select constraint_name, constraint_type from user_constraints where table_name='A';no rows selectedSQL> select index_name, index_type from user_indexes where table_name='A';no rows selected

    说句题外话,以前很少用drop constraint ... drop index,他还是可以带来一定的便利性,例如某些开发组的规范,要求索引名称和约束名称具备固定的前缀,当创建主键时,可能选择先创建唯一索引,再创建主键,以便能自定义主键约束和索引的名称,

    SQL> create unique index idx_pk_a on a(id);Index created.SQL> alter table a add constraint pk_a primary key (id);Table altered.SQL> select index_name, index_type from user_indexes where table_name='A';              INDEX_NAME                     INDEX_TYPE------------------------------ ---------------------------IDX_PK_A                       NORMALSQL> select constraint_name, constraint_type from user_constraints where table_name='A';CONSTRAINT_NAME                C------------------------------ -PK_A                           P

    此时删除主键,显而易见不能删除索引,因为名称不同,但使用drop constraint ... drop index,就可以做到了一次执行,

    SQL> alter table a drop constraint pk_a drop index;Table altered.SQL> select index_name, index_type from user_indexes where table_name='A';  no rows selectedSQL> select constraint_name, constraint_type from user_constraints where table_name='A';no rows selected

    另一个骚操作,就是用drop primary key drop index,

    SQL> alter table a drop primary key drop index;Table altered.SQL> select constraint_name, constraint_type from user_constraints where table_name='A';no rows selectedSQL> select index_name, index_type from user_indexes where table_name='A'no rows selected

    此外,文章中写的是import,并未提及是imp,还是用的impdp,因此,我们再测下数据泵的执行,

    [oracle@app ~]$ expdp test/test directory=dir_test dumpfile=d_test.dmp tables=a[oracle@app ~]$ impdp bisal/bisal directory=dir_test dumpfile=d_test.dmp fromuser=test touser=bisal

    可知现象相同,因此针对这个bug,imp/exp和impdp/expdp都会涉及,

    SQL> alter table a drop constraint pk_a;Table altered.SQL> select constraint_name, constraint_type from user_constraints where table_name='A';no rows selectedSQL> select index_name, index_type from user_indexes where table_name='A';INDEX_NAME                     INDEX_TYPE------------------------------ ---------------------------PK_A                           NORMAL

    从这个案例,我们能体会到,无论什么技术,一种现象的产生,肯定有他的原因,结论固然重要,更重要的是探索结论的过程,以及为了支持结论需要了解的知识,正所谓知其然,更要知其所以然,就是这回事儿。

    近期的热文:

    《如何判断应用系统性能好不好?》

    《Oracle Cloud创建19c数据库》

    《DATE类型的“小陷阱”》

    《SQL工具集-格式化结果的SQL》

    《聊聊数据库范式》

    《如何捕获问题SQL解决过度CPU消耗的问题》

    《如何查看JVM运行的堆内存情况》

    《打造国产技术产品的必要性》

    《Oracle删除字段的方式和风险,你都了解么?》

    《登录缓慢的诡异问题》

    《从70万字SRE神作提炼出的7千字精华文章》

    《公众号600篇文章分类和索引》

    展开全文
  • 主键(primary key)是一种特殊约束,它标识一个或者一组列,它们依次唯一标识所有行... 一个只能有一个主键,当指定主键后,表索引(index)会自动创建,默认为聚集索引。如果你对一个只允许有一个聚集索引...
  • 关于MySQL InnoDB表的二级索引是否加入主键,总结如下:1对于MySQL ...2.MySQL 5.6.9之前,InnoDB引擎层是对二级索引自动扩展,但是优化器不能识别出扩展的主键。3.MySQL 5.6.9开始InnoDB引擎层是对二级索...
  • 3、使用主键,数据库会自动创建主索引,当然也可以在非主键创建索引 4、索引可以提高查询速度 5、主键不可以为空,但是索引可以为空 6、一个里面可以有多个索引,但是只能有一个主键 视图和之间...
  • 据我们所了解,sqlserver在添加主键的时候,会自动将我宝贵聚集索引添加在我们ID上,然后,有些时候,我们想添加在 常用搜索字段上,这个时候,如果主键已经创建了;我们可以使用下面方法来进行更改: ...
  • 我们知道给表建立索引有助于加快对表的查询速度和增强表的列的唯一性,同时我们也知道给一个表增加主键能够自动在主键列上建立一个聚集索引,或者给一个表增加一个唯一约束也会自动增加一个唯一索,对于通过主键和...
  • MySQL索引主键和唯一性区别

    千次阅读 2017-07-26 11:23:33
    PRIMARY 主键: 就是 唯一 且 不能为空。 INDEX 索引: 普通 ...在建立主键的时候,系统会自动建立一个唯一性索引。在一张中只能定义一个主键索引,使用关键字 PRIMARY KEY 来创建。 2.索引(INDEX ):
  • 在Oracle数据库中,我们知道创建主键约束的时候,会自动创建唯一索引,靠着唯一索引,保证数据的唯一,删除主键约束时,会自动删除对应的唯一索引。但是最近碰到了个奇怪的问题,同事说测试环境中删除一张表的主键...
  • 在InnoDB存储引擎表中,每张表都有主键(primary key),如果在创建表时没有显式地定义主键,则InnoDB存储引擎按如下方式选择或创建索引: 首先判断表中是否有非空唯一索引(unique not null),如果有,则该列...
  • 关于MySQL InnoDB表的二级索引是否加入主键,总结如下:1对于MySQL InnoDB表的二级索引是否...2.MySQL 5.6.9之前,InnoDB引擎层是对二级索引自动扩展,但是优化器不能识别出扩展的主键。3.MySQL 5.6.9开始Inno...
  • 创建索引的情况

    2020-02-22 13:51:14
    频繁作为查询条件字段应该创建索引 查询中与其他关联字段,外建关系建立索引 频繁更新字段不适合建立索引(索引是数据结构,占用磁盘空间) where条件里用不到字段不创建索引 ...
  • MySQL之创建索引

    2019-12-10 15:29:04
    MySQL数据库会自动为主键约束和唯一约束创建对应的主键索引和唯一索引 查询表中的索引 语法:show index from 表名 (2)手动创建索引 a.创建表创建索引 1.创建普通索引 语法: create table 表名( 字段....
  • 数据库中主键索引的区别

    万次阅读 2015-03-14 22:06:29
    3.使用主键会数据库会自动创建主索引,也可以在非主键上创建索引,方便查询效率. 4:索引可以提高查询速度,它就相当于字典目录,可以通过它很快查询到想要结果,而不需要进行全扫描. 5:主键索引外索引值可以为空....
  • 在Oracle数据库中,我们知道创建主键约束的时候,会自动创建唯一索引,靠着唯一索引,保证数据的唯一,删除主键约束时,会自动删除对应的唯一索引。但是最近碰到了个奇怪的问题,同事说测试环境中删除一张表的主键...
  • 主键是为了标识数据库记录唯一性,只能有一个主键主键其实也是一个特殊索引:主键索引(不可为空),是一种特殊唯一索引,使用主键数据库会自动创建主索引(当然也可以在非主键创建索引) 索引可以提高查询...
  • 索引介绍 索引在MySQL中也叫做“键”,它是一个特殊文件,它保存着数据表里所有记录位置信息,更通俗来说,数据库索引好比是一本书前面目录,能加快数据库...主键会自动创建索引 索引创建: -- ...
  • 主键索引

    2009-10-15 18:00:00
    使用主键会数据库会自动创建主索引,也可以在非主键上创建索引,方便查询效率.4:索引可以提高查询速度,它就相当于字典目录,可以通过它很快查询到想要结果,而不需要进行全扫描.5:主键索引外索引值可以为空....
  • 目录1 表1.1 创建表1.1.1 非空约束1.1.2 唯一约束(忽视空值,null不等于任何值)1.1.3 主键约束(非空 + 唯一)1.1.4 外键约束1.1.5 检查约束1.2 管理表1.3 管理约束2 视图3 索引 1 表 1.1 创建表 1.1.1 非空约束 ...
  • Oracle 创建索引

    2019-10-16 16:44:08
       索引是数据库服务器用来加快检索速度,再通过加了索引列进行检索 时候,数据库会自动使用索引,使用索引所在列值...  在创建主键约束,唯一键约束,主键约束时会自动创建索引 2.手动创建索引:   用...
  • 一、哪些情况需要创建索引 ...因为在 join 中,join 左边的表用每一个字段去遍历 B 表的所有的关联数据,相当于一个查询操作。 单键/组合索引的选择问题。(在高并发下倾向创建组合索引) 查询中排序的字段,排
  • 设立主键会自动创建索引,索引值不可为空。 innodb为聚簇索引 全文索引 在定义索引列上支持全文查找,允许在这些索引列中插入重复值和空值。可在char varchar text类型列上创建。MySQL只有MyISAM引擎支持全文...
  • 主键、约束和索引

    2019-09-28 12:12:17
    1、主键约束不允许出现 NULL 值。... 2、创建主键会自动创建聚集索引,除非当前中已经含有了聚集索引或是创建主键时指定了 NONCLUSTERED 关键字。 3、创建唯一约束时会自动创建非聚集索引,除非你指定了 C...
  • 增加新的记录时,数据库会自动检索新记录的主键值,不允许该值与其他中记录的主键重复; 数据库会按主键值的顺序显示记录,如果没有设定主键,则按输入的顺序显示记录。 外键:是主键的从属,表示了两个之间的...
  • 如何删除主键的聚集索引

    千次阅读 2014-11-21 02:12:05
    当我们对一个建立一个主键时,默认给该主键列添加一条聚集索引,这是数据库内部自动建立,唯一性约束也默认创建一个非聚集索引。 create table MyTable ( id int identity(1,1) primary key, name ...
  • 增加新的记录时,数据库会自动检索新记录的主键值,不允许该值与其他中记录的主键重复;数据库会按主键值的顺序显示记录,如果没有设定主键,则按输入的顺序显示记录。 外键:是主键的从属,表示了两个之间的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 522
精华内容 208
关键字:

创建表的主键会自动创建索引