根据提供的文件信息,我们可以归纳出一系列与SQL语句相关的知识点,包括常见的操作、查询、以及一些高级用法。下面将对这些知识点进行详细的解释和扩展。 ### 1. 备份数据库 - **语法**: `BACKUP DATABASE <数据库名> TO <备份设备> WITH NOFORMAT, NOINIT, NAME = N'<备份名称>', SKIP, NOREWIND, NOUNLOAD, STATS = 10` - 例如:`BACKUP DATABASE pubs TO testBack WITH NOFORMAT, NOINIT, NAME = N'MyNwind_1', SKIP, NOREWIND, NOUNLOAD, STATS = 10` ### 2. 创建表字段 - **添加新列**: - `ALTER TABLE <表名> ADD <列名> <数据类型>` - 示例:`ALTER TABLE tabname ADD column varchar(50)` ### 3. 添加主键 - **添加主键**: - `ALTER TABLE <表名> ADD CONSTRAINT <约束名> PRIMARY KEY (<列名>)` - 示例:`ALTER TABLE tabname ADD CONSTRAINT PK_tabname PRIMARY KEY (col)` ### 4. 删除主键 - **删除主键**: - `ALTER TABLE <表名> DROP CONSTRAINT <约束名>` - 示例:`ALTER TABLE tabname DROP CONSTRAINT PK_tabname` ### 5. 创建空表 - **创建空表**: - `SELECT * INTO <目标表名> FROM <源表名> WHERE 1<>1` - 示例:`SELECT * INTO b FROM a WHERE 1<>1` ### 6. 表间数据复制 - **复制表数据**: - `INSERT INTO <目标表名> (<列名1>, <列名2>, ...) SELECT <源列名1>, <源列名2>, ... FROM <源表名>` - 示例:`INSERT INTO b (a, b, c) SELECT d, e, f FROM a` ### 7. 使用连接查询 - **左连接查询**: - `SELECT <列名列表> FROM <表1> LEFT OUTER JOIN <表2> ON <连接条件>` - 示例:`SELECT a.a, a.b, a.c, b.c, b.d, b.f FROM a LEFT OUTER JOIN b ON a.a = b.c` ### 8. 子查询 - **子查询**: - `SELECT <列名列表> FROM <表名1> WHERE <列名> IN (SELECT <列名> FROM <表名2>)` - 示例:`SELECT a.title, a.username, b.adddate FROM tablea, (SELECT MAX(adddate) adddate FROM table WHERE table.title = a.title) b` ### 9. 分组查询 - **分组查询**: - `SELECT <列名列表>, COUNT(<列名>) AS <别名> FROM <表名> GROUP BY <列名列表>` - 示例:`SELECT type, COUNT(*) AS cnt FROM tablename GROUP BY type` ### 10. BETWEEN 运算符 - **BETWEEN 运算符**: - `SELECT * FROM <表名> WHERE <列名> BETWEEN <值1> AND <值2>` - 示例:`SELECT * FROM table1 WHERE time BETWEEN '2023-01-01 00:00:00' AND '2023-01-01 23:59:59'` ### 11. DATEDIFF 函数 - **DATEDIFF 函数**: - `DATEDIFF(<日期部分>, <日期1>, <日期2>)` - 示例:`SELECT * FROM 常规 WHERE DATEDIFF('MINUTE', 开始时间, GETDATE()) > 5` ### 12. TOP 子句 - **TOP 子句**: - `SELECT TOP <数量> * FROM <表名> ORDER BY <列名>` - 示例:`SELECT TOP 10 * FROM table1 ORDER BY id DESC` ### 13. DELETE 语句 - **DELETE 语句**: - `DELETE FROM <表名> WHERE <条件>` - 示例:`DELETE FROM tablename WHERE id NOT IN (SELECT MAX(id) FROM tablename GROUP BY col1, col2)` ### 14. 查询表结构 - **查询表结构**: - `SELECT name FROM sysobjects WHERE type = 'U'` - 示例:`SELECT name FROM sysobjects WHERE type = 'U'` ### 15. 查询表列 - **查询表列**: - `SELECT name FROM syscolumns WHERE id = object_id('<表名>')` - 示例:`SELECT name FROM syscolumns WHERE id = object_id('TableName')` ### 16. CASE WHEN 语句 - **CASE WHEN 语句**: - `SELECT <列名列表>, SUM(CASE WHEN <条件> THEN <表达式> ELSE 0 END) AS <别名> FROM <表名> GROUP BY <列名列表>` - 示例:`SELECT type, SUM(CASE WHEN vender = 'A' THEN pcs ELSE 0 END) AS A, SUM(CASE WHEN vender = 'C' THEN pcs ELSE 0 END) AS C, SUM(CASE WHEN vender = 'B' THEN pcs ELSE 0 END) AS B FROM tablename GROUP BY type` ### 17. NEWID() 函数 - **NEWID() 函数**: - `SELECT NEWID()` - 示例:`SELECT NEWID()` ### 18. 随机选择记录 - **随机选择记录**: - `SELECT TOP <数量> * FROM <表名> ORDER BY NEWID()` - 示例:`SELECT TOP 10 * FROM tablename ORDER BY NEWID()` 以上是根据给定文件内容整理出的一些关键SQL知识点及其示例。通过这些示例,你可以更好地理解如何在实际场景中应用SQL语句。需要注意的是,不同数据库系统(如SQL Server、MySQL等)可能存在语法差异,因此在具体使用时还需参照所使用的数据库系统的文档。
- 粉丝: 5
- 资源: 33
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助