无法简单的用是或不是来解答。
最核心的,要考虑应用SQL和数据的场景是什么。比如您是学习SQL和数据库为了工作,还是仅仅是学习而不用来做事情。
为了工作而学习SQL和数据库,没有学不好的
如果您为了工作需要而学习SQL和数据库,想要不学好都难,因为您不学好工作就丢了,您要面对的首要问题是学什么、如何学的问题,这时候难不难已经不重要了,学会并用来干活才是第一要务。
如果为了工作需要,那要看您工作上用的数据库是那种数据库,虽然不同数据库之间的SQL语句绝大多数情况下是相通的,但不同的数据库系统对SQL的支持还是有差别的。比如Oracle和MySQL使用的PL/SQL,SQLServer使用的T-SQL,虽然都说自己兼容ANSI-SQL,但毕竟还是有些差别的。
明确了工作要用的数据库,接下来就是学习方法问题了。我下面就以SQLServer为例,说一下怎样可以快速入门。
首先,您要尽快熟悉SQLServer的管理器。老版的SQLServer2000中,管理器分两个,一个叫做企业管理器、一个叫做查询分析器,通俗来说,企业管理器是傻瓜化的管理界面,主要用来创建数据库、创建表、备份数据库等,查询分析器主要用来写SQL脚本;从2000之后,企业管理器和查询分析器就整合一起了,名字叫做Microsoft SQL Sever Management Studio,简称MSSMS,您可以看作是整合了傻瓜界面和SQL脚本。熟悉了工具,您干活才有基础。
其次,您要尽快掌握SQLServer管理器的常用操作。平时我们在MSSMS中常用的操作,主要包括创建数据库、创建表、备份数据库、还原数据库,这些虽然可以通过SQL脚本实现,但通过图形界面会更直观,还包括诸如导出表数据、导入外部Excel数据等,都要尽快掌握。这些操作平时经常用。
最后,您要尽快掌握基本的SQL语法,并在以后的工作中尽快提高自己的SQL水平。常用的SQL语法,无外乎查询、插入、更新、删除等,相关的语法都比较简单,但要结合工作需要实现各种个性化需求就不太容易了。在工作中不停的解决各种实际问题,您的SQL水平自然就会越来越高啦。
为了只是储备而学习SQL和数据库,不下功夫很难学好
俗话说学以致用,如果您不是为了眼下的工作学习SQL和数据库,想要学好确实不容易。SQL语法是很枯燥的,没有具体的场景结合,根本很难深入进去。
所以,如果为了知识储备学习SQL和数据库,最重要,您要自己创造一个场景,有了场景,才会有深入学习的兴趣。您可以着重以下几点:
首先,选择最有前途的数据库系统。ANSI-SQL虽然是标准的,但没有数据库系统的支撑,您写了SQL也无法验证成果,何谈学习的兴趣呢。建议您选择最有前途的数据库系统,我推荐首选PostgreSQL,pgSQL号称全世界最先进的开源数据库系统,没有任何商业应用限制、生命力极其旺盛、运行稳定坚若磐石、完美支持各种标准SQL语法、对JSON的支持是所有传统关系型数据库系统中最好的。推荐一个太单调,您也可以选择SQLServer、MySQL等,其实Oracle和MySQL本人并不推荐,MySQL已经被Oracle收购了而且快要玩儿坏了,对这种钻到钱眼儿里面的,联想一下目前美国的各种作为,指不定哪天给你一下子。
其次,创建一个完整的应用场景。没有场景是没办法提起兴趣的,没有场景可以创建场景,如何创建呢?最简单的,如果您是大学生,就搞一个完整的学生学籍应用场景;如果您是已经参加工作的刚好从事IT行业,可以根据行业潜在的应用需求模拟一个完整的应用场景。总之结合自己的职业和特长来做,这样您才能充分考虑您使用数据库要表达的都包含那些。
最后,通过SQL完整实现场景的各种应用需求。这才是正事儿。首先您要设计要完整表达场景,都需要建什么表、表之间都有那些关联关系、实现各种查询应该如何创建合理的视图、实现各种业务处理需要创建什么样的存储过程。场景模拟完了,您基本也把大部分SQL语法都用到了,自然而然就搞懂了数据库和SQL。
程序开发人员要与自己的程序实现融合
如果您是程序开发人员,学习数据库不要单纯学习数据库和SQL语句,而是要尽快与自己常用的编程环境融合起来。
比如您是Delphi、CC++或Java开发工程师,您选择了数据库之后,首要考虑的就是如何通过程序连接数据库、通过程序操控数据库。程序连接数据库的常见方式一般是ODBC,但常见的编程语言与常见的数据库之间,都会有独有的数据库驱动,您首要掌握的,就是如何使用数据库驱动。
大多的编程环境都会提供数据库连接和操控组件。比如Delphi中,就提供了ADO、FireDAC、UniDAC等多种连接方式,您要选择风头正盛的连接方式,比如ADO已经开始过时了,您可以选择FireDAC,掌握了连接方式和操控方式,您再把重点放在SQL脚本的各种语法处理上。
总之,学以致用才是学习的动力,如果您有明确的应用场景和目标,想要学好SQL和数据库一点都不难,您说呢?
亲身体会告诉你,纯理论,对着案例演示学习,难,本人大学学的计算机,在校的时候java,c语言,SQL都有学,单纯听老师讲,回去自己对着案例敲代码,真的是听着晕,敲的头疼,其实并不是没学会,除了语法记得住,但是好多组合的语句你,学的东西你完全不知道用来干嘛,不知道对应的应用场景,记得大学学期考试前,书都翻了好几遍,理论背的很熟,考完试就忘的一干二净,举个例子,三范式,大学时候就是硬背理论,完全不知道说的是什么,什么地方会用到这种规范。毕业后,进的第一家公司就是做数据服务,从此走上了这条不归路。一个刚从校门走出来的菜鸟,对着电脑除了知道客户端怎么使用,下拉滚动菜单,满屏幕的表,看着头就晕。等到你真正接触真实的项目,对业务有所了解,会发现,原来书本上说的原来会在这个地方用的上,基本上工作的第一个年头,遇到问题,就把大学时候的书拿过来翻一翻,这样没多久,原本大学时候翻几遍都记不住的东西,在工作中慢慢的就记住了,而且很难忘掉。自学学的是基础,只是入门而已,太多学习的东西大都在工作中不断的积累,遇到问题,自己去检索,去问资深的同事同行。所以自SQL 入门即可,不要想着只是自学就达到别人工作好多年的水平,也许你可以,但是没有工作中用实际项目带着你学的效率。
原创文章,作者:普尔小编,如若转载,请注明出处:http://www.puerpx.cn/pxwd/9764.html