📜  SQL教程(1)

📅  最后修改于: 2023-12-03 15:20:19.656000             🧑  作者: Mango

SQL教程

简介

SQL是结构化查询语言(Structured Query Language)的缩写,是一种用于管理关系数据库管理系统(RDBMS)的语言。

SQL可以用于查询、插入、更新和删除数据库中的数据,同时也可以用于创建和修改数据库表、视图和存储过程等。

SQL语言与特定的数据库品牌无关,因此它可在多种不同的RDBMS中使用,如MySQL、PostgreSQL和Oracle等。

基本语法

SQL的基本语法包括以下几个部分:

查询数据
SELECT column1, column2, ...
FROM table_name;

例子:

SELECT * FROM employees;
插入数据
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

例子:

INSERT INTO employees (first_name, last_name, age)
VALUES ('John', 'Doe', 30);
更新数据
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

例子:

UPDATE employees
SET age = 31
WHERE employee_id = 1;
删除数据
DELETE FROM table_name
WHERE condition;

例子:

DELETE FROM employees
WHERE employee_id = 1;
数据类型

SQL定义了多种数据类型,用于在数据库中存储不同类型的数据。

数值类型

SQL支持多种数值类型,包括整数、小数、浮点数等。常用的数值类型如下:

| 类型 | 描述 | | ------ | ------ | | INT | 整数 | | BIGINT | 大整数 | | DECIMAL | 定点数 | | FLOAT | 浮点数 | | DOUBLE | 双精度浮点数 |

字符类型

SQL支持多种字符类型,包括字符、字符串、文本等。常用的字符类型如下:

| 类型 | 描述 | | ------ | ------ | | CHAR | 定长字符串 | | VARCHAR | 变长字符串 | | TEXT | 文本 |

时间类型

SQL支持多种时间类型,包括日期、时间、时间戳等。常用的时间类型如下:

| 类型 | 描述 | | ------ | ------ | | DATE | 日期 | | TIME | 时间 | | DATETIME | 日期和时间 | | TIMESTAMP | 时间戳 |

高级查询
多表查询
SELECT column1, column2, ...
FROM table1
JOIN table2
ON table1.column = table2.column;

例子:

SELECT employees.first_name, employees.last_name, departments.department_name
FROM employees
JOIN departments
ON employees.department_id = departments.department_id;
子查询
SELECT column1, column2, ...
FROM table_name
WHERE column_name IN (SELECT column_name FROM table_name WHERE condition);

例子:

SELECT first_name, last_name
FROM employees
WHERE department_id IN (SELECT department_id FROM departments WHERE department_name = 'IT');
聚合函数

SQL支持多种聚合函数,包括COUNT、AVG、SUM、MAX、MIN等。常用的聚合函数如下:

| 函数 | 描述 | | ------ | ------ | | COUNT | 统计数量 | | AVG | 求平均值 | | SUM | 求和 | | MAX | 求最大值 | | MIN | 求最小值 |

例子:

SELECT COUNT(*) AS total_employees FROM employees;
结论

这篇SQL教程简单介绍了SQL的基本语法、数据类型和高级查询等内容。希望对想要学习SQL的程序员有所帮助。