MySQL
1. 数据库的介绍
数据库(Database,简称DB)是按照数据结构来组织、存储和管理数据的仓库。它是长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。
数据库是一个文件集合,本质就是一个文件系统,它按照特定的格式把数据存储起来,用户可以对存储的数据进行增删改查操作。这些数据可以是数字、文字、图形、图像、声音、语言等,它们被存放在结构化的数据表里,并按一定顺序排列组合。
数据库具有原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)四个特性。根据数据结构的不同,数据库通常分为关系型数据库(SQL)和非关系型数据库(NoSQL)。 关系型数据库如Oracle、MySQL、SQL Server等,具有易于维护、使用方便、多表复杂操作友好度高等优点,但大批量数据的读写效率较差,表结构固定,灵活度稍欠。非关系型数据库如Redis、MongoDB等,则具有存储数据的格式灵活、速度快效率高、可扩展性强等优点,但不支持或有限支持SQL,数据结构相对复杂,学习和使用的成本高。
数据库管理系统(DBMS)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。 常见的数据库管理系统有MySQL、SQL Server、Oracle和DB2等。
数据库的发展史可以追溯到最早的通过大量的分类、比较和表格绘制的机器运行数百万穿孔卡片来进行数据的处理,其运行结果在纸上打印出来或者制成新的穿孔卡片。随着计算机的广泛应用,传统的文件系统已经不能满足人们对数据共享的需求,于是能够统一管理和共享数据的数据库管理系统应运而生。
在生活中,人们可以直接用中文、英文等自然语言描述客观事物,但在计算机中,需要抽象出对这些事物感兴趣的特征,并组成一个记录来描述。例如,在学生档案中,学生信息是由学号、姓名、性别、年龄、籍贯、联系电话等特征组成的,那么这些具体的特征值所构成的一条记录就是一个学生的信息数据。
1.2 主流数据库
SQL Sever: 微软的产品,.Net程序员的最爱,中大型项目。
Oracle: 甲骨文产品,适合大型项目,复杂的业务逻辑,并发一般来说不如MySQL。
MySQL:世界上最受欢迎的数据库,属于甲骨文,并发性好,不适合做复杂的业务。主要用在电商,SNS,论坛。对简单的SQL处理效果好。
PostgreSQL :加州大学伯克利分校计算机系开发的关系型数据库,不管是私用,商用,还是学术研究使用,可以免费使用,修改和分发。
SQLite: 是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。
H2: 是一个用Java开发的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中。
2. MySQL的介绍
MySQL是一个关系型数据库管理系统(RDBMS),由瑞典的MySQL AB公司开发,目前属于Oracle旗下产品。它是最流行的关系型数据库管理系统之一, 特别是在WEB应用方面,MySQL被认为是最好的RDBMS应用软件之一。
关系型数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这种设计增加了速度并提高了灵活性。 MySQL所使用的SQL(Structured Query Language,结构化查询语言)是用于访问数据库的最常用标准化语言,这使得用户可以通过编写SQL语句来查询、插入、更新和删除数据库中的数据。
MySQL软件采用了双授权政策,分为社区版和商业版。 由于其体积小、速度快、总体拥有成本低,并且开放源代码,MySQL成为了中小型和大型网站开