MySQL 超新手入门(1)重新开始

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 三国演义是一部在华人世界非常普及的历史小说,是由罗贯中根据元朝的三国志平话改编,他以东汉末年魏、蜀、吴三国斗争为主题,收集历史资料和说书人的故事,成为这一部大家都非常熟悉的故事。或许我们现在觉得这些历史已经跟我们没什么关系了,不过大家都知道关公过五关斩六将,刘备三顾茅芦,诸葛孔明的空城记。这些老掉牙的故事,总是不断的出现在电影、电视剧和各种平台的游戏,一代又一代的传承下去。这应该是因为三国演义的确是一个好故事,很多很精采的好故事,就像美国畅销作家史帝芬金所说的,一个好故事是不会寂寞的。

三国演义

三国演义是一部在华人世界非常普及的历史小说,是由罗贯中根据元朝的三国志平话改编,他以东汉末年魏、蜀、吴三国斗争为主题,收集历史资料和说书人的故事,成为这一部大家都非常熟悉的故事。或许我们现在觉得这些历史已经跟我们没什么关系了,不过大家都知道关公过五关斩六将,刘备三顾茅芦,诸葛孔明的空城记。这些老掉牙的故事,总是不断的出现在电影、电视剧和各种平台的游戏,一代又一代的传承下去。这应该是因为三国演义的确是一个好故事,很多很精采的好故事,就像美国畅销作家史帝芬金所说的,一个好故事是不会寂寞的。


三国演义的普及,让人认为里面讲的故事其实就是真的历史,罗贯中在编这本书的时候,大概是为了让它可以比较戏剧化一些,采用了很多当时说书人的内容,这些内容是在民间流传或由说书人编造的,跟历史并不一样。例如大家熟悉的关公斩华雄,在三国演义中是一段非常的精采故事,作者使用很短的内容让关云长的豪勇,简单、清楚而且非常震憾的呈现给读者。不过根据史料的考证,其实华雄的头是被孙坚砍掉的。这也是为什么清朝的时候就有人评论三国演义是「七实三虚,惑乱观者」。


提倡白话文的胡适之,对三国演义的批评更是激烈,他认为三国演义把诸葛亮的足智多谋写成一个呼风唤雨的妖道;张飞在历史上其实是一个很有君子风度的武将,可是却被写成粗鲁的莽夫。虽然有很多精采的故事,可是没有经过更好的整理,所以三国演义在华人古典文学上的地位,一直不如红楼梦(注),甚至连水浒传都比不上。

image.png


MySQL与SQL

MySQL在资讯应用的角色,好像跟三国演义这本著作有点类似。MySQL是目前最普及的资料库伺服器,可是大家也最不在意它,可能因为它是一套免费的软体,如果不要对它太过份,它会默默的在电脑中为你服务,在一般情况下都不太会出问题。MySQL跟其它一般的资料库一样,同样支援ANSI SQL92,也加入少许MySQL自己特别的指令。不论是网页或应用程式的开发人员,当你第一次接触资料库,学习SQL这种古老的指令,应该不会觉得太难。如果你正要进入开发应用程式的领域,在学习的路上,你会分配给SQL的时间应该也不会太多,因为它跟程式语言比较起来是比较单纯一些的。


因为MySQL和SQL几乎是最常见的应用,而且大家也觉得它们是简单的,当然就不会在它们身上花太多时间。所以慢慢的我们会发现一些情况,有一些应用程式发生的问题,其实是来自MySQL资料库伺服器和应用程式中的SQL叙述,这些问题相对是比较单纯的,只是大家忽略了。


例如MySQL提供方便好用的「LIMIT」子句,在应用程式中让开发人员可以很容易完成一些特定的功能,例如网页应用程式中的分页查询。不过LIMIT子句是MySQL才有的,如果应用程式更换资料库伺服器,例如Oracle,应用程式就会产生一堆错误了。还有资料库的交易(transaction)管理,MySQL预设的MYISAM储存引擎并没有支援交易管理,因为比较简单一些,所以运作的效率也会比较好;如果应用程式需要执行交易管理,就要在建立资料库的时候指定储存引擎为InnoDB。


各种关于MySQL资料库管理和SQL的问题,开发人员通常在遇到错误的时候,才会开始寻求解决问题的方法。这似乎也是MySQL的宿命,因为我们虽然一直在使用它,可是却不太重视它,也认为这本来就是合理的,开发人员不应该分配太多时间给它。有一个很明显的情况,在逛书局的时候,你应该已经看不到只有讨论关于MySQL和SQL的书籍了。


OCP MySQL 5 Developer

在我们台湾这里,跟开发人员相关的认证考试,这应该算是最冷门的OCP认证科目之一。这个认证考试的主要内容是MySQL的SQL,通过这个考试的人,表示它具备在应用程式中使用SQL的技能。你应该会觉的这是一个有点诡异的认证考试,它好像没有存在的必要。对一个有经验的开发人员来说,使用SQL的技能就像是本来就应该存在的,你甚至已经忘记当初是怎么学会SQL;对一个新手来说,不会有人建议你去买一本关于SQL的书籍来学习这方面的技能,因为可能也买不到了,不过有各种网站提供SQL的学习,认识一些基础的叙述后,遇到问题再说吧!


