mariaDB中常见的DDL,DML,DQL语句

在 MariaDB 里,DDL(数据定义语言)、DML(数据操作语言)和 DQL(数据查询语言)是用于管理和操作数据库的重要工具,以下为你介绍它们常见的语句:

DDL(数据定义语言)

DDL 语句主要用于创建、修改和删除数据库对象,像数据库、表、视图等。

1. 创建数据库
sql 复制代码
CREATE DATABASE IF NOT EXISTS mydatabase;

IF NOT EXISTS 是可选的,其作用是避免在数据库已存在时产生错误。

2. 删除数据库
sql 复制代码
DROP DATABASE IF EXISTS mydatabase;

IF EXISTS 可防止在数据库不存在时出错。

3. 创建表
sql 复制代码
CREATE TABLE IF NOT EXISTS employees (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    age INT,
    department VARCHAR(50)
);

此语句创建了一个名为 employees 的表,包含 idnameagedepartment 字段。

4. 修改表结构

添加字段:

sql 复制代码
ALTER TABLE employees ADD COLUMN salary DECIMAL(10, 2);

修改字段类型:

sql 复制代码
ALTER TABLE employees MODIFY COLUMN age SMALLINT;

删除字段:

sql 复制代码
ALTER TABLE employees DROP COLUMN department;
5. 删除表
sql 复制代码
DROP TABLE IF EXISTS employees;

DML(数据操作语言)

DML 语句用于对数据库中的数据进行插入、更新和删除操作。

1. 插入数据
sql 复制代码
INSERT INTO employees (name, age, salary) VALUES ('John Doe', 30, 5000.00);

可以一次插入多条记录:

sql 复制代码
INSERT INTO employees (name, age, salary) VALUES 
('Jane Smith', 25, 4500.00),
('Bob Johnson', 35, 5500.00);
2. 更新数据
sql 复制代码
UPDATE employees SET salary = 5200.00 WHERE name = 'John Doe';

此语句把 nameJohn Doe 的员工的 salary 更新为 5200.00

3. 删除数据
sql 复制代码
DELETE FROM employees WHERE age > 35;

该语句会删除 age 大于 35 的所有员工记录。

DQL(数据查询语言)

DQL 语句主要用于从数据库中查询数据。

1. 查询所有记录
sql 复制代码
SELECT * FROM employees;

此语句会返回 employees 表中的所有记录和字段。

2. 查询指定字段
sql 复制代码
SELECT name, age FROM employees;

该语句仅返回 nameage 字段。

3. 条件查询
sql 复制代码
SELECT * FROM employees WHERE department = 'HR';

此语句返回 departmentHR 的所有记录。

4. 排序查询
sql 复制代码
SELECT * FROM employees ORDER BY age DESC;

该语句按照 age 字段降序排列结果。

5. 分页查询
sql 复制代码
SELECT * FROM employees LIMIT 10 OFFSET 20;

此语句从第 21 条记录开始返回 10 条记录。

这些是 MariaDB 中常见的 DDL、DML 和 DQL 语句,借助它们你能够有效地管理和操作数据库。

相关推荐
xin-cyy几秒前
MySQL的索引和事务
数据库·mysql
消失在人海中1 小时前
把Excel数据文件导入到Oracle数据库
数据库·oracle·excel
Kookoos2 小时前
ABP vNext + EF Core 实战性能调优指南
数据库·后端·c#·.net·.netcore
LLLLLindream2 小时前
Redis-商品缓存
数据库·redis·缓存
柃歌3 小时前
【LeetCode Solutions】LeetCode 176 ~ 180 题解
数据结构·数据库·sql·算法·leetcode
一眼青苔3 小时前
如何在MySQL中实现类似Redis的PING命令的功能来检测连接状态?
数据库·redis·mysql
奔驰的小野码3 小时前
SpringAI实现AI应用-使用redis持久化聊天记忆
java·数据库·人工智能·redis·spring
hweiyu004 小时前
MySQL性能分析工具:SHOW PROCESSLIST
数据库·mysql
vvilkim5 小时前
SQL语言基础:从入门到掌握结构化查询语言
数据库·sql·oracle