SQL语句

SQL(Structured Query Language,结构化查询语言)是用于管理和操作关系数据库系统的标准编程语言。它允许用户执行数据的定义、查询、更新和管理等操作。以下是一些常见的SQL语句及其简要说明:

数据定义语言(DDL)

DDL语句用于定义和管理数据库中的数据结构或模式。

• CREATE:创建数据库对象(如表、索引、视图等)。

【sql】

复制代码
 CREATE TABLE employees (
      id INT PRIMARY KEY,
      name VARCHAR(100),
      position VARCHAR(50),
      salary DECIMAL(10, 2)
  );

• ALTER:修改现有数据库对象的结构。

【sql】

复制代码
 ALTER TABLE employees ADD COLUMN department VARCHAR(50);

• DROP:删除数据库对象。

【sql】

复制代码
 DROP TABLE employees;

• TRUNCATE:清空表中的所有数据,但保留表结构。

【sql】

复制代码
 TRUNCATE TABLE employees;

数据操作语言(DML)

DML语句用于查询、插入、更新和删除数据库中的数据。

• SELECT:从数据库中检索数据。

【sql】

复制代码
 SELECT name, position FROM employees WHERE salary > 50000;

• INSERT:向数据库中插入新数据。

【sql】

复制代码
 INSERT INTO employees (id, name, position, salary) VALUES (1, 'John Doe', 'Manager', 60000);

• UPDATE:修改数据库中的现有数据。

【sql】

复制代码
 UPDATE employees SET salary = 65000 WHERE id = 1;

• DELETE:从数据库中删除数据。

【sql】

复制代码
 DELETE FROM employees WHERE id = 1;

数据查询语言(DQL,实际上是DML的一部分)

虽然DQL不是严格意义上的SQL分类,但通常将SELECT语句视为DQL,因为它专门用于数据查询。

数据控制语言(DCL)

DCL语句用于设置或更改数据库用户权限和安全级别。

• GRANT:授予用户访问权限。

【sql】

复制代码
 GRANT SELECT, INSERT ON employees TO some_user;

• REVOKE:收回用户访问权限。

【sql】

复制代码
 REVOKE INSERT ON employees FROM some_user;

事务控制语言(TCL)

TCL语句用于管理数据库事务,确保数据的一致性和完整性。

• START TRANSACTION或BEGIN:开始一个新的事务。

【sql】

复制代码
 BEGIN;

• COMMIT:提交事务,使所有更改永久生效。

【sql】

复制代码
 COMMIT;

• ROLLBACK:回滚事务,撤销自上次提交以来的所有更改。

【sql】

复制代码
 ROLLBACK;

• SAVEPOINT:设置事务中的保存点,以便可以回滚到该点。

【sql】

复制代码
 SAVEPOINT savepoint_name;

• SET TRANSACTION:设置事务的属性,如隔离级别。

【sql】

复制代码
 SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;

这些SQL语句是关系数据库管理系统(RDBMS)的基础,不同的RDBMS(如MySQL、PostgreSQL、Oracle、SQL Server等)可能在SQL标准的实现上有所不同,但大多数都支持上述基本的SQL语句集。

相关推荐
勤奋的树懒21 分钟前
从手写 SQL 到 Windows 工具:致远 OA 文件清理实践
数据库·sql·windows server·致远oa
笃行35028 分钟前
OceanBaseVS金仓:一条 SQL 的两条路——KingbaseES 的性能竞争力从哪来
数据库
其实防守也摸鱼41 分钟前
每天一个知识点——RCE漏洞
运维·服务器·数据库·windows·安全·github·漏洞
TDengine (老段)43 分钟前
TDengine 常见问题 TOP2
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
笃行3501 小时前
数据迁移工具 KDMS 帮我把一本糊涂账算清了
数据库
笃行3502 小时前
SQLServer数据库迁移实录:十年老系统搬上 KingbaseES,T-SQL 基本没重写
数据库
落魄大学生之流水线上谋生计3 小时前
Java并发核心机制详解:线程池、CAS、AQS、锁升级
java·开发语言·数据库
Wang's Blog3 小时前
Java框架快速入门: Spring Security+OAuth2之邮件验证码发送(SMTP与API方式)
java·数据库·spring
砚底藏山河4 小时前
容错重试与指数退避:网络抖动手抖不再丢数据(魔码量化实战 #04)
java·数据库·python·金融
蓝速科技5 小时前
会议室门牌触控预约选型与落地实战指南丨蓝速科技
大数据·运维·数据库·人工智能·科技