引领中国IT教育新模式、新理念、新成效!
WEB前端框架: 电脑版  |  手机H5版  |  手机APP版  |  WEB后端框架:PHP框架
在线手册
  1. 章节
请输入查询条件...

MySQL入门到精通

原文出处:www.codedata.com.tw/tag/mysql   

作者:張益裕 

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章: 数据库概论与 MySQL 安装   SELECT 基础查询   表达式和函数   JOIN 和 UNION 查询   CRUD 和数据维护   字符集和数据库   储存引擎和数据类型   表格和索引   子查询   视图   预处理语句   存储过程入门   存储过程的变量和流程   存储过程进阶   触发器   资料库资讯   错误处理和查询   导入和导出数据   性能   在第一章介绍基本的资料库概念与安装需要的软体后,第二章到第五章讨论基本的新增、修改、删除和查询;第六章到第八章讨论资料库、表格和索引的建立与管理,这个部份的内容会有比较多MySQL独有的特色;第九章是子查询;第十章到第十五章讨论资料库进阶的应用,这些在其它资料库产品都会提供类似的技术,例如Oracle的PL/SQL;第十六章到第十九章讨论的内容比较偏向于资料库管理和效率的进阶应用,这些也是一个开发人员需要了解的。