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

相关推荐
veminhe2 小时前
Node.js 数据库 CRUD 项目示例
数据库·node.js
HX科技2 小时前
树莓派_利用Ubuntu搭建gitlab
数据库·ubuntu·gitlab
pursue.dreams2 小时前
Windows 下 MongoDB ZIP 版本安装指南
数据库·windows·mongodb
qiandeqiande2 小时前
数据集成工具推荐,支持数据库、API、消息文件等集成技术,并具备低代码与可视化配置特性
数据库·低代码·系统集成
betazhou3 小时前
基于Windows通过nginx代理访问Oracle数据库
数据库·nginx·oracle·代理
风中飘爻3 小时前
MySQL入门:数据表的创建
数据库·mysql·oracle
今天多喝热水3 小时前
Redis适用场景
数据库·redis
Gauss松鼠会3 小时前
GaussDB Go驱动开发实战:从环境搭建到连接池优化
数据库
E___V___E3 小时前
黑马点评redis改 part 2
数据库·redis·缓存
盖世英雄酱581364 小时前
SQL 导致cup过高了,这次该我提桶了
数据库