SQL语句大全,所有的SQL都在这里.pdf
### SQL语句大全知识点解析 #### 一、基础操作 **1. 创建数据库** - **命令格式**: `CREATE DATABASE database-name;` - **说明**: 此命令用于创建一个新的数据库实例。`database-name`应替换为实际数据库名称。 **2. 删除数据库** - **命令格式**: `DROP DATABASE dbname;` - **说明**: 该命令用于删除指定的数据库。`dbname`为要删除的数据库名称。执行此操作前需谨慎考虑,因为一旦删除将无法恢复。 **3. 数据库备份** - **创建备份设备**: - **命令格式**: ```sql USE master; EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'; ``` - **说明**: 使用T-SQL过程`sp_addumpdevice`创建一个备份设备,以便后续进行数据库备份。这里的`testBack`为备份设备名称,`c:\mssql7backup\MyNwind_1.dat`是备份文件存储路径。 - **执行备份**: - **命令格式**: ```sql BACKUP DATABASE pubs TO testBack; ``` - **说明**: 执行具体的备份操作。`pubs`是要备份的数据库名,`testBack`为之前创建的备份设备名称。 #### 二、表的操作 **4. 创建新表** - **命令格式**: ```sql CREATE TABLE tabname (col1 type1 [NOT NULL] [PRIMARY KEY], col2 type2 [NOT NULL], ...); ``` - **说明**: 这条命令用于创建新的表。`tabname`为表名,`col1`, `col2`等为列名,`type1`, `type2`等为相应的数据类型。可以指定列是否允许为空(`NOT NULL`)以及是否为主键(`PRIMARY KEY`)。 - **根据已有表创建新表**: - **使用`LIKE`子句**: ```sql CREATE TABLE tab_new LIKE tab_old; ``` - **使用`AS SELECT`子句**: ```sql CREATE TABLE tab_new AS SELECT col1, col2 FROM tab_old DEFINITION ONLY; ``` - **说明**: 上述两种方法可以用来基于现有表的结构创建新的表。第一种方法直接复制源表的所有列定义,第二种方法则通过选择部分列来创建新表,并不复制数据。 **5. 删除表** - **命令格式**: `DROP TABLE tabname;` - **说明**: 用于删除指定的表。`tabname`为要删除的表的名称。 **6. 添加列** - **命令格式**: `ALTER TABLE tabname ADD COLUMN col type;` - **说明**: 向现有表中添加新的列。需要注意的是,在某些数据库系统中,如DB2,一旦添加了列就无法删除,而且除了增加`VARCHAR`类型的长度外,数据类型也无法更改。 **7. 添加/删除主键** - **添加主键**: ```sql ALTER TABLE tabname ADD PRIMARY KEY (col); ``` - **删除主键**: ```sql ALTER TABLE tabname DROP PRIMARY KEY (col); ``` - **说明**: 用于设置或删除表的主键。主键约束用于唯一标识表中的每一行记录。 **8. 创建/删除索引** - **创建索引**: ```sql CREATE [UNIQUE] INDEX idxname ON tabname (col ...); ``` - **删除索引**: ```sql DROP INDEX idxname; ``` - **说明**: 索引用于加速数据检索速度。一旦创建索引,无法直接修改,需要先删除再重建。 #### 三、视图操作 **9. 创建/删除视图** - **创建视图**: ```sql CREATE VIEW viewname AS SELECT statement; ``` - **删除视图**: ```sql DROP VIEW viewname; ``` - **说明**: 视图是一种虚拟表,其内容由存储在数据库中的查询定义。创建视图可以简化复杂的查询,提高安全性。 #### 四、基本SQL语句 **10. 基本SQL语句** - **选择**: ```sql SELECT * FROM table1 WHERE 范围; ``` - **插入**: ```sql INSERT INTO table1 (field1, field2) VALUES (value1, value2); ``` - **删除**: ```sql DELETE FROM table1 WHERE 范围; ``` - **更新**: ```sql UPDATE table1 SET field1 = value1 WHERE 范围; ``` - **查找**: ```sql SELECT * FROM table1 WHERE field1 LIKE '%value1%'; ``` - **排序**: ```sql SELECT * FROM table1 ORDER BY field1, field2 [DESC]; ``` - **计数**: ```sql SELECT COUNT(*) AS total_count FROM table1; ``` - **求和**: ```sql SELECT SUM(field1) AS sum_value FROM table1; ``` - **平均值**: ```sql SELECT AVG(field1) AS avg_value FROM table1; ``` - **最大值**: ```sql SELECT MAX(field1) AS max_value FROM table1; ``` - **最小值**: ```sql SELECT MIN(field1) AS min_value FROM table1; ``` #### 五、高级查询 **11. 高级查询运算词** - **UNION运算符**: 结合两个结果表,去除重复行。 - **EXCEPT运算符**: 显示在第一个表中存在但在第二个表中不存在的行。 - **INTERSECT运算符**: 显示两个表共有的行。 **12. 外连接** - **左外连接**: ```sql SELECT * FROM table1 LEFT JOIN table2 ON table1.key = table2.key; ``` - **说明**: 左外连接返回所有左表中的记录,即使右表中没有匹配的记录也会显示左表中的所有记录,并在右表字段处填充`NULL`值。 以上是根据提供的文件内容整理的相关知识点,涵盖了SQL语句的基础操作、表操作、视图操作及一些基本和高级的SQL语句。这些内容对于学习和使用SQL非常有帮助,能够帮助用户更高效地管理和操作数据库。
剩余16页未读,继续阅读
- 粉丝: 0
- 资源: 5
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助