1. 数据库基础
1.1 什么是数据库?什么是MySQL?
数据库是一个系统,用于存储和管理数据的地方。
这些数据被组织为一种结构,使得我们可以容易地找到和更改信息。
MySQL是一个开源的关系型数据库管理系统(RDBMS),非常流行,用于各种应用,从个人网站到全球电子商务和在线事务处理(OLTP)应用。
1.2 什么是SQL?它的作用是什么?
SQL(Structured Query Language)是一种用于访问和操作数据库的标准化查询语言。
其作用是提供一种方式从数据库中获取、插入、更新、删除数据,或者创建、修改、删除数据表结构等操作。
2. MySQL特性和优点
2.1 描述MySQL的几个主要特性。
MySQL具有以下主要特性:它是开源的,具有良好的可移植性,提供了多语言支持,支持大型数据库,具有客户端/服务器架构,支持多种存储引擎,以及对事务和ACID(Atomicity, Consistency, Isolation, Durability)的支持。
2.2 MySQL的优点是什么?
MySQL的优点包括它的性能,可扩展性,开源性质,以及其广泛的平台支持。
它还提供了复制和分区的功能,以增加可靠性和性能。
3. MySQL数据类型
3.1 描述MySQL的基本数据类型。
MySQL主要的数据类型有:整数类型(例如:INT,TINYINT,SMALLINT,MEDIUMINT),浮点数类型(例如:FLOAT,DOUBLE),定点数类型(例如:DECIMAL),字符类型(例如:CHAR,VARCHAR),文本类型(例如:TINYTEXT,TEXT,MEDIUMTEXT),日期和时间类型(例如:DATE,TIME,DATETIME),二进制类型(例如:BINARY,VARBINARY),枚举类型(ENUM)等。
4. MySQL索引
4.1 什么是索引,它的作用是什么?
索引是数据库中的一种数据结构,用于快速查找和访问数据表中的特定记录。
索引可以显著提高查询速度,但也会占用更多的存储空间,并可能降低数据插入、更新和删除的速度。
4.2 什么是主键?什么是外键?
主键是一种特殊的索引,它唯一标识数据库表中的每一行/记录。
一个数据表只能有一个主键。外键是一个字段或字段组合,其值依赖于另一个表的主键。
5. MySQL事务
5.1 什么是事务?
事务是一个或多个SQL语句组成的一个逻辑工作单元。事务具有ACID属性。
5.2 什么是ACID属性?
ACID是指原子性(Atomicity),一致性(Consistency),隔离性(Isolation),持久性(Durability)。
这些属性确保在发生故障时,数据库可以恢复到一种一致的状态。