网站首页 > 技术文章 正文
学习 SQL(Structured Query Language)是掌握数据库操作的关键步骤。SQL 是一种用于管理和处理关系型数据库的标准语言,广泛应用于数据检索、插入、更新和删除等操作。以下是一些 SQL 基础语法的学习内容,并附有示例。
1. 基本结构
SQL 语句通常以关键字开头,如 SELECT, INSERT, UPDATE, DELETE 等。每个语句以分号 ; 结束。
sql
深色版本
1-- 查询所有用户
2SELECT * FROM users;
2. 数据库操作
创建数据库
sql
深色版本
1CREATE DATABASE mydatabase;
选择数据库
sql
深色版本
1USE mydatabase;
删除数据库
sql
深色版本
1DROP DATABASE mydatabase;
3. 表操作
创建表
sql
深色版本
1CREATE TABLE users (
2 id INT AUTO_INCREMENT PRIMARY KEY,
3 username VARCHAR(50) NOT NULL,
4 email VARCHAR(100) UNIQUE,
5 created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
6);
查看表结构
sql
深色版本
1DESCRIBE users;
修改表
- 添加列
sql
深色版本
1ALTER TABLE users ADD COLUMN age INT;
- 删除列
sql
深色版本
1ALTER TABLE users DROP COLUMN age;
- 修改列
sql
深色版本
1ALTER TABLE users MODIFY COLUMN email VARCHAR(150);
删除表
sql
深色版本
1DROP TABLE users;
4. 数据操作
插入数据
sql
深色版本
1INSERT INTO users (username, email) VALUES ('john_doe', 'john@example.com');
查询数据
- 基本查询
sql
深色版本
1SELECT * FROM users;
- 条件查询
sql
深色版本
1SELECT * FROM users WHERE username = 'john_doe';
- 排序
sql
深色版本
1SELECT * FROM users ORDER BY created_at DESC;
- 分页
sql
深色版本
1SELECT * FROM users LIMIT 10 OFFSET 0; -- 获取前10条记录
- 聚合函数
sql
深色版本
1SELECT COUNT(*) AS user_count FROM users;
- 分组
sql
深色版本
1SELECT age, COUNT(*) AS user_count FROM users GROUP BY age;
- 连接
sql
深色版本
1SELECT users.username, orders.order_id
2FROM users
3JOIN orders ON users.id = orders.user_id;
更新数据
sql
深色版本
1UPDATE users SET email = 'john_new@example.com' WHERE username = 'john_doe';
删除数据
sql
深色版本
1DELETE FROM users WHERE username = 'john_doe';
5. 索引
创建索引
sql
深色版本
1CREATE INDEX idx_email ON users(email);
删除索引
sql
深色版本
1DROP INDEX idx_email ON users;
6. 事务
开始事务
sql
深色版本
1START TRANSACTION;
提交事务
sql
深色版本
1COMMIT;
回滚事务
sql
深色版本
1ROLLBACK;
7. 视图
创建视图
sql
深色版本
1CREATE VIEW active_users AS
2SELECT * FROM users WHERE last_login > NOW() - INTERVAL 30 DAY;
查询视图
sql
深色版本
1SELECT * FROM active_users;
删除视图
sql
深色版本
1DROP VIEW active_users;
8. 存储过程
创建存储过程
sql
深色版本
1DELIMITER //
2
3CREATE PROCEDURE GetUsersByAge(IN min_age INT, IN max_age INT)
4BEGIN
5 SELECT * FROM users WHERE age BETWEEN min_age AND max_age;
6END //
7
8DELIMITER ;
调用存储过程
sql
深色版本
1CALL GetUsersByAge(18, 30);
9. 函数
创建函数
sql
深色版本
1DELIMITER //
2
3CREATE FUNCTION GetUserNameById(user_id INT) RETURNS VARCHAR(50)
4BEGIN
5 DECLARE username VARCHAR(50);
6 SELECT username INTO username FROM users WHERE id = user_id;
7 RETURN username;
8END //
9
10DELIMITER ;
调用函数
sql
深色版本
1SELECT GetUserNameById(1);
10. 用户权限管理
创建用户
sql
深色版本
1CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
授予权限
sql
深色版本
1GRANT ALL PRIVILEGES ON mydatabase.* TO 'newuser'@'localhost';
撤销权限
sql
深色版本
1REVOKE ALL PRIVILEGES ON mydatabase.* FROM 'newuser'@'localhost';
删除用户
sql
深色版本
1DROP USER 'newuser'@'localhost';
猜你喜欢
- 2025-07-27 Mybatis Plus框架学习指南-第六节内容(常用的类 1)
- 2025-07-27 面试题:RocketMQ如何保证消息不重复消费
- 2025-07-27 如何安全配置数据库(MySQL/PostgreSQL/MongoDB)
- 2025-07-27 SQL-执行过程详解(sql语句执行)
- 2025-07-27 SQL Server如何使用维护计划?(sql2000维护计划怎么执行)
- 2025-07-27 云服务器:SQL数据库超时的原因与解决方法
- 2025-07-27 数据库 SQL 约束之 DEFAULT(sql的约束是什么)
- 2025-07-27 windows下,mysql自动备份脚本(mysql数据备份脚本)
- 2025-07-27 SQL Server中从SELECT进行UPDATE的方法
- 2025-07-27 谈谈 SQL 注入及防范(如何处理sql注入)
- 1517℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 596℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 521℃MySQL service启动脚本浅析(r12笔记第59天)
- 489℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 489℃启用MySQL查询缓存(mysql8.0查询缓存)
- 477℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 456℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 454℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- windowsscripthost (69)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- c语言min函数头文件 (68)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)