SQL关键词

本文详细介绍了SQL语言的功能,包括数据查询、插入、更新、删除等操作,并阐述了如何利用SQL创建数据库、表及索引等内容。此外,还概述了关系型数据库管理系统(RDBMS)的基本构成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SQL:structure query language

what it could do?

  • SQL 面向数据库执行查询
  • SQL 可从数据库取回数据
  • SQL 可在数据库中插入新的记录
  • SQL 可更新数据库中的数据
  • SQL 可从数据库删除记录
  • SQL 可创建新数据库
  • SQL 可在数据库中创建新表
  • SQL 可在数据库中创建存储过程
  • SQL 可在数据库中创建视图
  • SQL 可以设置表、存储过程和视图的权限

SQL分为DML,DDL,分别是:

  • SELECT - 从数据库表中获取数据
  • UPDATE - 更新数据库表中的数据
  • DELETE - 从数据库表中删除数据
  • INSERT INTO - 向数据库表中插入数据

  • CREATE DATABASE - 创建新数据库
  • ALTER DATABASE - 修改数据库
  • CREATE TABLE - 创建新表
  • ALTER TABLE - 变更(改变)数据库表
  • DROP TABLE - 删除表
  • CREATE INDEX - 创建索引(搜索键)
  • DROP INDEX - 删除索引

RDBMS 指的是关系型数据库管理系统

包括:

数据库

索引

触发器

存储过程

游标

事务

关系

函数依赖

范式


### 3. SQL 常用关键词及其用途 SQL(Structured Query Language)是一种用于管理和操作关系型数据库的标准语言。以下是一些常用的 SQL 关键词及其用途,涵盖数据查询、过滤、排序、聚合、连接、约束等操作。 #### 3.1 数据查询与去重 - `SELECT` 用于从数据库中检索数据。 - `DISTINCT` 用于返回唯一不同的值,常用于过滤重复记录。例如: ```sql SELECT DISTINCT Company FROM Orders; ``` 该语句用于从 `Orders` 表中查询唯一的 `Company` 值[^1]。 #### 3.2 条件过滤 - `WHERE` 用于在查询中添加条件,过滤满足特定标准的记录。例如: ```sql SELECT * FROM Employees WHERE Salary > 50000; ``` - `HAVING` 通常与 `GROUP BY` 一起使用,用于对分组后的结果进行条件过滤。例如: ```sql SELECT Department, COUNT(*) AS Total FROM Employees GROUP BY Department HAVING COUNT(*) > 5; ``` 该语句用于统计部门人数并过滤出人数大于 5 的部门[^2]。 - `IN` 用于指定一个值列表作为条件。例如: ```sql SELECT * FROM Customers WHERE Country IN ('USA', 'Canada', 'UK'); ``` - `BETWEEN` 用于选取介于两个值之间的数据范围。例如: ```sql SELECT * FROM Products WHERE Price BETWEEN 10 AND 100; ``` - `LIKE` 用于模糊匹配字符串,`%` 表示任意多个字符,`_` 表示单个字符。例如: ```sql SELECT * FROM Customers WHERE Name LIKE 'A%'; ``` - `IS NULL` 和 `IS NOT NULL` 用于判断某个字段是否为空值。例如: ```sql SELECT * FROM Orders WHERE ShipDate IS NULL; ``` #### 3.3 排序与限制结果 - `ORDER BY` 用于对查询结果进行排序,可以指定 `ASC`(升序,默认)或 `DESC`(降序)。例如: ```sql SELECT * FROM Employees ORDER BY Salary DESC; ``` - `LIMIT` 用于限制返回的行数。例如: ```sql SELECT * FROM Products ORDER BY Price DESC LIMIT 10; ``` - `TOP`(在 SQL Server 中)或 `ROWNUM`(在 Oracle 中)用于限制查询结果的前 N 条记录。例如(SQL Server): ```sql SELECT TOP 10 * FROM Products; ``` #### 3.4 聚合函数与分组 - 聚合函数包括 `COUNT(*)`、`SUM()`、`AVG()`、`MAX()`、`MIN()` 等,用于对数据进行统计。例如: ```sql SELECT COUNT(*) AS TotalOrders FROM Orders; ``` - `GROUP BY` 用于将数据按一个或多个列分组,通常与聚合函数一起使用。例如: ```sql SELECT Department, AVG(Salary) AS AvgSalary FROM Employees GROUP BY Department; ``` #### 3.5 表连接 - `JOIN` 是连接操作的基础,用于根据某些条件将多个表的数据组合在一起。 - `LEFT JOIN`(左连接)会返回左表中所有记录,即使右表中没有匹配项。 - `RIGHT JOIN`(右连接)会返回右表中所有记录,即使左表中没有匹配项。例如: ```sql SELECT * FROM Student LEFT JOIN School ON Student.SchoolID = School.SchoolID; ``` #### 3.6 条件逻辑与空值处理 - `IFNULL()`(MySQL)或 `COALESCE()`(通用)用于处理空值。例如: ```sql SELECT IFNULL(Price, 0) FROM Products; ``` #### 3.7 约束与唯一性 - `UNIQUE` 用于确保某列中的所有值都是唯一的。 - `PRIMARY KEY` 是主键约束,确保某列(或多个列的组合)具有唯一值且不为空。 - `FOREIGN KEY` 是外键约束,用于维护两个表之间的链接关系。 #### 3.8 其他常用操作符 - `AND` 和 `OR` 用于组合多个条件。 - `AS` 用于为列或表指定别名。例如: ```sql SELECT FirstName AS Name FROM Employees; ``` - `FOUND_ROWS()` 用于获取带有 `SQL_CALC_FOUND_ROWS` 的查询总行数,不考虑 `LIMIT` 的限制。例如: ```sql SELECT SQL_CALC_FOUND_ROWS * FROM Products LIMIT 10; SELECT FOUND_ROWS(); ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值