1、MySQL是一个开放源代码的数据库管理系统(DBMS),跨平台的开源关系型数据库管理系统,适用于中小型网站开发。
2、数据库的发展阶段:人工管理阶段,文件系统给阶段,数据库系统阶段,高级数据库阶段。
3、数据库的种类:层次式数据库、网络式数据库、关系式数据库。(不同种类的数据库按不同的数据结构来联系和组织)
4、数据库是一个长期存在计算机内的,有组织的、有共享的、统一管理的数据集合;一个按数据结构来存储和管理计算机软件系统;包含两层意思:保管数据的“仓库”,以及管理的方法和技术。
5、表:在关系数据库中,是一系列的二维数组的集合,用来存储数据和操作数据的逻辑结构。纪录——行,字段(属性)——列。
6、主键(主码):用于唯一标识表中的每一条纪录。可以定义表中的一个或者多个列为主键,主键列上不能有相同的值,也不能为空,
7、数据库系统(硬件和软件)组成:
数据库:用于存储数据。
数据库管理系统:用于管理数据库软件。
数据库应用程序:管理数据库的软件补充。
8、SQL包含4个部分:
数据定义语言DDL:DROP,CREATE,ALTER等语句。
数据操作语言DML:INSERT,UPDATE,DELETE
数据查询语言DQL:SELECT.
数据控制语言DCL:GRANT,REVOKE,COMMIT,ROLLBACK等。
9、数据库的访问接口
ODBC:开放数据库互联,访问不同的SQL数据库提供了一个共同的接口,使用SQL作为访问标准,统一的方式处理所有的数据库。
JDBC:JAVA数据库连接,用于Java应用程序连接数据库的标准方法。
ADO.NET:微软在.NET框架下开发设计的一组用于和数据源进行交互的面向对象类库。
PDO:为PHP访问数据库定义了一个轻量级、一致性的接口,它提供了一个数据访问抽象层。
10、数据库引擎:是数据库的底层软件,DBMS使用引擎进行创建、查询、更新、删除数据库操作。MySQL的核心就是存储引擎。
MySQL5.7支持的存储引擎有:InnoDB,MyISAM,Memory,Merge,Archieve,Federated,CVS,BLACKHOLE。
show engines \G 用于查看引擎类型,其中G用于表示格式。
关于存储引擎的选择:
a.要求提供提交、回滚、崩溃恢复能力的事务安全能力,实现并发控制,用InnoDB.(InnoDB是事务型数据库的首选,支持事务安全表(ACID),支持行锁和外键。)
b.如果数据库主要用来插入和查询记录,MyISAM能提供高的处理效率。
c.如果只是临时存放,数据量不大也不需要较高的安全性,选择将数据保存在内存中的Memory引擎,mysql使用该引擎做临时表,存放查询的中间结果。
d.如果只有INSERT和SELECT 操作,可以选择Archive引擎,适合存储归档数据库。6、补充ACID:
一个事务本质上有四个特点的ACID:原子性(要么做要么不做)、一致性(指出于一种状态)、隔离性(隔离让我们隐藏来自外部世界未提交的状态变化,一个失败的事务不应该破坏系统的状态。隔离是通过用悲观或乐观锁机制实现的)、永久性。