[技术笔记]SQL关系型数据库标准语言
本文最后更新于104 天前,如有错误请发送邮件到guzhougongzuoshi@aliyun.com

1. SQL简介

SQL是一种用于与关系型数据库通信的标准语言。通过SQL,我们可以执行查询、更新、删除、插入等数据操作,也可以创建和管理数据库及其表结构。

小注:本文是由我原写于Notion的Markdown笔记转化到HTML上的,内容格式可能故障请理解


2. 数据库操作

2.1 创建数据库


CREATE DATABASE database_name;

示例:


CREATE DATABASE my_database;

2.2 删除数据库


DROP DATABASE database_name;

示例:


DROP DATABASE my_database;

2.3 使用数据库


USE database_name;

示例:


USE my_database;

3. 表操作

3.1 创建表


CREATE TABLE table_name (
    column1 datatype,
    column2 datatype,
    ...
);

示例:


CREATE TABLE employees (
    id INT PRIMARY KEY,
    name VARCHAR(100),
    age INT,
    department VARCHAR(50)
);

3.2 修改表结构

添加列:


ALTER TABLE table_name ADD column_name datatype;

示例:


ALTER TABLE employees ADD salary DECIMAL(10, 2);

删除列:


ALTER TABLE table_name DROP COLUMN column_name;

示例:


ALTER TABLE employees DROP COLUMN salary;

3.3 删除表


DROP TABLE table_name;

示例:


DROP TABLE employees;

4. 数据操作

4.1 插入数据


INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);

示例:


INSERT INTO employees (id, name, age, department) VALUES (1, 'Alice', 30, 'HR');

4.2 更新数据


UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;

示例:


UPDATE employees SET age = 31 WHERE id = 1;

4.3 删除数据


DELETE FROM table_name WHERE condition;

示例:


DELETE FROM employees WHERE id = 1;

5. 查询操作

5.1 基本查询


SELECT column1, column2, ... FROM table_name;

示例:


SELECT name, age FROM employees;

5.2 带条件查询


SELECT column1, column2, ... FROM table_name WHERE condition;

示例:


SELECT name, department FROM employees WHERE age > 25;

5.3 排序查询


SELECT column1, column2, ... FROM table_name ORDER BY column_name [ASC|DESC];

示例:


SELECT name, age FROM employees ORDER BY age DESC;

5.4 聚合函数查询

  • COUNT:统计行数

SELECT COUNT(column_name) FROM table_name;

示例:


SELECT COUNT(id) FROM employees;
  • SUM:计算总和

SELECT SUM(column_name) FROM table_name;

示例:


SELECT SUM(salary) FROM employees;
  • AVG:计算平均值

SELECT AVG(column_name) FROM table_name;

示例:


SELECT AVG(age) FROM employees;
  • MAXMIN:计算最大、最小值

SELECT MAX(column_name), MIN(column_name) FROM table_name;

示例:


SELECT MAX(age), MIN(age) FROM employees;

5.5 分组查询


SELECT column1, aggregate_function(column2) FROM table_name GROUP BY column1;

示例:


SELECT department, COUNT(*) FROM employees GROUP BY department;

5.6 联表查询(JOIN)

内连接(INNER JOIN):


SELECT column1, column2, ... FROM table1 INNER JOIN table2 ON table1.column = table2.column;

示例:


SELECT employees.name, departments.department_name
FROM employees
INNER JOIN departments ON employees.department = departments.id;

左连接(LEFT JOIN):


SELECT column1, column2, ... FROM table1 LEFT JOIN table2 ON table1.column = table2.column;

示例:


SELECT employees.name, departments.department_name
FROM employees
LEFT JOIN departments ON employees.department = departments.id;

6. 索引与视图操作

6.1 创建索引


CREATE INDEX index_name ON table_name (column_name);

示例:


CREATE INDEX idx_age ON employees (age);

6.2 删除索引


DROP INDEX index_name ON table_name;

示例:


DROP INDEX idx_age ON employees;

6.3 创建视图


CREATE VIEW view_name AS
SELECT column1, column2, ... FROM table_name WHERE condition;

示例:


CREATE VIEW employee_view AS
SELECT name, department FROM employees WHERE age > 25;

6.4 删除视图


DROP VIEW view_name;

示例:


DROP VIEW employee_view;

7. 权限管理

7.1 授予权限


GRANT privilege ON object TO user;

示例:


GRANT SELECT ON employees TO 'john';

7.2 撤销权限


REVOKE privilege ON object FROM user;

示例:


REVOKE SELECT ON employees FROM 'john';

8. 事务控制

事务用于管理多个SQL操作的执行,以确保数据库的完整性。

8.1 开始事务


START TRANSACTION;

8.2 提交事务


COMMIT;

8.3 回滚事务


ROLLBACK;

示例:


START TRANSACTION;

UPDATE employees SET age = 32 WHERE id = 1;
DELETE FROM employees WHERE id = 2;

COMMIT;

感谢您的阅读
暂无评论

发送评论 编辑评论

|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