数据库,对每一个对计算机有兴趣的人来说,都是学习或应用练习的重中之重。记得在刚进大学那会,导师就强调..、...、...、数据库、...、...等七门课是要重点研究的。果真,大一的时候就开了好几门数据库的前导课程,由此可见数据库的重要性。
那么,什么数据库呢??
以下是wiki的解释:
数据库是以一定组织方式储存在一起的,能为多个用户共享的,具有尽可能小的冗余度的、与应用彼此独立的相互关联的数据集合。它是电脑化的数据保存系统。数据库本身可视为电子化的文件柜——存储电脑化文件的处所,用户可以新增文件或删除文件,也可以对文件中的数据运行新增、截取、更新、删除等操作。
以下是我的理解:
在我们没有接触数据库之前,我们写的程序一般是以变量或常量的形式保存在内存当中。这样就会产生一个很大的问题,一旦程序关闭或系统断电等,这些数据都会丢失。那么,如果我们想要保存某些重要数据,让我们能在任意时刻重新用到它?很简单,将数据以某种规则写在一个文件当中保存。
用文件保存数据时比较麻烦的,首先,你必须考虑保存数据的格式或者规则,然后,编写代码存储数据,当然你在读取数据的时候也要按你存储的格式获取信息。即使Java本身提供了存储对象的类,比如ObjectInputStream和ObjectOutputStream,你还是可能碰到一个致命的问题,当你移动程序的位置的时候,你可能找不到存储数据的文件了。
所以说,用自定义文件保存数据是一个低效率的事情。
数据库能解决这些问题!!!
数据库的本质其实是别人写的比较高效的数据保存文件。它封装了你存储数据和读取数据的一切细节,存储数据变得如此简单:你只需告诉数据库你要存储的数据和存储路径(即dateBase名字和Table名字)就能存储数据,同理可得到数据。
SQL:
SQL全名是结构化查询语言(Structured Query Language),是一种标准化得数据库管理语言,最早由IBM公司定义和使用。SQL已经被国际标准组织采纳,成为了一种标准。
PS:由于各种通行的数据库在实现的时候,都不同程度的对SQL进行了修改或扩展,因此,SQL不能做到在所有数据库中的完全的通行。
SQL的语句按功能可以分为3类:“数据定义语言”(DDL : Data Definition Language)、“数据操纵语言”(DML : Data Manipulation Language)、“数据控制语言”(DCL : Data Control Language)。
DDL:负责数据结构定义和数据对象的定义,包括3种语法:create、alter、drop。即创建,修改(数据库或表),删除(删除数据库或者表)
DML:负责数据库对象运行数据访问工作的指令集,包括:insert、update、delete。即插入数据、修改数据、删除数据
当然,还包括限定过滤数据的where语法
DCL:负责对数据库访问权的控制的指令集,包括:grant和revoke
学习SQL的时候要注意的是:SQL语言是一种语言,更是一种规则,更是一种’死‘的东西。它的规则并不复杂,而且可以说是很简单的。最后要说的是,对于SQL,熟能生巧。
关于在Java程序中调用数据库,这个叫做JDBC编程,下一篇总结讲