MySQL:DML、DDL操作详解,数据类型与事务管理

1 下载量 163 浏览量 更新于2024-08-30 收藏 103KB PDF 举报
MySQL是关系型数据库管理系统(RDBMS)中的一员,本文将详细介绍数据操纵语言(DML)、数据定义语言(DDL)、数据类型、数据库约束以及事务处理的相关知识。 **1. 数据操纵语言 (DML)** DML用于在数据库中执行数据的增删改操作。例如,通过`INSERT INTO`语句可以将`employees`表中符合条件的员工信息(如job_id包含'REP'的员工)复制到`sales_reps`表中,示例代码如下: ```sql INSERT INTO sales_reps (id, name, salary, commission_pct) SELECT employee_id, last_name, salary, commission_pct FROM employees WHERE job_id LIKE '%REP%'; ``` **2. 数据定义语言 (DDL)** DDL用于创建、修改和删除数据库对象。关键操作包括: - **库管理**:创建数据库如`createdatabase`,如`createdatabase if not exists mydb CHARACTER SET utf8mb4;`。修改库可以通过`alterdatabase`命令,删除库则用`dropdatabase if exists`。 - **表操作**:创建表通过`createtable`,定义字段名、类型和约束,例如添加列`altertable table_name addcolumn new_column_name data_type constraint;`。 **3. 数据类型** MySQL支持多种数据类型: - **整型**:包括小型整型、普通整型和大整型。 - **浮点型**:如`FLOAT`或`DOUBLE`,用于存储小数。 - **字符型**:如`VARCHAR`、`CHAR`,指定长度。 - **日期型**:`DATE`、`TIMESTAMP`等,用于存储日期和时间。 **4. 约束** - **约束**是确保数据质量的规则,包括: - `NOT NULL`约束:字段不能为NULL。 - `UNIQUE`约束:确保字段值唯一,不接受重复。 - `PRIMARY KEY`约束:主键,一个表中的唯一标识字段,用于关联其他表。 - `FOREIGN KEY`约束:用于表与表之间的引用完整性,确保引用的主键存在。 **5. 事务** - **事务**是一组SQL操作,它们要么全部执行,要么全部回滚。事务特性包括: - **概念**:一组相关的数据库操作,这些操作要么全部成功,要么全部失败。 - **使用步骤**:开始事务(`START TRANSACTION`或`BEGIN`),执行操作,提交(`COMMIT`)或回滚(`ROLLBACK`)。 - **并发问题**:事务隔离级别防止脏读、不可重复读、幻影读等问题。 - **隔离级别**:MySQL提供四种级别,如`READ UNCOMMITTED`、`READ COMMITTED`等。 - **SAVEPOINT**:事务中的中间点,允许在发生错误时回滚到特定点。 本文介绍了MySQL中关键的DML、DDL操作,以及数据类型、约束和事务处理的基础概念和实践技巧。熟练掌握这些内容对于开发和维护数据库系统至关重要。