### 自己收藏的经典SQL语句 #### 数据库操作 **1. 创建数据库** - **命令格式**: `CREATE DATABASE database-name;` - **说明**: 此命令用于创建一个新的数据库。 - **示例**: `CREATE DATABASE myDatabase;` **2. 删除数据库** - **命令格式**: `DROP DATABASE dbname;` - **说明**: 使用此命令可以删除一个已存在的数据库。 - **示例**: `DROP DATABASE myDatabase;` **3. 备份数据库** - **命令格式**: - **设置备份设备**: `USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat';` - **执行备份**: `BACKUP DATABASE pubs TO testBack;` - **说明**: 上述命令首先设置了一个备份设备,然后对`pubs`数据库进行了备份。 #### 表操作 **4. 创建新表** - **命令格式**: `CREATE TABLE tabname (col1 type1 [NOT NULL] [PRIMARY KEY], col2 type2 [NOT NULL], ...);` - **说明**: 此命令用于创建一个新的表,并定义其结构。 - **示例**: `CREATE TABLE employees (id INT PRIMARY KEY, name VARCHAR(50) NOT NULL);` - **基于已有表创建新表**: - **命令格式 A**: `CREATE TABLE tab_new LIKE tab_old;` - **说明**: 此命令用于根据现有的表结构创建一个新的空表。 - **示例**: `CREATE TABLE new_employees LIKE employees;` - **命令格式 B**: `CREATE TABLE tab_new AS SELECT col1, col2 FROM tab_old DEFINITION ONLY;` - **说明**: 此命令仅复制表的定义,而不复制数据。 - **示例**: `CREATE TABLE new_employees AS SELECT id, name FROM employees DEFINITION ONLY;` **5. 删除表** - **命令格式**: `DROP TABLE tabname;` - **说明**: 此命令用于删除指定的表。 - **示例**: `DROP TABLE employees;` **6. 修改表** - **增加一个列** - **命令格式**: `ALTER TABLE tabname ADD COLUMN col type;` - **说明**: 向现有表中添加新的列。 - **示例**: `ALTER TABLE employees ADD COLUMN email VARCHAR(50);` - **添加主键** - **命令格式**: `ALTER TABLE tabname ADD PRIMARY KEY (col);` - **说明**: 为表添加主键约束。 - **示例**: `ALTER TABLE employees ADD PRIMARY KEY (id);` - **删除主键** - **命令格式**: `ALTER TABLE tabname DROP PRIMARY KEY;` - **说明**: 删除表中的主键约束。 - **示例**: `ALTER TABLE employees DROP PRIMARY KEY;` **7. 索引操作** - **创建索引** - **命令格式**: `CREATE [UNIQUE] INDEX idxname ON tabname (col...);` - **说明**: 为表中的一个或多个列创建索引。 - **示例**: `CREATE UNIQUE INDEX emp_idx ON employees (id);` - **删除索引** - **命令格式**: `DROP INDEX idxname;` - **说明**: 删除指定的索引。 - **示例**: `DROP INDEX emp_idx;` **8. 视图操作** - **创建视图** - **命令格式**: `CREATE VIEW viewname AS SELECT statement;` - **说明**: 基于一个或多个表的结果集创建视图。 - **示例**: `CREATE VIEW v_employees AS SELECT id, name FROM employees;` - **删除视图** - **命令格式**: `DROP VIEW viewname;` - **说明**: 删除一个视图。 - **示例**: `DROP VIEW v_employees;` #### 基本SQL语句 - **选择数据** - **命令格式**: `SELECT * FROM table1 WHERE 范围;` - **示例**: `SELECT * FROM employees WHERE id > 10;` - **插入数据** - **命令格式**: `INSERT INTO table1 (field1, field2) VALUES (value1, value2);` - **示例**: `INSERT INTO employees (id, name) VALUES (1, 'John Doe');` - **删除数据** - **命令格式**: `DELETE FROM table1 WHERE 范围;` - **示例**: `DELETE FROM employees WHERE id = 1;` - **更新数据** - **命令格式**: `UPDATE table1 SET field1=value1 WHERE 范围;` - **示例**: `UPDATE employees SET name='Jane Doe' WHERE id = 1;` - **查找数据** - **命令格式**: `SELECT * FROM table1 WHERE field1 LIKE '%value1%';` - **示例**: `SELECT * FROM employees WHERE name LIKE '%John%';` - **排序数据** - **命令格式**: `SELECT * FROM table1 ORDER BY field1, field2 [DESC];` - **示例**: `SELECT * FROM employees ORDER BY name DESC;` - **统计函数** - **总数**: `SELECT COUNT(*) AS totalcount FROM table1;` - **求和**: `SELECT SUM(field1) AS sumvalue FROM table1;` - **平均**: `SELECT AVG(field1) AS avgvalue FROM table1;` - **最大值**: `SELECT MAX(field1) AS maxvalue FROM table1;` - **最小值**: `SELECT MIN(field1) AS minvalue FROM table1;` #### 高级查询 **12. 运算词** - **UNION 运算符** - **命令格式**: `SELECT * FROM table1 UNION SELECT * FROM table2;` - **示例**: `SELECT name FROM employees UNION SELECT name FROM managers;` - **说明**: 返回两个查询结果中的唯一记录。 - **UNION ALL 运算符**: 包含所有记录,包括重复记录。 - **示例**: `SELECT name FROM employees UNION ALL SELECT name FROM managers;` - **EXCEPT 运算符** - **命令格式**: `SELECT * FROM table1 EXCEPT SELECT * FROM table2;` - **示例**: `SELECT name FROM employees EXCEPT SELECT name FROM managers;` - **说明**: 返回出现在第一个表中但不在第二个表中的记录。 - **EXCEPT ALL 运算符**: 不消除重复行。 - **示例**: `SELECT name FROM employees EXCEPT ALL SELECT name FROM managers;` - **INTERSECT 运算符** - **命令格式**: `SELECT * FROM table1 INTERSECT SELECT * FROM table2;` - **示例**: `SELECT name FROM employees INTERSECT SELECT name FROM managers;` - **说明**: 返回同时出现在两个表中的记录。 - **INTERSECT ALL 运算符**: 不消除重复行。 - **示例**: `SELECT name FROM employees INTERSECT ALL SELECT name FROM managers;` 以上是关于SQL的基础与高级操作的知识点,包括数据库的创建与删除、表的操作、索引管理、视图处理以及常见的数据操作命令等。这些知识点覆盖了SQL的核心功能,对于初学者来说是非常实用且重要的学习材料。通过理解这些命令和概念,可以有效地管理和操作数据库,满足不同场景下的需求。
- 粉丝: 0
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- jsoniter (json-iterator) 是一款快速灵活的 JSON 解析器,可用 Java 和 Go 编写.zip
- 基于Java Swing实现的飞机大战游戏.zip
- 基于Java swing的拼图游戏,两种玩法(数字和图片).zip
- 基于java swing开发的小游戏.zip
- 动物位移小游戏Java实现,强行使用上了SQLite和MyBatis.zip
- 叠罗汉游戏,安卓java实现,自定义Framlayout,属性动画.zip
- java项目实战练习.zip
- java桌面小程序,主要为游戏.zip学习资料
- 2021级大三上学期计算机体系结构-期末大作业复现代码.zip
- ember前端框架,一键部署到云开发平台.zip