【MySQL】基本查询(表的增删查改)
发布人:shili8
发布时间:2025-03-10 18:30
阅读次数:0
**MySQL 基本查询**
在 MySQL 中,基本查询是指用于操作数据库中的数据的最基本的 SQL语句。这些语句包括插入、更新、删除等操作。
### **1. 插入 (INSERT)**插入语句用于向表中添加新记录。
sql-- 创建一个名为 "users" 的表CREATE TABLE users ( id INT AUTO_INCREMENT, name VARCHAR(255), email VARCHAR(255), PRIMARY KEY (id) ); -- 向 "users" 表中插入一条记录INSERT INTO users (name, email) VALUES ('John Doe', 'john@example.com');
在上面的例子中,我们首先创建一个名为 "users" 的表,表中有三个字段:id、name 和 email。然后,我们使用 INSERT语句向表中插入一条记录。
### **2. 更新 (UPDATE)**更新语句用于修改已有的记录。
sql-- 更新 "users" 表中的第一条记录UPDATE users SET name = 'Jane Doe' WHERE id =1;
在上面的例子中,我们使用 UPDATE语句更新 "users" 表中的第一条记录的 name 字段。
### **3. 删除 (DELETE)**删除语句用于从表中删除记录。
sql-- 从 "users" 表中删除第一条记录DELETE FROM users WHERE id =1;
在上面的例子中,我们使用 DELETE语句从 "users" 表中删除第一条记录。
### **4. 查询 (SELECT)**查询语句用于从表中检索数据。
sql-- 从 "users" 表中检索所有记录SELECT * FROM users; -- 从 "users" 表中检索 id 和 name 字段SELECT id, name FROM users;
在上面的例子中,我们使用 SELECT语句从 "users" 表中检索所有记录和 id 和 name 字段。
### **5. 条件查询 (WHERE)**条件查询用于根据指定的条件从表中检索数据。
sql-- 从 "users" 表中检索 email 为 "john@example.com" 的记录SELECT * FROM users WHERE email = 'john@example.com'; -- 从 "users" 表中检索 id 大于1 的记录SELECT * FROM users WHERE id >1;
在上面的例子中,我们使用 WHERE 子句从 "users" 表中检索 email 为 "john@example.com" 的记录和 id 大于1 的记录。
### **6. 排序 (ORDER BY)**排序语句用于根据指定的字段对结果集进行排序。
sql-- 从 "users" 表中检索所有记录,并按 id 逆序排列SELECT * FROM users ORDER BY id DESC; -- 从 "users" 表中检索所有记录,并按 name 正序排列SELECT * FROM users ORDER BY name ASC;
在上面的例子中,我们使用 ORDER BY 子句从 "users" 表中检索所有记录,并按 id 逆序排列和 name 正序排列。
### **7. 分页 (LIMIT)**分页语句用于限制结果集的大小。
sql-- 从 "users" 表中检索前5 条记录SELECT * FROM users LIMIT5; -- 从 "users" 表中检索第6 到第10 条记录SELECT * FROM users LIMIT5 OFFSET5;
在上面的例子中,我们使用 LIMIT 子句从 "users" 表中检索前5 条记录和第6 到第10 条记录。
### **8. 聚合函数 (GROUP BY)**聚合函数语句用于对结果集进行分组和聚合计算。
sql-- 从 "users" 表中检索每个 email 的平均 idSELECT email, AVG(id) AS avg_id FROM users GROUP BY email; -- 从 "users" 表中检索每个 name 的总数SELECT name, COUNT(*) AS count FROM users GROUP BY name;
在上面的例子中,我们使用 GROUP BY 子句从 "users" 表中检索每个 email 的平均 id 和每个 name 的总数。
### **9. 连接 (JOIN)**连接语句用于将两个或多个表连接起来。
sql-- 将 "users" 表和 "orders" 表连接起来SELECT * FROM users JOIN orders ON users.id = orders.user_id; -- 将 "users" 表和 "orders" 表连接起来,并按 id 逆序排列SELECT * FROM users JOIN orders ON users.id = orders.user_id ORDER BY users.id DESC;
在上面的例子中,我们使用 JOIN 子句将 "users" 表和 "orders" 表连接起来。
### **10. 子查询 (SUBQUERY)**子查询语句用于嵌套在另一个 SQL语句中。
sql-- 从 "users" 表中检索 id 为1 的记录,并按 email 正序排列SELECT * FROM users WHERE id IN (SELECT user_id FROM orders WHERE id =1) ORDER BY email ASC; -- 从 "users" 表中检索 id 为1 的记录,并按 name 正序排列SELECT * FROM users WHERE id IN (SELECT user_id FROM orders WHERE id =1 AND total >100) ORDER BY name ASC;
在上面的例子中,我们使用子查询语句从 "users" 表中检索 id 为1 的记录,并按 email 正序排列和 name 正序排列。
以上就是 MySQL 基本查询的内容。这些基本查询是操作数据库中的数据的最基础的 SQL语句,了解它们对于任何一个开发者来说都是必不可少的。