网站首页 > 精选文章 正文
学习 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-23 MySQL之数据库的设计(mysql数据库设计与应用)
- 2025-07-23 MySQL--索引(mysql索引有哪几种)
- 2025-07-23 系统整容纪:用知识来"武装"自己~认识MySQL的锁与事务
- 2025-07-23 MySQL innodb的B+树到底长什么样,为什么MySQL要这样设计?
- 2025-07-23 软网推荐:超强密码的产生与记忆(网络密码解锁软件)
- 2025-07-23 Go语言数据库编程:GORM 的基本使用
- 2025-07-23 数据库——主键和唯一键的区别(mysql简述主键与唯一约束的区别)
- 2025-07-23 系统性能分析从入门到进阶(系统性能分析怎么写)
- 2025-07-23 从零开始一个完整的全栈项目(2) - 创建数据库表
- 2025-07-23 MySQL数据库之数据库约束,一文带你了解
- 最近发表
- 标签列表
-
- 向日葵无法连接服务器 (32)
- git.exe (33)
- vscode更新 (34)
- dev c (33)
- git ignore命令 (32)
- gitlab提交代码步骤 (37)
- java update (36)
- vue debug (34)
- vue blur (32)
- vscode导入vue项目 (33)
- vue chart (32)
- vue cms (32)
- 大雅数据库 (34)
- 技术迭代 (37)
- 同一局域网 (33)
- github拒绝连接 (33)
- vscode php插件 (32)
- vue注释快捷键 (32)
- linux ssr (33)
- 微端服务器 (35)
- 导航猫 (32)
- 获取当前时间年月日 (33)
- stp软件 (33)
- http下载文件 (33)
- linux bt下载 (33)