MySQL必知必会 摘录(4)

17.1 组合查询
多数SQL查询都只包含从一个或多个表中返回数据的单条SELECT语句。MySQL也允许执行多个查询(多条SELECT语句),并将结果作为单个查询结果集返回。这些组合查询通常称为并(union)或复合查询(compound query)。
有两种基本情况,其中需要使用组合查询:
 在单个查询中从不同的表返回类似结构的数据;
 对单个表执行多个查询,按单个查询返回数据。
组合查询和多个WHERE条件 多数情况下,组合相同表的两个
查询完成的工作与具有多个WHERE子句条件的单条查询完成的
工作相同。换句话说,任何具有多个WHERE子句的SELECT语句
都可以作为一个组合查询给出,在以下段落中可以看到这一点。
这两种技术在不同的查询中性能也不同。因此,应该试一下这
两种技术,以确定对特定的查询哪一种性能更好。
20.2 删除数据
更快的删除
如果想从表中删除所有行,不要使用DELETE。
可使用TRUNCATE TABLE语句,它完成相同的工作,但速度更快(TRUNCATE实际是删除原来的表并重新创建一个表,而不是逐行删除表中的数据)。
21.2 更新表
复杂的表结构更改一般需要手动删除过程,它涉及以下步骤:
 用新的列布局创建一个新表;
 使用INSERT SELECT语句(关于这条语句的详细介绍,请参阅第
19章)从旧表复制数据到新表。如果有必要,可使用转换函数和计算字段;
 检验包含所需数据的新表;
 重命名旧表(如果确定,可以删除它);  用旧表原来的名字重命名新表;
 根据需要,重新创建触发器、存储过程、索引和外键。

posted @ 2021-05-10 18:12  yx袁祥  阅读(48)  评论(0)    收藏  举报