《php和mysql web开发》笔记——第10章 使用MySQL数据库
2015-10-02 16:23
519 查看
插入数据
INSERT只能带有少数几个关键字。在INSERT后面,可以添加LOW_PRIORITY或DELAYED关键字。LOW_PRIORITY关键字意味着当数据不是从表格读出时,系统必须等待并且稍后再插入。DELAYED关键字意味着插入的数据将被缓冲。如果该服务器繁忙,我们可以继续运行其他查询,而不是等待这个INSERT操作的完成。
这两个关键字以后,可以指定INGORE。这意味着如果尝试插入任何可能导致重复唯一键的记录行,这些记录行将被自动忽略。另一种方法是在INSERT语句的末尾指定ON DUPLICATE KEY UPDATE expression。这可以使用一个常规的UPDATE语句修改重复值。
双表关联查询
表名称之间的逗号等价于输入INNERJOIN或CROSSJOIN。这是一种类型的关联,有时也称为完全关联(full join)或表的笛卡尔乘积。
合计函数:avg、count、min、max、std、stddev、sum。
std、stddev:指定列的标准背离值,即标准差。
having条件:用于分组后的进一步数据筛选。通常跟的条件是合计函数。
行子查询:select c1,c2,c3 from t1 where (c1,c2,c3) in (select c1,c2,c3 fromt2);
修改表:如果指定了IGNORE子句并且尝试的修改可能会产生重复的主键,第一个重复的主键将进入修改后的表,而其它重复的主键将被删除。如果没有指定,该修改将失败并且被回滚。
删除表:使用QUICK可以使得对MyISAM表的操作执行得更快。
INSERT只能带有少数几个关键字。在INSERT后面,可以添加LOW_PRIORITY或DELAYED关键字。LOW_PRIORITY关键字意味着当数据不是从表格读出时,系统必须等待并且稍后再插入。DELAYED关键字意味着插入的数据将被缓冲。如果该服务器繁忙,我们可以继续运行其他查询,而不是等待这个INSERT操作的完成。
这两个关键字以后,可以指定INGORE。这意味着如果尝试插入任何可能导致重复唯一键的记录行,这些记录行将被自动忽略。另一种方法是在INSERT语句的末尾指定ON DUPLICATE KEY UPDATE expression。这可以使用一个常规的UPDATE语句修改重复值。
双表关联查询
表名称之间的逗号等价于输入INNERJOIN或CROSSJOIN。这是一种类型的关联,有时也称为完全关联(full join)或表的笛卡尔乘积。
合计函数:avg、count、min、max、std、stddev、sum。
std、stddev:指定列的标准背离值,即标准差。
having条件:用于分组后的进一步数据筛选。通常跟的条件是合计函数。
行子查询:select c1,c2,c3 from t1 where (c1,c2,c3) in (select c1,c2,c3 fromt2);
修改表:如果指定了IGNORE子句并且尝试的修改可能会产生重复的主键,第一个重复的主键将进入修改后的表,而其它重复的主键将被删除。如果没有指定,该修改将失败并且被回滚。
删除表:使用QUICK可以使得对MyISAM表的操作执行得更快。
相关文章推荐
- php使用命名空间:别名/导入
- 《php和mysql web开发》笔记——第9章 创建Web数据库
- thinkphp3.2.3子查询中遇到的错误
- php try,catch,throw异常处理
- 数据库出现无法载入MYSQL扩展,请检查PHP配置的解决
- 5-v4l2——input and output输入输出
- zendstudio 10 安装
- PHP数组各种操作与函数汇总
- php 获取时间
- php初学者容易犯的几个错误
- 8个必备的PHP功能开发
- lamp搭建phpMyAdmin+wordpress+Discuz 推荐
- ubuntu 14.10下搭建php环境
- Best PHP IDE for 2014 – Survey
- Best PHP Frameworks for Developers(二)
- .htaccess 详解
- ThinkPHP获取输入变量
- Best PHP Frameworks for Developers(一)
- ThinkPHP页面跳转和Ajax数据返回
- 《php和mysql web开发》笔记——第8章 设计Web数据库