SQL语句大全大全(经典珍藏版)
SQL语句大全大全(经典珍藏版) --数据操作 SELECT --从数据库表中检索数据行和列 INSERT --向数据库表添加新数据行 DELETE --从数据库表中删除数据行 UPDATE --更新数据库表中的数据 -数据定义 CREATE TABLE --创建一个数据库表 DROP TABLE --从数据库中删除表 ALTER TABLE --修改数据库表结构 CREATE VIEW --创建一个视图 DROP VIEW --从数据库中删除视图 CREATE INDEX --为数据库表创建一个索引 DROP INDEX --从数据库中删除索引 CREATE PROCEDURE --创建一个存储过程 DROP PROCEDURE --从数据库中删除存储过程 CREATE TRIGGER --创建一个触发器 DROP TRIGGER --从数据库中删除触发器 CREATE SCHEMA --向数据库添加一个新模式 DROP SCHEMA --从数据库中删除一个模式 CREATE DOMAIN --创建一个数据值域 ALTER DOMAIN --改变域定义 DROP DOMAIN --从数据库中删除一个域 --数据控制 GRANT --授予用户访问权限 DENY --拒绝用户访问 REVOKE --解除用户访问权限 --事务控制 COMMIT --结束当前事务 ROLLBACK --中止当前事务 SET TRANSACTION --定义当前事务数据访问特征 ### SQL语句大全详解 #### 数据操作 - **SELECT**:用于从数据库表中检索数据行和列。这是最常用的SQL语句之一,用于查询数据。例如,`SELECT * FROM table_name WHERE column_name = 'value';` 可以用来获取满足特定条件的所有列。 - **INSERT**:用于向数据库表添加新数据行。例如,`INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);` 可以用来插入一条新的记录到指定的表中。 - **DELETE**:用于从数据库表中删除数据行。例如,`DELETE FROM table_name WHERE column_name = 'value';` 可以用来删除满足特定条件的所有记录。 - **UPDATE**:用于更新数据库表中的数据。例如,`UPDATE table_name SET column_name = 'new_value' WHERE condition;` 可以用来更新满足特定条件的所有记录的某列值。 #### 数据定义 - **CREATE TABLE**:用于创建一个新的数据库表。例如,`CREATE TABLE table_name (column1 datatype, column2 datatype, ...);` 可以用来定义表结构。 - **DROP TABLE**:用于从数据库中删除表。例如,`DROP TABLE table_name;` 可以用来删除整个表。 - **ALTER TABLE**:用于修改现有的数据库表结构。例如,可以用来增加或删除列、修改数据类型等。例如,`ALTER TABLE table_name ADD column_name datatype;` 可以用来向现有表添加一列。 - **CREATE VIEW**:用于创建一个视图,即存储在一个表中的查询结果集。例如,`CREATE VIEW view_name AS SELECT * FROM table_name WHERE condition;` 可以用来基于某个查询创建视图。 - **DROP VIEW**:用于从数据库中删除视图。例如,`DROP VIEW view_name;` 可以用来删除视图。 - **CREATE INDEX**:用于为数据库表创建一个索引,从而加快数据检索速度。例如,`CREATE INDEX index_name ON table_name (column_name);` 可以用来创建基于某列的索引。 - **DROP INDEX**:用于从数据库中删除索引。例如,`DROP INDEX index_name;` 可以用来删除索引。 - **CREATE PROCEDURE**:用于创建一个存储过程,这是一种预编译的SQL语句集合。例如,`CREATE PROCEDURE procedure_name AS BEGIN SQL_statements; END;` 可以用来定义存储过程。 - **DROP PROCEDURE**:用于从数据库中删除存储过程。例如,`DROP PROCEDURE procedure_name;` 可以用来删除存储过程。 - **CREATE TRIGGER**:用于创建一个触发器,当某些特定事件发生时自动执行SQL代码。例如,`CREATE TRIGGER trigger_name AFTER INSERT ON table_name FOR EACH ROW BEGIN SQL_statements; END;` 可以用来定义触发器。 - **DROP TRIGGER**:用于从数据库中删除触发器。例如,`DROP TRIGGER trigger_name;` 可以用来删除触发器。 - **CREATE SCHEMA**:用于向数据库添加一个新模式,通常用于组织相关的表和其他对象。例如,`CREATE SCHEMA schema_name;` 可以用来创建新的模式。 - **DROP SCHEMA**:用于从数据库中删除一个模式。例如,`DROP SCHEMA schema_name;` 可以用来删除模式。 - **CREATE DOMAIN**:用于创建一个数据值域,即定义了一组值的集合。例如,`CREATE DOMAIN domain_name AS data_type CHECK (value IN ('value1', 'value2', ...));` 可以用来定义域。 - **ALTER DOMAIN**:用于改变域定义,例如更改数据类型或检查约束等。例如,`ALTER DOMAIN domain_name RENAME TO new_domain_name;` 可以用来重命名域。 - **DROP DOMAIN**:用于从数据库中删除一个域。例如,`DROP DOMAIN domain_name;` 可以用来删除域。 #### 数据控制 - **GRANT**:用于授予用户访问权限。例如,`GRANT SELECT, INSERT ON table_name TO username;` 可以用来授予用户对表的读取和插入权限。 - **DENY**:用于拒绝用户访问。例如,`DENY SELECT ON table_name TO username;` 可以用来禁止用户访问表。 - **REVOKE**:用于收回用户的访问权限。例如,`REVOKE SELECT ON table_name FROM username;` 可以用来取消用户对表的访问权限。 #### 事务控制 - **COMMIT**:用于结束当前事务,并将事务中的所有更改永久保存到数据库中。例如,`COMMIT;` 可以用来提交事务。 - **ROLLBACK**:用于中止当前事务,并撤销事务中所做的任何更改。例如,`ROLLBACK;` 可以用来回滚事务。 - **SET TRANSACTION**:用于定义当前事务的数据访问特性,例如隔离级别等。例如,`SET TRANSACTION ISOLATION LEVEL READ COMMITTED;` 可以用来设置事务的隔离级别。 #### 程序化SQL - **DECLARE**:用于为查询设定游标,或声明变量。例如,`DECLARE @variable_name datatype;` 可以用来声明变量。 - **EXPLAIN**:用于为查询描述数据访问计划。例如,`EXPLAIN SELECT * FROM table_name;` 可以用来查看查询优化器如何处理查询。 - **OPEN**:用于检索查询结果并打开一个游标。例如,`OPEN cursor_name;` 可以用来打开游标。 - **FETCH**:用于检索一行查询结果。例如,`FETCH NEXT FROM cursor_name INTO @variable1, @variable2, ...;` 可以用来从游标中获取数据。 - **CLOSE**:用于关闭游标。例如,`CLOSE cursor_name;` 可以用来关闭游标。 - **PREPARE**:用于为动态执行准备SQL语句。例如,`PREPARE statement_name FROM 'SQL_query';` 可以用来准备SQL语句。 - **EXECUTE**:用于动态地执行SQL语句。例如,`EXECUTE statement_name;` 可以用来执行已准备的语句。 - **DESCRIBE**:用于描述准备好的查询。例如,`DESCRIBE prepared_statement;` 可以用来查看已准备的查询的信息。 #### 局部变量与全局变量 - **局部变量**:可以在SQL脚本中声明和使用的变量。例如,`DECLARE @local_variable datatype;` 可以用来声明局部变量。 - **全局变量**:由系统定义且以`@@`开头的变量,用于存储数据库系统的状态信息。例如,`@@ERROR` 可以用来获取上一个SQL语句的错误代码。 #### 条件控制 - **IF ELSE**:用于根据条件执行不同的SQL代码块。例如: ```sql IF condition THEN BEGIN SQL_statements; END ELSE BEGIN SQL_statements; END; ``` - **CASE**:用于根据不同的条件返回不同的值。例如: ```sql UPDATE employee SET e_wage = CASE WHEN job_level = '1' THEN e_wage * 1.08 WHEN job_level = '2' THEN e_wage * 1.07 WHEN job_level = '3' THEN e_wage * 1.06 ELSE e_wage * 1.05 END; ``` - **WHILE CONTINUE BREAK**:用于循环执行一组SQL语句,直到满足特定条件。例如: ```sql DECLARE @x int, @y int, @c int; SET @x = 1; SET @y = 1; WHILE @x < 3 BEGIN PRINT @x; WHILE @y < 3 BEGIN SET @c = 100 * @x + @y; PRINT @c; SET @y = @y + 1; END SET @x = @x + 1; SET @y = 1; END; ``` #### 等待控制 - **WAITFOR**:用于暂停SQL语句的执行,直到满足特定的时间条件。例如,`WAITFOR DELAY '01:02:03'` 可以让执行暂停1小时2分钟3秒;或者 `WAITFOR TIME '23:08:00'` 可以让执行暂停直到23点8分。 通过以上详细介绍,我们了解到SQL不仅是一种强大的语言,用于管理和查询关系型数据库,而且还包含了丰富的控制流结构,使开发者能够编写复杂的数据库应用程序。这些SQL命令涵盖了数据定义、数据操作、数据控制和事务控制等多个方面,是数据库管理的基础。
剩余30页未读,继续阅读
- 粉丝: 261
- 资源: 388
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- PHP源码王者荣耀英雄图像及语音包查询源码
- yolov5吸烟检测数据集-yolov5抽烟识别检测数据集.zip
- Verilog HDL示例代码之01-锁存器、触发器、寄存器、移位寄存器等
- COMSOL模型,地热模型,干热岩模型 开采增强型地热系统地热模型,可考虑井壁变形,失稳破坏等问题,可以计算径向应力等参数,也可以增加损伤变量 增强型地热系统EGS,THM热流固耦合(渗流,温度,应
- nmap扫描结果转换execl
- PID-反步控制-滑膜控制三种四旋翼无人机轨迹跟踪控制算法仿真 附带对应的说明文档,提供建模过程与仿真结果文献(英文)PPT 描述:采用的同一种参考轨迹,都是三维仿真 三种控制方法: 1PID控制
- MySQL 查询指南:从基础到高级的全面解析
- yolov5吸烟检测数据集-yolov5抽烟识别检测数据集(亲测可用).zip
- html实现原生图片懒加载
- 《PHP程序设计》程序设计题目
- Verilog HDL示例代码之02-逻辑门、三态门、mux等
- 人工智能大作业基于机器学习的房价和二手房房价预测数据集+项目源码+说明(高分项目)
- Linux系统性能优化技巧与实战指南
- linux常用命令大全常用.txt
- linux常用命令大全常用.txt
- linux常用命令大全常用.txt
- 1
- 2
- 3
前往页