网站首页 > 文章精选 正文
学习 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-05-30 数据库 SQL 高级用法(二)
- 2025-05-30 基于RocksDB编写一个简单的SQL数据库|得物技术
- 2025-05-30 数据库 SQL 约束之 CHECK
- 2025-05-30 5 款超好用的数据库 GUI 带你玩转 MongoDB、Redis、SQL 数据库
- 2025-05-30 数据库系统工程师:笔记分享SQL语言8.3数据库定义
- 2025-05-30 如何学习 SQL 语言?
- 2025-05-30 一行SQL没改,查询速度飙升10倍?揭秘数据库“索引”的加速魔法
- 2025-05-30 SQL Server如何建立数据库
- 2025-05-30 公司有一台很重要SQL数据库,如何实现数据库实时同步?
- 2025-05-30 如何在EXCEL中很简便地使用SQL语言
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)
- mysql数据库面试题 (57)