mysql学习笔记(二)

今天学习的内容主要是如何为一张表创建主键(PRIMARY KEY),如何创建唯一约束(UNIQUE KEY),为数据表创建索引的好处,以及如何创建外键约束。

主键相关知识点:一张表只能有一个主键。如下面的表中把id字段定义成主键。

要点:属性AUTO_INCREMENT必须要和主键在一起使用才行,当主键那一列的属性不一定要定义成AUTO_INCREMENT型。

 

唯一约束相关知识点:一张表可以有多个唯一约束。下面为user3表添加几个字段,并把一些字段定义成唯一约束。再把username字段也修改成唯一约束。

首先插入两个字段password 和 salary,并把password定义成唯一约束。

 

我们再通过SHOW CREATE TABLE `user3` 命令来查看当前表的结构

 

发现修改成功。再把username字段修改成唯一约束来证明一张表中允许存在多个唯一约束。

添加唯一约束成功说明了可以存在多个唯一约束。

 

为表中的一列或多列创建索引的好处是能够提高数据表的查询效率。比如user3表中的username字段有N条记录,现在要查找的是记录中最后一条SELECT * FROM `user3` WHERE `username`="李四",没有添加索引,查找时会挨个匹配,时间效率将为O(N),但添加索引后,由于字段username的记录是放在B-树中或哈希树中的,查找时是按已经写好的最优算法来匹配的,时间效率自然会O(n)快出巨多。

外键约束的要求:

1.父表和字表必须使用相同的存储引擎,而且禁止使用临时表。

2.数据表的存储引擎只能为InnoDB。

3.外键列和参照列必须具有相似的数据类型。其中数字的长度或是否有符号位必须相同;而字符的长度则可以不同。

4.外键列和参照列必须创建索引。如果外键列不存在索引的话,MYSQL将自动创建索引。

下面创建一个province1表,是表user11的父表。

将user11表中的pid定义成外键,通过外键约束,pid不用定义字符类型来存储省份的信息,而可以通过外键与表provinces1关联。

创建provinces1表:

再创建user11表:

把pid设置成外键约束,通过参考provinces1表中的id字段来达到关联的目的。

创建外键约束必须符合上面的4个要求才行。

其中存储引擎指的是如何存储数据,如何为存储数据建立索引和如何更新,查询
数据等技术的实现方法。因为在关系数据库中数据的存储是表的形式存储的,
所以存储引擎也可以称为表类型(即存储和操作此表的类型)。

SHOW CREATE TABLE 表名;来查看表的存储引擎

通过ALTER TABLE 表名 ENGINE=引擎类型;来修改表的类型

通过SHOW ENGINES来查看你的数据库所支持的存储引擎类型,以及数据库默认的存储引擎。

可以通过打开my.ini配置文件来修改默认的存储引擎类型。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值