2021-08-23 19:52:22
MySQL基础数据操作(CRUD)入门教程MySQL的CRUD(Create、Read、Update、Delete)是数据库操作的核心,涵盖数据的插入、查询、更新和删除。以下是详细操作指南:

使用INSERT INTO语句向表中添加新记录,支持单条或多条插入,需确保字段与值类型匹配。
基本语法:
INSERT INTO 表名 (列1, 列2, ...) VALUES (值1, 值2, ...);示例:假设表users包含id(自增主键)、name、email字段,插入单条记录:
INSERT INTO users (name, email) VALUES ('张三', 'zhangsan@example.com');若id非自增,需显式提供值:
INSERT INTO users (id, name, email) VALUES (1, '张三', 'zhangsan@example.com');多条插入:
INSERT INTO users (name, email) VALUES ('李四', 'lisi@example.com'), ('王五', 'wangwu@example.com');
使用SELECT语句检索数据,支持条件筛选、排序和分页。
查询所有列:
SELECT * FROM users;(不推荐,可能返回冗余数据,影响性能)
指定列查询:
SELECT name, email FROM users;条件查询(WHERE):
SELECT name, email FROM users WHERE id = 1;支持运算符:=、>、<、>=、<=、!=、LIKE、IN、BETWEEN等。
查询名字包含“张”的用户:SELECT name, email FROM users WHERE name LIKE '%张%';
查询id在1到3之间的用户:SELECT name, email FROM users WHERE id BETWEEN 1 AND 3;
排序(ORDER BY):
SELECT name, email FROM users ORDER BY id DESC;DESC为降序,默认升序(ASC)
分页(LIMIT + OFFSET):
SELECT name, email FROM users LIMIT 10; -- 前10条SELECT name, email FROM users LIMIT 10 OFFSET 20; -- 第21-30条
使用UPDATE语句修改已有记录,必须配合WHERE条件,避免误改全表。
基本语法:
UPDATE 表名 SET 列1 = 值1, 列2 = 值2, ... WHERE 条件;示例:将id=1的用户的email修改为new_email@example.com:
UPDATE users SET email = 'new_email@example.com' WHERE id = 1;同时更新多个列:
UPDATE users SET email = 'new_email@example.com', name = '新名字' WHERE id = 1;使用DELETE语句移除记录,必须配合WHERE条件,否则会清空全表。若需清空表,推荐TRUNCATE TABLE以提升效率。
基本语法:
DELETE FROM 表名 WHERE 条件;示例:删除id=1的用户:
DELETE FROM users WHERE id = 1;清空表:
TRUNCATE TABLE users; -- 更快,但会重置自增主键防止SQL注入:使用参数化查询(如PHP的PDO预处理语句):
$stmt = $pdo->prepare("SELECT * FROM users WHERE name = ? AND password = ?");$stmt->execute([$username, $password]);事务(Transaction):保证一组操作的原子性(全部成功或全部失败),通过START TRANSACTION、COMMIT和ROLLBACK实现。
START TRANSACTION;UPDATE accounts SET balance = balance - 100 WHERE id = 'A';UPDATE accounts SET balance = balance + 100 WHERE id = 'B';COMMIT; -- 或 ROLLBACK 回滚查询性能优化:
索引:为常用查询列创建索引,但避免滥用。
避免SELECT *:仅查询需要的列。
使用EXPLAIN分析:识别性能瓶颈。
优化表结构:减少冗余数据,选择合适的数据类型。
硬件与缓存:升级硬件(CPU、内存、磁盘),使用缓存系统(如Redis)。
通过掌握CRUD操作及安全、性能优化技巧,可高效管理MySQL数据库。