欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 维修 > SQL命令详解(附实用示例)

SQL命令详解(附实用示例)

2025/4/22 0:26:30 来源:https://blog.csdn.net/weixin_45474825/article/details/147294226  浏览:    关键词:SQL命令详解(附实用示例)

1. 什么是SQL?

SQL(Structured Query Language,结构化查询语言)是用于管理和操作关系型数据库的标准语言。无论是网站开发、数据分析还是企业系统,SQL都是必备技能。

SQL的核心功能:

  • 查询数据(如搜索用户信息)
  • 增删改数据(如添加新商品、修改订单状态)
  • 管理数据库结构(如创建表、修改字段)
  • 控制访问权限(如限制用户只能查询不能删除)

2. SQL命令分类

SQL命令主要分为5类:

类别命令用途
DQL(数据查询)SELECT查询数据
DML(数据操作)INSERT, UPDATE, DELETE增删改数据
DDL(数据定义)CREATE, ALTER, DROP管理表结构
DCL(数据控制)GRANT, REVOKE权限管理
TCL(事务控制)COMMIT, ROLLBACK事务管理

接下来,我们通过实际案例详细介绍每类命令的用法。


3. DQL(数据查询语言)

核心命令:SELECT

(1)基本查询

-- 查询users表的所有数据
SELECT * FROM users;-- 只查询name和email列
SELECT name, email FROM users;

(2)条件查询(WHERE)

-- 查询年龄大于18岁的用户
SELECT * FROM users WHERE age > 18;-- 查询名字是"张三"的用户
SELECT * FROM users WHERE name = '张三';-- 查询2023年注册的用户(日期范围)
SELECT * FROM users 
WHERE register_time BETWEEN '2023-01-01' AND '2023-12-31';

(3)排序(ORDER BY)

-- 按年龄升序(默认ASC)
SELECT * FROM users ORDER BY age;-- 按注册时间降序(DESC)
SELECT * FROM users ORDER BY register_time DESC;

(4)分组统计(GROUP BY)

-- 统计每个城市的用户数量
SELECT city, COUNT(*) AS user_count 
FROM users 
GROUP BY city;-- 查询订单总金额大于1000的用户
SELECT user_id, SUM(amount) AS total_amount 
FROM orders 
GROUP BY user_id 
HAVING SUM(amount) > 1000;

4. DML(数据操作语言)

(1)插入数据(INSERT)

-- 插入单条数据
INSERT INTO users (name, email, age) 
VALUES ('李四', 'lisi@example.com', 25);-- 插入多条数据
INSERT INTO users (name, email, age) 
VALUES ('王五', 'wangwu@example.com', 30),('赵六', 'zhaoliu@example.com', 22);

(2)更新数据(UPDATE)

-- 将所有用户的年龄+1
UPDATE users SET age = age + 1;-- 只更新特定用户(ID=1)
UPDATE users SET email = 'new_email@example.com' 
WHERE id = 1;

(3)删除数据(DELETE)

-- 删除ID=5的用户
DELETE FROM users WHERE id = 5;-- 删除所有年龄小于18的用户
DELETE FROM users WHERE age < 18;

5. DDL(数据定义语言)

(1)创建表(CREATE TABLE)

CREATE TABLE products (id INT PRIMARY KEY AUTO_INCREMENT,  -- 主键,自增name VARCHAR(100) NOT NULL,         -- 商品名,非空price DECIMAL(10, 2),               -- 价格,小数点2位stock INT DEFAULT 0                 -- 库存,默认0
);

(2)修改表(ALTER TABLE)

-- 添加新列
ALTER TABLE products ADD COLUMN description TEXT;-- 修改列类型
ALTER TABLE products MODIFY COLUMN price DECIMAL(12, 2);-- 删除列
ALTER TABLE products DROP COLUMN stock;

(3)删除表(DROP TABLE)

-- 删除表(慎用!数据会全部丢失)
DROP TABLE products;

6. DCL(数据控制语言)

(1)授予权限(GRANT)

-- 让用户test可以查询数据库
GRANT SELECT ON my_database.* TO 'test'@'localhost';-- 让用户admin拥有所有权限
GRANT ALL PRIVILEGES ON my_database.* TO 'admin'@'localhost';

(2)撤销权限(REVOKE)

-- 撤销test用户的删除权限
REVOKE DELETE ON my_database.* FROM 'test'@'localhost';

7. TCL(事务控制语言)

事务(Transaction)用于保证多个SQL操作的原子性,要么全部成功,要么全部失败。

(1)基本事务操作

-- 开始事务
BEGIN;  -- 或 START TRANSACTION;-- 执行SQL(转账操作)
UPDATE accounts SET balance = balance - 100 WHERE user_id = 1;
UPDATE accounts SET balance = balance + 100 WHERE user_id = 2;-- 提交事务(如果成功)
COMMIT;-- 回滚事务(如果失败)
ROLLBACK;

(2)设置保存点(SAVEPOINT)

BEGIN;
-- 操作1
SAVEPOINT step1;
-- 操作2
SAVEPOINT step2;-- 回滚到step1
ROLLBACK TO step1;

8. 总结

命令类型常用命令用途
DQLSELECT查询数据
DMLINSERT, UPDATE, DELETE增删改数据
DDLCREATE, ALTER, DROP管理表结构
DCLGRANT, REVOKE权限管理
TCLCOMMIT, ROLLBACK事务控制

掌握这些SQL命令,你就能轻松操作数据库!建议多练习,结合实际项目加深理解。

下一篇预告: 《SQL高级查询:JOIN、子查询、索引优化》

欢迎点赞、收藏、关注! 🚀

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词