当前位置:实例文章 » 其他实例» [文章]SQL 简介

SQL 简介

发布人:shili8 发布时间:2025-02-20 20:55 阅读次数:0

**SQL 简介**

SQL(Structured Query Language)是一种专门用于管理关系数据库的语言。它允许用户创建、修改和查询数据库中的数据。SQL 是一种标准化的语言,广泛应用于各种数据库管理系统中。

**SQL 的历史**

SQL 的发展始于1970 年代,当时 Edgar F. Codd 在 IBM 研究院提出了关系模型的概念。这一模型将数据存储在表格中,每个表格代表一个实体或概念,通过关联这些表格可以实现复杂的查询和操作。

**SQL 的特点**

1. **标准化**: SQL 是一种标准化的语言,广泛应用于各种数据库管理系统中。
2. **结构化**: SQL 使用结构化的语法来定义数据的组织方式。
3. **查询**: SQL 允许用户通过使用 SELECT语句来检索特定的数据。
4. **修改**: SQL 允许用户通过使用 INSERT、UPDATE 和 DELETE语句来修改数据库中的数据。

**SQL 的基本概念**

1. **表格**: 表格是关系数据库中最基本的结构单位,每个表格代表一个实体或概念。
2. **行**: 行是表格中的一条记录,包含多个列。
3. **列**: 列是表格中的一列数据,通常代表一个特定的属性或字段。
4. **键**: 键是用于唯一标识一条记录的值。

**SQL 的基本语法**

1. **SELECT语句**: SELECT语句用于检索特定的数据。

sqlSELECT column_name FROM table_name;

2. **FROM 子句**: FROM 子句指定要从哪个表格中检索数据。
sqlSELECT * FROM customers;

3. **WHERE 子句**: WHERE 子句用于过滤结果集,仅返回满足特定条件的记录。
sqlSELECT * FROM customers WHERE country='USA';

4. **INSERT语句**: INSERT语句用于向表格中插入新数据。
sqlINSERT INTO customers (name, email) VALUES ('John Doe', 'john@example.com');

5. **UPDATE语句**: UPDATE语句用于修改已有的记录。
sqlUPDATE customers SET name='Jane Doe' WHERE id=1;

6. **DELETE语句**: DELETE语句用于删除一条或多条记录。
sqlDELETE FROM customers WHERE id=1;


**SQL 的常用函数**

1. **NOW() 函数**: NOW() 函数返回当前日期和时间。
sqlSELECT NOW();

2. **RAND() 函数**: RAND() 函数返回一个随机数。
sqlSELECT RAND();

3. **UPPER() 函数**: UPPER() 函数将字符串转换为大写。
sqlSELECT UPPER('hello');

4. **LOWER() 函数**: LOWER() 函数将字符串转换为小写。
sqlSELECT LOWER('HELLO');


**SQL 的常用聚合函数**

1. **SUM() 函数**: SUM() 函数返回一列数据的总和。
sqlSELECT SUM(price) FROM orders;

2. **AVG() 函数**: AVG() 函数返回一列数据的平均值。
sqlSELECT AVG(price) FROM orders;

3. **MAX() 函数**: MAX() 函数返回一列数据中的最大值。
sqlSELECT MAX(price) FROM orders;

4. **MIN() 函数**: MIN() 函数返回一列数据中的最小值。
sqlSELECT MIN(price) FROM orders;


**SQL 的常用连接**

1. **INNER JOIN**: INNER JOIN用于将两个表格的匹配记录合并起来。
sqlSELECT * FROM customers INNER JOIN orders ON customers.id=orders.customer_id;

2. **LEFT JOIN**: LEFT JOIN用于将左边表格中的所有记录与右边表格中匹配的记录合并起来。
sqlSELECT * FROM customers LEFT JOIN orders ON customers.id=orders.customer_id;

3. **RIGHT JOIN**: RIGHT JOIN用于将右边表格中的所有记录与左边表格中匹配的记录合并起来。
sqlSELECT * FROM customers RIGHT JOIN orders ON customers.id=orders.customer_id;


**SQL 的常用子查询**

1. **IN 子查询**: IN 子查询用于检索满足特定条件的记录。
sqlSELECT * FROM customers WHERE id IN (SELECT customer_id FROM orders);

