MySQL,作为开源数据库领域的佼佼者,凭借其高性能、可靠性和易用性,在众多企业和项目中得到了广泛应用
在MySQL中,数据定义语言(DDL)和数据操作语言(DML)是构建和操作数据库不可或缺的两大组件
本文将深入探讨MySQL中DDL与DML的用法,展现它们在数据库管理中的强大功能和重要性
一、数据定义语言(DDL):构建数据库的蓝图 DDL(Data Definition Language)主要用于定义和管理数据库结构,包括创建、修改和删除数据库对象(如表、索引、视图等)
DDL语句执行后,通常会立即生效,并且这些更改是持久的,意味着它们会影响数据库的整体架构
1. 创建数据库和表 创建数据库是数据库项目的第一步,通过`CREATE DATABASE`语句实现
例如: sql CREATE DATABASE my_database; 随后,在指定的数据库中创建表,使用`CREATE TABLE`语句
这是定义数据结构的关键步骤,涉及指定列名、数据类型、约束等: sql USE my_database; CREATE TABLE users( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL, password VARCHAR(255) NOT NULL, email VARCHAR(100), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); 2. 修改数据库结构 随着项目需求的变化,可能需要调整数据库结构
`ALTER TABLE`语句允许我们添加、删除或修改表中的列,以及添加或删除索引等
例如,向`users`表添加一个新的列`phone_number`: sql ALTER TABLE users ADD COLUMN phone_number VARCHAR(20); 3. 删除数据库对象 当某个数据库对象不再需要时,可以使用`DROP`语句将其删除
`DROP TABLE`用于删除表,`DROP DATABASE`用于删除整个数据库: sql DROP TABLE users; DROP DATABASE my_database; 二、数据操作语言(DML):数据的增删改查 DML(Data Manipulation Language)用于对数据库中的数据进行操作,包括插入、更新、删除和查询数据
DML语句通常不会改变数据库的结构,而是直接影响存储的数据
1.插入数据 使用`INSERT INTO`语句向表中插入新记录
可以一次性插入一行或多行数据: sql INSERT INTO users(username, password, email) VALUES(john_doe, password123, john@example.com); INSERT INTO users(username, password, email) VALUES (jane_smith, pass456, jane@example.com), (alice_jones, securepass, alice@example.com); 2. 查询数据 `SELECT`语句是DML中最常用的命令,用于从数据库中检索数据
可以指定要查询的列、设置条件、排序结果等: sql SELECT - FROM users WHERE email LIKE %example.com; SELECT username, email FROM users ORDER BY created_at DESC LIMIT10; 3. 更新数据 `UPDATE`语句用于修改表中已存在的记录
必须指定要更新的列和新值,以及用于定位要更新记录的条件: sql UPDATE users SET email = john_new@example.com WHERE username = john_doe; 4. 删除数据 `DELETE FROM`语句用于删除表中符合条件的记录
务必小心使用,因为一旦执行,删除的数据通常无法恢复: sql DELETE FROM users WHERE username = alice_jones; 三、DDL与DML的协同作用:构建高效数据库系统 DDL和DML在数据库管理中各司其职,但又紧密相连
DDL负责定义数据库的结构,为数据存储提供框架;而DML则在这个框架内操作数据,实现数据的动态管理
-设计先行:在项目初期,通过DDL语句精心设计数据库结构,确保数据模型的高效性和可扩展性
良好的设计能够减少未来的数据迁移和重构成本
-数据操作的高效性:DML语句的执行效率直接影响数据库的性能
优化查询语句