有很多来自朋友的消息说他们想阅读SQL学习文章。尽管excel和python现在比SQL更流行,但我仍然觉得我需要开始编写SQL。经过长时间的思考,我决定通过比较excel来学习SQL,所以这是一篇为小白写的SQL学习文章。
一、什么是数据库?
大家都有过下面这样的经历吧?
收到曾经为自己诊治过的牙医寄来的明信片,上面写着“距上次检查已有半年,请您再来做个牙齿健康检查”。在生日的前一个月,收到曾入住过的旅店或宾馆发来的“生日当月入住优惠”的邮件或者明信片。在网上商城购物之后,收到内附“推荐商品列表”的邮件。
这可能是因为牙医、旅店或商城的经营者掌握了顾客上一次的就诊日期、生日和购买历史等信息,并且拥有能够从大量汇总信息中快速获取所需信息(比如你的住址或爱好)的设备(计算机系统)。如果利用人工完成同样的工作,真不知道要多长时间呢。
另外,现在所有地区的图书馆都配备了计算机,实现了图书的自动查询。使用该系统,可以通过检索书名或出版年份快速查找出希望借阅的图书的所在位置,以及是否已经借出等信息。正是因为拥有了可以保存图书名称、出版年份以及保管位置和外借情况等信息,并且可以按需查询的设备,才使这一切成为可能。
像这样将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合称为数据库(Database,DB)。将姓名、住址、电话号码、邮箱地址、爱好和家庭构成等数据保存到数据库中,就可以随时迅速获取想要的信息了。
二、数据库管理系统(DBMS)
用来管理数据库的计算机系统称为数据库管理系统(Database Management System,DBMS)。为什么要使用专用系统(DBMS)来管理数据呢?我们通过计算机管理数据的时候,通常使用文本文件或者Excel 那样的电子制表软件就可以完成了,非常简单。但也有不足。下面就举几个有代表性的例子。
无法多人共享数据保存在已连接网络的计算机中的文件,可以通过共享设定实现多个用户在线阅读或编辑。但是,当某个用户打开该文件的时候,其他用户就无法进行编辑了。如果是网上商城的话,当某个用户购买商品的时候,其他用户就无法购买了。
无法提供操作大量数据所需的格式要想瞬间从几十万或者上百万的数据中获取想要的数据,必须把数据保存为适当的格式,但是文本文件和Excel 工作表等无法提供相应的格式。
三、什么是SQL
SQL是为操作数据库而开发的语言,它原本是为了提高数据库查询效率而开发的语言,但是现在不仅可以进行数据查询,就连数据的插入和删除等操作也基本上都可以通过SQL 来完成了。
国际标准化组织(ISO)为SQL 制定了相应的标准,以此为基准的SQL 称为标准SQL。
以前,完全基于标准SQL 的RDBMS 很少,通常需要根据不同的RDBMS来编写特定的SQL 语句。这样一来,就会造成能够在Oracle 中使用的SQL 语句却无法在SQL Server 中使用,反之亦然。近来,对标准SQL 的支持取得了一些进展,因此希望准备学习SQL 的人们能够从现在开始就牢记标准SQL 的书写方式。
四、怎么入门SQL?
近年来,和其他系统领域一样,数据库领域也实现了飞速发展,应用范围不断扩大,不但出现了具有新功能的数据库,而且操作的数据量也大幅增长。
估计很多读者今后都会慢慢积累各个领域、各种规模的系统开发经验(或者可能已经开始从事开发方面的工作了),到那时,所有的系统必定都需要使用数据库。它们使用的数据库,即便不是关系数据库,也一定是以关系数据库为基础的数据库。从这个意义上看,如果掌握了关系数据库和 SQL,就能成为任何系统开发都需要的数据库专家了。
下面分享一本口碑不错的SQL入门书,它介绍了时下最流行的数据库——关系数据库,这也是理解其他数据库的基础。在系统领域,通常所讲的数据库指的就是关系数据库,其重要性可见一斑。
日本知名数据库工程师写给初学者的实用指南!
107张图表+209段代码+88个法则,让菜鸟完美进阶!
基于标准SQL编写,明示各RDBMS(PostgreSQL/DB2/MySQL/Oracle/SQL Server)的差异!
本书是编程学习系列的 SQL 和关系数据库篇。该系列注重对初学者编程能力的培养,本书秉承了这一宗旨。本书不仅可以用于自学,也可以作为大学、专科学校和企业新人的培训用书。书中提供了大量的示例程序和详实的操作步骤说明,大家可以亲自动手解决具体的问题,切实提高自身的编程能力。
另外,在各章的结尾处还安排了习题来帮助大家复习该章的知识要点,习题的答案和讲解收录在附录中
相关阅读
有很多来自朋友的消息说他们想阅读SQL学习文章。尽管excel和python现在比SQL更流行,但我仍然觉得我需要开始编写SQL。经过长
MySQL和SQL是什么?许多PHP初学者并不十分清楚MySQL、MyAdmin和SQL之间的区别。下面的将让您了解MySQL和SQL之间的区别。
sqlserver 触发器 何为触发器? 在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程
索引概念 它是一种为表中的给定字段提供存取路径的数据结构。 磁盘的IO 磁盘IO是非常高昂的操作,当一次IO时,不光把当前磁盘地址
使用PreparedStatement操作mysql数据库出现中文乱码问
背景: 在使用PreparedStatement执行setString(4, "我是中文");后,通过debug发现中文变成了???;这个肯定是编码问题,然后通过字符串和字