MySQL 复制表

如果我们需要完全复制MySQL的数据表,包括表的结构,索引,默认值等。仅仅使用CREATE TABLE ... SELECT命令,是无法实现的。

如何完整的复制MySQL数据表,步骤如下:

  • 使用SHOW CREATE TABLE命令获取创建数据表(CREATE TABLE)语句,该语句包含了原数据表的结构,索引等
  • 复制命令显示的SQL语句,修改数据表名,并执行SQL语句,通过以上命令将完全的复制数据表结构
  • 如果想复制表的内容,可以使用INSERT INTO ... SELECT语句来实现。

MySQL 临时表

MySQL临时表在我们需要保存一些临时数据时是非常有用的。临时表只在当前连接可见,当关闭连接时,Mysql会自动删除表并释放所有空间。

临时表在MySQL 3.23版本中添加,如果MySQL版本低于 3.23版本就无法使用MySQL的临时表。不过现在一般很少有在使用这么低版本的MySQL数据库服务。

MySQL 索引

MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。

以汉语字典的目录页(索引)为例,我们可以按拼音、笔画、偏旁部首等排序的目录(索引)快速查找到需要的字。

索引分单列索引和组合索引。单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引。组合索引,即一个索引包含多个列。

MySQL 事务

MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,删除一个人员,既需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!

  • 在MySQL中只有使用了Innodb数据库引擎的数据库或表才支持事务
  • 事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行
  • 事务用来管理insert,update,delete语句

MySQL 正则表达式

我们已经了解到MySQL可以通过LIKE ...%来进行模糊匹配。

MySQL同样也支持其他正则表达式的匹配,MySQL中使用REGEXP操作符来进行正则表达式匹配。

下表中的正则模式可应用于REGEXP操作符中

MySQL NULL 值处理

字段为 NULL 值及比较

我们已经知道 MySQL 使用SQL SELECT命令及WHERE子句来读取数据表中的数据,但是当提供的查询条件字段为NULL时,该命令可能就无法正常工作。

MySQL JOIN连接的使用

使用 MySQL 的 JOIN 在两个或多个表中查询数据。可以在 SELECT, UPDATE 和 DELETE 语句中使用 Mysql 的 JOIN 来联合多表查询。

JOIN 按照功能大致分为如下三类:

  • INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录
  • LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录
  • RIGHT JOIN(右连接):与LEFT JOIN相反,用于获取右表所有记录,即使左表没有对应匹配的记录

MySQL 分组

GROUP BY语句根据一个或多个列对结果集进行分组。

在分组的列上我们可以使用COUNT, SUM, AVG等函数。

GROUP BY 语法

MySQL 排序

如果我们需要对SELECT读取的数据进行排序,我们就可以使用MySQL的ORDER BY子句来设定你想按哪个字段哪种方式来进行排序,再返回搜索结果。

ORDER BY 语法


Powered by AppBlog.CN     浙ICP备14037229号

Copyright © 2012 - 2021 APP开发技术博客 All Rights Reserved.

访客数 : | 访问量 :