SQL基础操作:复制表结构、数据与高级查询

需积分: 5 0 下载量 123 浏览量 更新于2024-08-03 收藏 284KB DOCX 举报
本资源是一份关于SQL基础操作的复习笔记,涵盖了数据管理的关键知识点。主要内容包括: 1. **表的复制**: - 表结构的复制:通过`CREATE TABLE 新表名 LIKE 原表名`命令可以复制一个表的结构,不包含数据。 - 数据和结构一起复制:使用`CREATE TABLE 新表名 AS SELECT * FROM 原表名`语句,可以同时复制表结构和数据。 2. **数据操作**: - **插入数据**:`INSERT INTO 新表名 (字段列表) SELECT * FROM 原表名`用于根据指定字段复制数据。 - **更新数据**:`UPDATE 表名 SET 字段名称 = 值 WHERE 条件 [LIMIT 数量]`用于修改符合条件的数据。 - **删除数据**:`DELETE FROM 表名 WHERE 条件 [LIMIT 数量]`用于移除满足特定条件的记录。 3. **查询数据**: - `SELECT [选项] * FROM 数据源 WHERE 条件 GROUP BY 字段名 [HAVING 条件] ORDER BY 字段名 [LIMIT 数量]` - 选项包括`ALL`(默认)、`DISTINCT`(去重),可以设置字段别名,如`字段名称 AS 字段别名`。 - 数据源可以是单表、多表或自定义SQL查询。 - `WHERE`用于在数据源中筛选,支持比较、逻辑和特殊运算符。 - `GROUP BY`用于按字段分组,可用于统计分析,如`COUNT()`、`MAX()`、`MIN()`、`AVG()`和`SUM()`。 - 分组后的排序默认按照分组字段的升序排列,可以通过`ASC`或`DESC`指定顺序。 - 可以进行多字段分组,并使用`GROUP_CONCAT`函数对分组后的字段进行字符串连接。 - `HAVING`用于在分组后对聚合函数的结果进行过滤,与`WHERE`类似,但`HAVING`在内存中处理聚合结果,`WHERE`则在磁盘上。 4. **查询理解**: - `WHERE`与`HAVING`的区别:`WHERE`用于筛选原始数据,而`HAVING`用于筛选经过分组和聚合后的数据。 - `WHERE`的执行发生在数据读取过程中,`HAVING`则在结果集被生成后进行筛选。 这些知识点对于数据库管理员、数据分析师以及任何进行SQL查询的人士来说都是非常重要的,理解和熟练运用它们能够有效地管理和操作数据。在实际应用中,要根据具体需求灵活运用这些SQL语句,以达到高效的数据处理和分析目的。