文章目录
- 一、基础概念
- 二、数据类型
- 三、SQL语句
- 四、索引
- 五、事务
- 六、存储引擎
一、基础概念
- 什么是MySQL?
- MySQL是一种开源的关系型数据库管理系统(RDBMS),由瑞典MySQL AB公司开发,目前属于Oracle旗下产品。它使用
SQL(结构化查询语言)
进行数据库操作。
- MySQL是一种开源的关系型数据库管理系统(RDBMS),由瑞典MySQL AB公司开发,目前属于Oracle旗下产品。它使用
- 解释一下数据库、表、字段和记录的关系?
数据库
是存储数据的容器;表
是数据库中的对象,用于存储具有相同结构的数据;字段
是表中的列,定义了数据的类型和属性;记录
是表中的行,包含了实际的数据。
二、数据类型
- MySQL中有哪些常见的数据类型?
整数类型
:如TINYINT、SMALLINT、INT、BIGINT。浮点类型
:如FLOAT、DOUBLE。字符串类型
:如CHAR、VARCHAR、TEXT。日期和时间类型
:如DATE、TIME、DATETIME、TIMESTAMP。枚举和集合类型
:如ENUM、SET。
- VARCHAR和CHAR有什么区别?
CHAR是定长字符串
,当存储的数据长度小于定义的长度时,会用空格填充;而VARCHAR是变长字符串
,只存储实际使用的字符长度,更节省空间,但在频繁更新时可能会导致性能下降。
三、SQL语句
- 如何创建一个表?
- 例如,创建一个名为
students
的表:
CREATE TABLE students (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50) NOT NULL,age INT,gender ENUM('male', 'female') );
- 例如,创建一个名为
- 如何插入数据到表中?
- 例如,向
students
表中插入一条记录:
INSERT INTO students (name, age, gender) VALUES ('John', 20,'male');
- 例如,向
- 如何查询数据?
- 例如,查询
students
表中所有学生的信息:
SELECT * FROM students;
- 查询年龄大于18岁的学生:
SELECT * FROM students WHERE age > 18;
- 例如,查询
四、索引
- 什么是索引?有什么作用?
索引是
一种特殊的数据结构,用于快速查找数据库中的数据
。它可以大大提高查询的速度,但会增加数据插入、更新和删除的开销。
- 有哪些常见的索引类型?
主键索引
(PRIMARY KEY):唯一标识表中的每一行记录。唯一索引
(UNIQUE):确保索引列中的值是唯一的。普通索引
(INDEX):没有唯一性约束。全文索引
(FULLTEXT):用于在文本数据中进行全文搜索。
五、事务
- 什么是数据库事务?有哪些特性?
- 事务是一组数据库操作,这些操作要么全部成功执行,要么全部失败回滚。事务具有ACID特性:
原子性
(Atomicity):事务是一个不可分割的工作单位,要么全部执行,要么全部不执行。一致性
(Consistency):事务执行前后,数据库的完整性没有被破坏。隔离性
(Isolation):多个事务并发执行时,一个事务的执行不应影响其他事务的执行。持久性
(Durability):一旦事务提交,它对数据库中数据的改变就应该是永久性的。
- 如何在MySQL中开启和提交事务?
- 开启事务:
START TRANSACTION;
- 提交事务:
COMMIT;
- 回滚事务:
ROLLBACK;
- 开启事务:
六、存储引擎
- MySQL有哪些常见的存储引擎?
InnoDB
:支持事务、行级锁和外键,默认的存储引擎。MyISAM
:不支持事务和行级锁,但查询速度较快,适用于读密集型应用。MEMORY
:将数据存储在内存中,速度非常快,但数据在服务器重启后会丢失。
- InnoDB和MyISAM有什么区别?
- 事务支持:InnoDB支持事务,MyISAM不支持。
- 锁机制:InnoDB支持行级锁和表级锁,MyISAM只支持表级锁。
- 外键支持:InnoDB支持外键,MyISAM不支持。
- 存储结构:InnoDB数据和索引存储在同一个文件中,MyISAM数据和索引存储在不同的文件中。
这些问题涵盖了MySQL的基础知识,对于应届生面试有一定的参考价值。