经典SQL语句大全 下列语句部分是Mssql语句,不可以在access中使用。 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始 备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: ### 经典SQL语句详解 #### SQL语句概述与分类 SQL(Structured Query Language,结构化查询语言)是一种用于管理关系型数据库的标准语言。它主要分为以下几类: 1. **DDL(Data Definition Language,数据定义语言)**:这类语句主要用于定义数据库的结构,如创建或修改表、视图等。常见的DDL语句包括`CREATE`、`ALTER`、`DROP`等。 - **创建数据库**:`CREATE DATABASE database-name;` - **删除数据库**:`DROP DATABASE dbname;` - **创建表**:`CREATE TABLE tabname (col1 type1 [NOT NULL] [PRIMARY KEY], col2 type2 [NOT NULL], ...);` 2. **DML(Data Manipulation Language,数据操作语言)**:这类语句主要用于对数据库中的数据进行操作,如插入、更新、删除等。常见的DML语句包括`SELECT`、`INSERT`、`UPDATE`、`DELETE`等。 - **选择数据**:`SELECT * FROM table1 WHERE 范围;` - **插入数据**:`INSERT INTO table1 (field1, field2) VALUES (value1, value2);` - **更新数据**:`UPDATE table1 SET field1 = value1 WHERE 范围;` - **删除数据**:`DELETE FROM table1 WHERE 范围;` 3. **DCL(Data Control Language,数据控制语言)**:这类语句主要用于管理数据库的安全性,如权限授予、撤销等。常见的DCL语句包括`GRANT`、`REVOKE`、`COMMIT`、`ROLLBACK`等。 #### 数据库操作 - **创建数据库**:使用`CREATE DATABASE`语句来创建一个新的数据库。 - **删除数据库**:使用`DROP DATABASE`语句来删除一个已存在的数据库。 - **备份数据库**:备份数据库对于数据安全至关重要。在SQL Server中,可以通过如下方式实现: - 创建备份设备: ```sql USE master; EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'; ``` - 接着,执行备份命令: ```sql BACKUP DATABASE pubs TO testBack; ``` #### 表操作 - **创建新表**:可以使用`CREATE TABLE`语句直接定义新表的结构,也可以基于现有表的结构来创建新表。 - 直接定义表结构: ```sql CREATE TABLE tabname (col1 type1 [NOT NULL] [PRIMARY KEY], col2 type2 [NOT NULL], ...); ``` - 基于已有表创建新表的方法有几种: 1. 使用`LIKE`关键字: ```sql CREATE TABLE tab_new LIKE tab_old; ``` 2. 使用`AS SELECT`语句获取旧表的部分定义: ```sql CREATE TABLE tab_new AS SELECT col1, col2 FROM tab_old DEFINITION ONLY; ``` 3. 通过`SELECT INTO`创建新表,并复制数据: ```sql SELECT * INTO table2 FROM table; ``` - **修改表结构**: - **添加列**:使用`ALTER TABLE`语句向现有表中添加新列。 ```sql ALTER TABLE tabname ADD COLUMN col type; ``` - **添加主键**:可以为表添加主键约束。 ```sql ALTER TABLE tabname ADD PRIMARY KEY (col); ``` - **删除主键**:如果不再需要主键,可以将其移除。 ```sql ALTER TABLE tabname DROP PRIMARY KEY (col); ``` - **创建索引**:为了提高查询性能,可以创建索引。 ```sql CREATE [UNIQUE] INDEX idxname ON tabname (col...); ``` - **删除索引**:当索引不再需要时,可以使用`DROP INDEX`语句删除它。 ```sql DROP INDEX idxname; ``` #### 视图操作 - **创建视图**:使用`CREATE VIEW`语句来定义新的视图。 ```sql CREATE VIEW viewname AS SELECT statement; ``` - **删除视图**:不再需要视图时,可以使用`DROP VIEW`语句删除它。 ```sql DROP VIEW viewname; ``` #### 数据统计 除了基本的数据检索和操作之外,SQL还提供了强大的统计功能,用于汇总和分析数据。这些功能包括: - **计数**:计算特定字段或记录的数量。 ```sql SELECT COUNT(*) AS totalCount FROM table1; ``` - **求和**:计算特定字段的总和。 ```sql SELECT SUM(field1) AS sumValue FROM table1; ``` - **平均值**:计算特定字段的平均值。 ```sql SELECT AVG(field1) AS avgValue FROM table1; ``` - **最大值**:找出特定字段的最大值。 ```sql SELECT MAX(field1) AS maxValue FROM table1; ``` - **最小值**:找出特定字段的最小值。 ```sql SELECT MIN(field1) AS minValue FROM table1; ``` #### 高级查询技术 - **UNION运算符**:结合多个查询的结果集,去除重复行。 ```sql SELECT column_name(s) FROM table1 UNION SELECT column_name(s) FROM table2; ``` 如果需要保留重复行,可以使用`UNION ALL`。 - **EXCEPT运算符**:返回第一个查询结果集中存在而第二个查询结果集中不存在的行。 ```sql SELECT column_name(s) FROM table1 EXCEPT SELECT column_name(s) FROM table2; ``` 如果需要保留重复行,可以使用`EXCEPT ALL`。 - **INTERSECT运算符**:返回两个查询结果集中的公共行。 ```sql SELECT column_name(s) FROM table1 INTERSECT SELECT column_name(s) FROM table2; ``` 如果需要保留重复行,可以使用`INTERSECT ALL`。 #### 外连接 外连接是一种特殊的连接类型,它可以返回左表、右表或两者的非匹配行。外连接包括: - **左外连接**:返回左表的所有行及右表的匹配行。 ```sql SELECT a.a, a.b, a.c, b.c, b.d, b.f FROM a LEFT OUTER JOIN b ON a.key = b.key; ``` 以上内容详细介绍了SQL语言的基础操作、表和视图的管理以及一些高级查询技术,为数据库管理和数据分析提供了坚实的基础。
- 粉丝: 24
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助