社区
MySQL
帖子详情
设定某个列为主键时,是否默认为其创建索引?
dingding_hi
2010-01-06 11:27:50
在创建表时,指定某个列为主键,是不是默认就创建了一个相应的索引?
是否需要再用create index为该列创建索引?
...全文
859
3
打赏
收藏
设定某个列为主键时,是否默认为其创建索引?
在创建表时,指定某个列为主键,是不是默认就创建了一个相应的索引? 是否需要再用create index为该列创建索引?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ACMAIN_CHM
2010-01-07
打赏
举报
回复
[Quote]oracle是否也是这样的呢?也是设置为主键,就建立一个索引?[/Quote]是的,基本上所有数据库都是这样。
[Quote]还有,就是如果把一个字段定义成外键,是否也会为之建立一个索引?对于mysql和oracle情况相同吗?[/Quote]是的,一般来说外键肯定是会被经常做连接查询的字段,所以数据库管理系统会自动加上索引。mysql / oralce / sql server 等都会自动添加。
dingding_hi
2010-01-07
打赏
举报
回复
oracle是否也是这样的呢?也是设置为主键,就建立一个索引?
还有,就是如果把一个字段定义成外键,是否也会为之建立一个索引?对于mysql和oracle情况相同吗?
ACMAIN_CHM
2010-01-06
打赏
举报
回复
[Quote]在创建表时,指定某个列为主键,是不是默认就创建了一个相应的索引?[/Quote] 是的。会自动创建一个 唯一索引 [Quote]是否需要再用create index为该列创建索引?[/Quote]不需要了
go数据库mysql与redis
MySQL 教程MySQL 是流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。在本教程中,会让大家快速掌握 MySQL 的基本知识,并轻松使用 MySQL 数据库。什么是数据库?数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。每个数据库都有一个或多个不同的 API 用于
创建
,访问,管理,搜索和复制所保存的数据。我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。RDBMS 即关系数据库管理系统(Relational Database Management System)的特点:1.数据以表格的形式出现2.每行为各种记录名称3.每
列为
记录名称所对应的数据域4.许多的行和列组成一张表单5.若干的表单组成databaseRDBMS 术语 在我们开始学习MySQL 数据库前,让我们先了解下RDBMS的一些术语:数据库: 数据库是一些关联表的集合。数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。列: 一列(数据元素) 包含了相同类型的数据, 例如邮政编码的数据。行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。
主键
:
主键
是唯一的。一个数据表中只能包含一个
主键
。你可以使用
主键
来查询数据。外键:外键用于关联两个表。复合键:复合键(组合键)将多个列作为一个
索引
键,一般用于复合
索引
。
索引
:使用
索引
可快速访问数据库表中的特定信息。
索引
是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。MySQL 为关系型数据库(Relational Database Management System), 这种所谓的关系型可以理解为表格的概念, 一个关系型数据库由一个或数个表格组成, 如图所示的一个表格: 表头(header): 每一列的名称;列(col): 具有相同数据类型的数据的集合;行(row): 每一行用来描述某条记录的具体信息;值(value): 行的具体信息, 每个值必须与该列的数据类型相同;键(key): 键的值在当前列中具有唯一性。MySQL数据库MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 是开源的,目前隶属于 Oracle 旗下产品。MySQL 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。MySQL 使用标准的 SQL 数据语言形式。MySQL 可以运行于多个系统上,并且支持多种语言。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。MySQL 对PHP有很好的支持,PHP 是目前流行的 Web 开发语言。MySQL 支持大型数据库,支持 5000 万条记录的数据仓库,32 位系统表文件最大可支持 4GB,64 位系统支持最大的表文件为8TB。MySQL 是可以定制的,采用了 GPL 协议,你可以修改源码来开发自己的 MySQL 系统。Redis 教程REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库。Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。Redis 通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等类型。
mysql:
创建
表
时
默认
值和
主键
列的
默认
值 null 查询不便 null 的
索引
效率不高 所以实际中应该避免值为 null,如何避免: 声明
列为
not null,并设置
默认
值 default create table t10 ( id int not null default 0, name char(10) not null default '' )
主键
与自增
主键
primary key,能够区分每一行(不重复) ...
MySQL高级_第08章_
索引
的
创建
与设计原则
此
时
,如果发现删除
索引
后出现错误,又只能通过显式
创建
索引
的方式将删除的
索引
创建
回来。既是
主键
、又给它定义为一个唯一
索引
,还给它定义了一个普通
索引
,可是
主键
本身就会生成聚簇
索引
,所以定义的唯一
索引
和普通
索引
是重复的,这种情况要避免。(强制使用
索引
),优化器也不会使用该
索引
),确认将
索引
设置为隐藏
索引
后系统不受任何响应,就可以彻底删除
索引
。字段上建立
索引
时
,必须指定
索引
长度,没必要对全字段建立
索引
,根据实际文本区分度决定
索引
长度。提示 删除表中的列
时
,如果要删除的
列为
索引
的组成部分,则该列也会从
索引
中删除。
索引
的
创建
与设计原则
索引
的
创建
与设计原则
Mysql
索引
的
创建
与设计原则
MySQL的
索引
包括普通
索引
、唯一性
索引
、全文
索引
、单列
索引
、多列
索引
和空间
索引
等。1. 普通
索引
2. 唯一性
索引
3.
主键
索引
4. 单列
索引
5. 多列(组合、联合)
索引
6. 全文
索引
7. 补充:空间
索引
:支持 B-tree、Full-text 等
索引
,不支持 Hash
索引
;: 支持 B-tree、Full-text 等
索引
,不支持 Hash
索引
;:支持 B-tree、Hash 等
索引
,不支持 Full-text
索引
;
MySQL
56,687
社区成员
56,710
社区内容
发帖
与我相关
我的任务
MySQL
MySQL相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MySQL相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章