2. **EXISTS 子查询**: EXISTS 子查询用于检索满足特定条件的记录。
sqlSELECT * FROM customers WHERE EXISTS (SELECT1 FROM orders WHERE orders.customer_id=customers.id);


**SQL 的常用视图**

1. **CREATE VIEW语句**: CREATE VIEW语句用于创建一个视图。
sqlCREATE VIEW customer_orders AS SELECT * FROM customers INNER JOIN orders ON customers.id=orders.customer_id;

2. **DROP VIEW语句**: DROP VIEW语句用于删除一个视图。
sqlDROP VIEW customer_orders;


**SQL 的常用索引**

1. **CREATE INDEX语句**: CREATE INDEX语句用于创建一个索引。
sqlCREATE INDEX idx_name ON customers (name);

2. **DROP INDEX语句**: DROP INDEX语句用于删除一个索引。
sqlDROP INDEX idx_name;


**SQL 的常用触发器**

1. **CREATE TRIGGER语句**: CREATE TRIGGER语句用于创建一个触发器。
sqlCREATE TRIGGER trg_insert BEFORE INSERT ON customers FOR EACH ROW SET NEW.name=UPPER(NEW.name);

2. **DROP TRIGGER语句**: DROP TRIGGER语句用于删除一个触发器。
sqlDROP TRIGGER trg_insert;


**SQL 的常用存储过程**

1. **CREATE PROCEDURE语句**: CREATE PROCEDURE语句用于创建一个存储过程。
sqlCREATE PROCEDURE sp_get_customers AS SELECT * FROM customers;

2. **EXECUTE语句**: EXECUTE语句用于执行一个存储过程。
sqlEXECUTE sp_get_customers;


**SQL 的常用函数**

1. **CREATE FUNCTION语句**: CREATE FUNCTION语句用于创建一个函数。
sqlCREATE FUNCTION fn_get_max AS SELECT MAX(price) FROM orders;

2. **CALL语句**: CALL语句用于执行一个函数。
sqlCALL fn_get_max();


**SQL 的常用聚合函数**

1. **SUM() 函数**: SUM() 函数返回一列数据的总和。
sqlSELECT SUM(price) FROM orders;

2. **AVG() 函数**: AVG() 函数返回一列数据的平均值。
sqlSELECT AVG(price) FROM orders;

3. **MAX() 函数**: MAX() 函数返回一列数据中的最大值。
sqlSELECT MAX(price) FROM orders;

4. **MIN() 函数**: MIN() 函数返回一列数据中的最小值。
sqlSELECT MIN(price) FROM orders;


**SQL 的常用连接**

1. **INNER JOIN**: INNER JOIN用于将两个表格的匹配记录合并起来。
sqlSELECT * FROM customers INNER JOIN orders ON customers.id=orders.customer_id;

2. **LEFT JOIN**: LEFT JOIN用于将左边表格中的所有记录与右边表格中匹配的记录合并起来。
sqlSELECT * FROM customers LEFT JOIN orders ON customers.id=orders.customer_id;

3. **RIGHT JOIN**: RIGHT JOIN用于将右边表格中的所有记录与左边表格中匹配的记录合并起来。
sqlSELECT * FROM customers RIGHT JOIN orders ON customers.id=orders.customer_id;


**SQL 的常用子查询**

1. **IN 子查询**: IN 子查询用于检索满足特定条件的记录。
sqlSELECT * FROM customers WHERE id IN (SELECT customer_id FROM orders);

2. **EXISTS 子查询**: EXISTS 子查询用于检索满足特定条件的记录。
sqlSELECT * FROM customers WHERE EXISTS (SELECT1 FROM orders WHERE orders.customer_id=customers.id);


**SQL 的常用视图**

1. **CREATE VIEW语句**: CREATE VIEW语句用于创建一个视图。
sqlCREATE VIEW customer_orders AS SELECT * FROM customers INNER JOIN orders ON customers.id=orders.customer_id;

2. **DROP VIEW语句**: DROP VIEW语句用于删除一个视图。
sqlDROP VIEW customer_orders;


**SQL 的常用索引**

1. **CREATE INDEX语句**: CREATE INDEX语句用于创建一个索引。
sqlCREATE INDEX idx_name ON customers (name);

2. **DROP INDEX语句**: DROP INDEX语句用于删除一个索引。
sqlDROP INDEX idx_name;


**SQL 的常用触发器**

1

相关标签:oracle数据库sql
其他信息

其他资源

Top