四、MySQL中的概念

1.数据表的类型

mysql数据表的类型有两种:INNODBMYISAM

MYISAMINNODB
事务支持不支持支持
数据行锁定不支持支持
外键约束不支持支持
全文索引支持不支持
表空间大小较小较大
在物理存储上的区别有*.irm 表结构的文件,.MYD 数据文件(data).MYI索引文件(index)在数据表中只有一个*.frm文件,以及上级目录的ibdata文件

2.外键

为表的字段增加约束
一张表中的一个字段需要引用另一张表的字段

2.1.外键的使用(不建议使用,建议使用逻辑外键)

--在创建表时
--先声明一个字段(学生表中的年级字段)为键
key `FK_gradeid` (`gradeid`),
--在给这个键添加外键约束(年级表中的年级id字段)
constraint `FK_gradeid` foreign key (`gradeid`) references 'grade'(`gradeid`)

--表已将创建好后再添加外键约束
alter table `student` add constraint `FK_gradeid` foreign key (`gradeid`) references `grade`(`gradeid`)

3.三范式

三范式用来规范数据库的设计

  1. 第一范式:要求数据库表的字段(每一列)都是不可分割的原子数据项
  2. 第二范式:满足第一范式的前提下,每张表只描述一件事情
  3. 第三范式:满足第一第二范式的前提下,数据表中的每一个字段都要和主键直接相关,不能间接相关

具体的数据库设计还是得考虑到商业化的需求具体设计

4.索引

索引(index)是帮助MySQL高效获取数据的数据结构。

4.1.索引的分类

  • 主键索引(primary key):不可重复,每张表必须存在
  • 唯一索引(unique key): 避免重复的列出现,多个列都可以设置成唯一索
  • 常规索引(key/index):不填,默认就是常规索引
  • 全文索引(fulltext key): 拥有索引名和列名两个属性

4.2.使用索引的原则

  • 数据量大时使用索引可以提升效率

  • 不要对经常变动的数据添加索引

  • 索引一边加载查询的字段上

    索引详解看这里!!!

5.备份

  • 物理备份:直接物理拷贝data文件
  • 使用数据库可视化软件备份(sqlyog,navicat…)导出
  • 使用命令行备份:
 # 命令导出文件
 #        -h   主机    -u用户名 -p密码  数据库 表名     >拷贝到物理磁盘哪个位置  
mysqldump -h localhost -uroot -p123456 school student >D:/a.sql

//命令行导入sql文件
--登录情况下,先进入数据库中 use database
source 文件路径
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值