【MySQL编程思想】第01节 课程简介
MySQL编程教程,全覆盖从SQL基础查询到高级分析、从数据库设计到查询优化等内容。让你了解并学习现代化的SQL语言和编程思想,而不仅仅局限于传统 SQL 提供的简单功能。
第13节 分组统计
GROUP BY 子句可以将数据按照某些字段进行分组,分组操作可以和聚合函数一起实现分组统计;分组字段中的多个 NULL 值将会被分为一个组;HAVING 子句可以对分组结果进行过滤。
第12节 数据汇总
聚合函数用于针对一组数据行进行运算,并且返回一个结果;PostgreSQL常见聚合函数包括COUNT、AVG、SUM、MAX、MIN、STRING_AGG等。
MySQL 中的 6 种日志类型
MySQL 提供了一套完整的服务器日志体系,包含了多种日志类型,可以帮助我们查找、解决系统问题和优化数据库的性能。例如:错误日志、通用查询日志、慢查询日志、二进制日志、中继日志以及 DDL 日志。
第11节 限制返回结果的数量
SQL提供了 FETCH … OFFSET 子句限制返回结果的数量;PostgreSQL还提供了扩展的 OFFSET … LIMIT 子句。这两种语法都可以实现Top-N查询和分页查询。
第10节 数据的排序显示
ORDER BY用于指定数据的排序字段;ASC(默认值)表示升序排序,DESC表示降序排序;PostgreSQL排序时NULL被看作最大的值,PostgreSQL可以使用NULLS FIRST或者NULLS LAST指定空值的位置。
第09节 复杂查询条件
逻辑运算符 AND、OR、NOT 可以构造复杂查询条件;AND 和 OR 使用短路运算;比较运算符(=、>、<等)的优先级比逻辑运算符高;NOT 比 AND 优先级高,AND 比 OR 优先级高,括号可以改变优先级。
第08节 空值的判断
空值使用NULL表示,代表了未知或者缺失的数据;SQL使用 IS [NOT] NULL 运算符判断是否为空值;PostgreSQL还支持ISNULL和NOTNULL运算符;IS [NOT] DISTINCT FROM运算符支持空值的比较。
推荐几个免费的SQL练习环境
几个在线的免费 SQL 运行环境,也就是在线数据库。这些网站可以帮助我们快速运行一些 SQL 语句的测试或者验证,同时还可以在网络上进行分享,关键不需要自己安装数据库。
第07节 字符串的模糊匹配
PostgreSQL中的LIKE运算符可以实现字符串的模糊匹配;百分号(%)匹配任意多个字符,下划线(_)匹配一个任意字符;ESCAPE选项用于指定转义字符;NOT LIKE执行LIKE相反的匹配,ILIKE不区分大小写。
《MySQL 入门教程》第 35 篇 PHP 访问 MySQL
本篇介绍如何利用 PHP 数据对象(PDO)接口连接 MySQL 数据库,创建和删除表、执行数据的增删改查操作、事务的管理以及调用存储过程和函数。
《MySQL 入门教程》第 34 篇 计划任务
MySQL 支持定时执行的计划任务,类似于 Unix crontab 或者 Windows 定时任务,被称为事件或者计划事件。事件是一个存储在数据库服务器中的 SQL 程序,在指定的时间范围内定期执行,调度和执行事件的服务被称为事件调度器。
《MySQL 入门教程》第 33 篇 触发器
MySQL 触发器(trigger)是一种存储程序,它和一个指定的表相关联,当该表中的数据发生变化时自动执行。MySQL 支持行级 INSERT、UPDATE 和 DELETE 触发器,可以在触发事件之前或者之后执行。
第06节 利用查询条件过滤数据
PostgreSQL使用WHERE子句过滤表中的数据;PostgreSQL提供了以下比较运算符:=、!=、<>、>、>=、<、<=、BETWEEN、IN等。
第05节 简单查询语句
SQL使用SELECT和FROM查询表中的数据,*表示查询全部字段;PostgreSQL提供了无表查询的扩展,使用AS指定别名;使用DISTINCT去除查询结果中的重复值;PostgreSQL支持两种格式的代码注释。
第04节 使用pgAdmin初始化示例表
pgAdmin是PostgreSQL官方提供的管理和开发工具,我们使用它连接数据库并执行一些常见的操作,创建示例数据库和示例表,初始化示例数据。
第03节 PostgreSQL安装
一步步完成Windows平台上的PostgreSQL安装。
第02节 PostgreSQL课程安排
PostgreSQL开发课程安排。
第01节 PostgreSQL简介
PostgreSQL是最先进的开源对象-关系型数据库,它采用友好的开源协议,高度兼容SQL标准,完全遵循事务的ACID原则,拥有丰富的功能特性和高度可扩展性。
SQL案例分析-MySQL UPDATE语句的非标准实现
对于MySQL而言,如果UPDATE语句在表达式中使用了前面被更新的字段,将会使用该字段被更新后的值而不是原来的值。