【CS.DB】数据库-关系型数据库-MySQL-3.4.数据的插入_查询_更新和删除

1000.04.CS.DB-Database-Relational-MySQL-3.4.数据的插入_查询_更新和删除-Created: 2024-08-08.Thursday10:11

在MySQL中,数据操作是日常数据库管理的核心部分。下面我们将详细讲解如何插入、查询、更新和删除数据,并通过经典例子帮助理解这些操作。

示例:

假设我们有一个 employees 表,结构如下:

CREATE TABLE employees (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100),
    position VARCHAR(50),
    salary DECIMAL(10, 2),
    hire_date DATE
);

1 数据插入

数据插入是将新记录添加到表中的过程。最常用的插入方法是 INSERT 语句。

插入一条记录:

INSERT INTO employees (name, position, salary, hire_date) VALUES ('Alice', 'Engineer', 70000.00, '2024-01-15');

插入多条记录:

INSERT INTO employees (name, position, salary, hire_date) VALUES
('Bob', 'Manager', 90000.00, '2023-05-01'),
('Charlie', 'Analyst', 60000.00, '2024-02-20');

使用隐式类型转换:

INSERT INTO employees (name, position, salary, hire_date) VALUES ('David', 'Clerk', 40000, 20240101);
-- 40000 将被转换为 40000.00, 20240101 将被转换为 '2024-01-01'

mysql> select * from employees;
+----+-------+----------+----------+------------+
| id | name  | position | salary   | hire_date  |
+----+-------+----------+----------+------------+
|  1 | David | Clerk    | 40000.00 | 2024-01-01 |
+----+-------+----------+----------+------------+
1 row in set (0.01 sec)

2 数据查询

数据查询是从表中检索记录的过程。最常用的查询方法是 SELECT 语句。

示例:

查询所有记录:

SELECT * FROM employees;

查询特定字段:

SELECT name, position FROM employees;

使用条件查询:

SELECT * FROM employees WHERE position = 'Engineer';

使用排序:

SELECT * FROM employees ORDER BY salary DESC;

使用分页: ^20240808102635

-- 这将返回从第 21 条记录开始的 10 条记录。在这种查询中,`LIMIT` 指定返回的记录数量,`OFFSET` 指定跳过的记录数量。
SELECT * FROM employees LIMIT 10 OFFSET 20;

Ref. [[1000.04.CS.DB-Database-Relational-MySQL-4.6.深分页查询的优化]]
分页可以分为浅分页和深分页。上述提到的查询属于浅分页,适用于页数较少的情况。在记录数量不多的情况下,浅分页性能通常是可以接受的。但是,当页数变多时,特别是当 OFFSET 值变得很大时,浅分页的性能问题就会变得明显,因为数据库在处理深分页查询时,仍然需要扫描和跳过大量记录。

3 数据更新

数据更新是修改表中现有记录的过程。最常用的更新方法是 UPDATE 语句。

示例:

更新单条记录:

UPDATE employees SET salary = 75000.00 WHERE name = 'Alice';

更新多条记录:

UPDATE employees SET salary = salary * 1.10 WHERE position = 'Analyst';

带有条件的更新:

UPDATE employees SET position = 'Senior Engineer' WHERE name = 'Alice' AND salary < 80000;

4 数据删除

数据删除是从表中移除记录的过程。最常用的删除方法是 DELETE 语句。

示例:

删除单条记录:

DELETE FROM employees WHERE name = 'Charlie';

删除多条记录:

DELETE FROM employees WHERE position = 'Clerk';
DELETE FROM em
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值