SQL语句教程:从基础到高级操作

需积分: 50 0 下载量 154 浏览量 更新于2024-07-26 收藏 326KB PDF 举报
本文主要介绍了经典的SQL语句,包括创建和删除数据库,备份数据库,创建新表的方法,以及一系列SQL查询语句的教程,涵盖了从基础的SELECT到复杂的子查询和连接操作。 在SQL中,`CREATE DATABASE`语句用于创建一个新的数据库,如`CREATE DATABASE database-name`,这里的`database-name`是你自定义的数据库名称。而`DROP DATABASE`语句则用来删除指定的数据库,例如`drop database dbname`,`dbname`替换为实际的数据库名,要注意这将永久删除数据库及其所有数据。 备份SQL Server数据库可以通过执行存储过程`sp_addumpdevice`创建设备并使用`BACKUP DATABASE`命令来实现。首先,在主数据库(`master`)中使用`sp_addumpdevice`创建一个磁盘设备,例如`EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'`,然后用`BACKUP DATABASE`备份数据库,如`BACKUP DATABASE pubs TO testBack`,这会将`pubs`数据库备份到之前设置的设备上。 创建新表可以通过`CREATE TABLE`语句实现,如`create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)`,其中`tabname`是表名,`col1`, `col2`等是列名,`type1`, `type2`是数据类型,`not null`表示非空约束,`primary key`定义为主键。此外,还可以通过现有表创建新表,有两种方式:A. 使用`CREATE TABLE tab_new LIKE tab_old`创建与旧表`tab_old`结构相同的空表;B. 使用`CREATE TABLE tab_new AS SELECT col1, col2… FROM tab_old`仅保留选定列的定义,不包含数据。 SQL查询教程涵盖了一系列重要的SQL语句: 1. `SELECT`:用于从数据库中选择数据,基本语法为`SELECT 列名 FROM 表名`。 2. `DISTINCT`:用于去除结果集中的重复行。 3. `WHERE`:用于设定查询条件。 4. `AND` 和 `OR`:用于组合多个条件。 5. `IN`:用于匹配指定列表中的值。 6. `BETWEEN`:用于在两个值之间筛选数据。 7. `LIKE`:用于模式匹配。 8. `ORDER BY`:用于对查询结果进行排序。 9. 函数:如`COUNT`, `SUM`, `AVG`, `MAX`, `MIN`等,用于对数据进行计算或统计。 10. `GROUP BY`:用于按列进行分组。 11. `HAVING`:用于在`GROUP BY`后设定条件。 12. `ALIAS`:为列或表提供别名。 13. `JOIN`:用于合并多个表的数据。 14. `LEFT JOIN`/`RIGHT JOIN`:进行外部连接。 15. `SUBQUERY`:在查询中嵌套查询。 16. `UNION`:合并两个查询的结果,去除重复行。 17. `UNION ALL`:合并两个查询的结果,包含所有行,包括重复行。 18. `INTERSECT`:返回两个查询结果的交集。 19. `MINUS`:返回第一个查询结果中不在第二个查询结果中的行。 20. `CONCATENATE`:连接字符串。 21. `SUBSTRING`:提取字符串的一部分。 22. `TRIM`:删除字符串两侧的空格。 23. `CREATE TABLE`:创建新表。 24. `CREATE VIEW`:创建视图。 25. `CREATE INDEX`:创建索引以提高查询性能。 26. `ALTER TABLE`:修改已有表的结构。 27. 主键(Primary Key):用于唯一标识表中每一行的数据。 28. 外来键(Foreign Key):用于建立和加强两个表之间的联系。 29. `DROP TABLE`:删除表。 30. `TRUNCATE TABLE`:删除表中的所有数据,但保留表结构。 31. `INSERT INTO`:向表中插入新记录。 32. `UPDATE`:更新表中的数据。 33. `DELETE`:删除表中的特定记录。 以上内容构成了SQL的基础知识体系,掌握这些概念和语句,能有效地在数据库中进行数据管理、查询和分析。