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 语句,借助它们你能够有效地管理和操作数据库。

相关推荐
这个DBA有点耶11 小时前
NULL不是空——数据库里最反直觉的设计,90%新人踩过的坑
数据库·mysql·代码规范
这个DBA有点耶13 小时前
AI写的SQL跑崩了生产库,这锅谁背?
数据库·人工智能·程序员
镜舟科技14 小时前
Databricks 再提 LTAP,AI 时代的数据底座为何重回大一统叙事?
数据库·架构·agent
Databend15 小时前
从湖仓升级为 Agent 时代的数据控制面,Snowflake 和 Databricks 有哪些布局
大数据·数据库·agent
ClouGence18 小时前
SQL Server CDC 能放到 Always On 备库读吗?一文讲透原理与实践
数据库·sql server
先吃饱再说1 天前
存储的进化:从 MySQL 到浏览器缓存,数据到底住在哪?
数据库
Nturmoils1 天前
字段太多看不全,ksql 的展开模式和输出控制怎么用
数据库·后端
Databend2 天前
Agent 轨迹分析与归因的数据工程实践
大数据·数据库·agent
这个DBA有点耶2 天前
SQL改写进阶:标量子查询的“隐形代价”与消除实战
数据库·mysql·架构
smallyoung2 天前
数据库乐观锁深度解析:MySQL、PostgreSQL 实战 + Spring Boot 集成指南
数据库·mysql·postgresql