MYSQL (1) 创建数据库&数据表2021-09-07

本文介绍了MySQL的四种主要存储引擎,包括InnoDB、MyISAM、Memory和Archive的特点和适用场景。InnoDB是默认引擎,支持事务处理和行级锁定;MyISAM速度快但不支持事务;Memory引擎使用内存存储数据,适合临时数据;Archive引擎用于文件归档。此外,还讲解了如何创建和修改表结构,以及数据表的约束,如主键、外键、唯一性约束、NOTNULL约束、DEFAULT和CHECK约束。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、总结
在这里插入图片描述

  • InnoDB 存储引擎:它是 MySQL 5.5 版本之后默认的存储引擎,最大的特点是支持事务、行级锁定、外键约束等。
  • MyISAM 存储引擎:在 MySQL 5.5 版本之前是默认的存储引擎,不支持事务,也不支持外键,最大的特点是速度快,占用资源少。
  • Memory 存储引擎:使用系统内存作为存储介质,以便得到更快的响应速度。不过如果 mysqld 进程崩溃,则会导致所有的数据丢失,因此我们只有当数据是临时的情况下才使用 Memory 存储引擎。
  • NDB 存储引擎:也叫做 NDB Cluster 存储引擎,主要用于 MySQL Cluster 分布式集群环境,类似于 Oracle 的RAC 集群。
  • Archive 存储引擎:它有很好的压缩机制,用于文件归档,在请求写入时会进行压缩,所以也经常用来做仓库

2、命令语法

  • 创建表结构:CREATE TABLE table_name
CREATE TABLE player (
player_id int(11) NOT NULL AUTO_INCREMENT,
player_name varchar(255) NOT NULL
);
  • 修改表结构
1. 添加字段 ,添加一个 age 字段,类型为int(11)
ALTER TABLE player ADD (age int(11));

2. 修改字段名,将 age 字段改成player_age
ALTER TABLE player RENAME COLUMN age to player_age

3. 修改字段的数据类型,将player_age的数据类型设置为float(3,1)
ALTER TABLE player MODIFY (player_age float(3,1));

4. 删除字段, 删除刚才添加的player_age字段
ALTER TABLE player DROP COLUMN player_age;
  • 数据表的常见约束
对字段进行约束约束的目的在于保证 RDBMS 里面数据的准确性和一致性

键约束
1、主键约束
主键起的作用是唯一标识一条记录,不能重复,不能为空,即 UNIQUE+NOT NULL
一个数据表的主键只能有一个。主键可以是一个字段,也可以由多个字段复合组成
2、外键约束
外键确保了表与表之间引用的完整性。一个表中的外键对应另一张表的主键。
外键可以是重复的,也可以为空。

字段约束
1、唯一性约束
唯一性约束表明了字段在表中的数值是唯一的,即使我们已经有了主键,还可以对其他字段进行唯一性约束。
唯一性约束相当于创建了一个约束和普通索引,目的是保证字段的正确性,而普通索引只是提升数据检索的速度,并不对字段的唯一性进行约束
2、NOT NULL 约束
对字段定义了 NOT NULL,即表明该字段不应为空,必须有取值。
3、DEFAULT
表明了字段的默认值。如果在插入数据的时候,这个字段没有取值,就设置为默认值
4、CHECK 约束
用来检查特定字段取值范围的有效性,CHECK 约束的结果不能为 FALSE
CHECK(height>=0 AND height<3)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值