SQL在目前的环境下,越来越不受到开发人员的关爱,尤其是现在各种关于资料库应用的框架,例如Hibernate和MyBatis,它们的任务就是要杀死SQL这只远古巨兽,让开发人员不用受到SQL的煎熬。我也认为开发应用程式一直是一件很困难的事情,各种越来越进步的科技让生活更方便,可是应用程式开发技术却越来越复杂,开发人员必须具备的技能也更多,如果真的能有一种技术可以完全消灭SQL,那绝对是一件非常美好的事情。不过目前的情况应该还是有很多困难,就以大约十年前的应用程式来说,SQL还是一个必要的成员,除非放弃原来已经运作正常的程式,否则你还是要面对这些冗长的SQL叙述。


这就是「MySQL超新手入门」系列文章的目的,内容的范围涵盖OCP MySQL 5 Developer认证考试,因为它的范围也是一个开发人员必须具备的SQL技能。从安装MySQL资料库与相关的工具程式开始,到学习所有MySQL提供的SQL,虽然是针对MySQL资料库撰写的,不过绝大部份都符合ANSI SQL92的标准,也就是在其它资料库产品也可以正确的运作。


内容规划为19章:

  1. 资料库概论与 MySQL 安装
  2. SELECT 基础查询
  3. 运算式与函式
  4. JOIN 与 UNION 查询
  5. CRUD 与资料维护
  6. 字元集与资料库
  7. 储存引擎与资料型态
  8. 表格与索引
  9. 子查询
  10. Views
  11. Prepared Statements
  12. Stored Routines入门
  13. Sotred Routines的变数与流程
  14. Stored Routines进阶
  15. Triggers
  16. 资料库资讯
  17. 错误处理与查询
  18. 汇入与汇出资料
  19. 效率


在第一章介绍基本的资料库概念与安装需要的软体后,第二章到第五章讨论基本的新增、修改、删除和查询;第六章到第八章讨论资料库、表格和索引的建立与管理,这个部份的内容会有比较多MySQL独有的特色;第九章是子查询;第十章到第十五章讨论资料库进阶的应用,这些在其它资料库产品都会提供类似的技术,例如Oracle的PL/SQL;第十六章到第十九章讨论的内容比较偏向于资料库管理和效率的进阶应用,这些也是一个开发人员需要了解的。


注: 红楼梦在文学上的重视让它演变成一门「红学」,可是红楼梦的故事与人物对一般人来说,却不如三国演义来得熟悉

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
20天前
|
安全 关系型数据库 MySQL
PHP与MySQL交互:从入门到实践
【9月更文挑战第20天】在数字时代的浪潮中,掌握PHP与MySQL的互动成为了开发动态网站和应用程序的关键。本文将通过简明的语言和实例,引导你理解PHP如何与MySQL数据库进行对话,开启你的编程之旅。我们将从连接数据库开始,逐步深入到执行查询、处理结果,以及应对常见的挑战。无论你是初学者还是希望提升技能的开发者,这篇文章都将为你提供实用的知识和技巧。让我们一起探索PHP与MySQL交互的世界,解锁数据的力量!
|
5月前
|
存储 监控 关系型数据库
轻松入门Mysql:MySQL性能优化与监控,解锁进销存系统的潜力(23)
轻松入门Mysql:MySQL性能优化与监控,解锁进销存系统的潜力(23)
108 0
|
5月前
|
SQL 数据可视化 关系型数据库
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
341 0
|
5月前
|
存储 关系型数据库 MySQL
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)
128 0
|
13天前
|
关系型数据库 MySQL 数据库
MySQL基本操作入门指南
MySQL基本操作入门指南
33 0
|
5月前
|
存储 关系型数据库 MySQL
MySQL基础入门:数据库操作全攻略
MySQL基础入门:数据库操作全攻略
123 0
|
1月前
|
SQL 关系型数据库 MySQL
MySQL入门到精通
MySQL入门到精通
|
3月前
|
SQL 关系型数据库 MySQL
MySQL如何入门
MySQL如何入门
|
3月前
|
SQL 关系型数据库 MySQL
「Python入门」python操作MySQL和SqlServer
**摘要:** 了解如何使用Python的pymysql模块与MySQL数据库交互。首先,通过`pip install pymysql`安装模块。pymysql提供与MySQL的连接功能,例如创建数据库连接、执行SQL查询。在设置好MySQL环境后,使用`pymysql.connect()`建立连接,并通过游标执行SQL(如用户登录验证)。注意防止SQL注入,使用参数化查询。增删改操作需调用`conn.commit()`来保存更改。pymssql模块类似,但导入和连接对象创建略有不同。
50 0
「Python入门」python操作MySQL和SqlServer
|
3月前
|
SQL 关系型数据库 MySQL
【MySQL从入门到精通】常用SQL语句分享
【MySQL从入门到精通】常用SQL语句分享
48 2