数据库:一个长期存储在计算机内的,有组织的,有共享的,统一管理的数据集合。他是一个按数据结构来存储和管理数据的计算机软件系统,即数据库包含两层含义:保管数据的“仓库”,以及数据管理的方法和技术。
数据库的特点包括:实现数据共享,减少数据冗余;采用特定的数据类型:具有较高的数据独立性;具有统一的数据控制功能
表
在关系数据库中,数据库表是一系列二维数组的集合,用来存储数据和操作数据的逻辑结构。它由纵向的列和横向的行组成,行被称为记录,是组织数据的单位;列被称为字段,每一列表示记录的一个属性,都有相应的描述信息,如数据类型,数据宽度等。
数据类型
常用的数据类型有:整数,浮点数,精确小数,二进制数据,日期/时间,字符串
主键
主键又称主码,用于唯一的标识表中 的每一条记录。可以定义表中的一列或多列为主键,主键列上不能有两行相同的值,也不能为空值
数据库系统
数据库系统有3个主要的组成部分
- 数据库:用于存储数据的地方,可能包含很多文件,一个数据库系统通常包含许多数据库
- 数据库管理系统:用于管理数据库的软件,由用户创建、管理、和维护数据库时所使用的软件,位于用户和操作系统之间,对数据库进行统一管理
- 数据库应用程序:为了提高数据库系统的处理能力所使用的管理系统的软件补充
SQL语言
对数据库进行查询和修改操作的语言叫SQL,SQL包含以下4个部分:
- 数据定义语言(DDL):DROP、CREATE、ALTER等语句
- 数据操作语言(DML):INSERT(插入)、UPDATE(修改)、DELETE(删除)语句
- 数据查询语言(DQL):SELECT语句
- 数据控制语言(DCL):GRANT、REVOKE、COMMIT、ROLLBACK等语句
下面是一条SQL语句,声明创建一个名叫students的表
CREATE TABLE students
{
student_id INT UNSIGNED,
name VARCHAR(30),
sex CHAR(1),
birth DATE,
PRIMARY KEY (student_id)
}
该表包含4个字段,分别为student_id、name、sex、birth,其中student_id定义为表的主键。
现在只是定义了一张表格,但并没有任何数据,接下来这条SQL声明语句,将在students表中插入一条数据记录:
INSERT INTO students (student_id,name,sex,birth)
VALUES (41048101,"Lucy","1","1990-01-14")
执行完该SQL后,students表中就会增加一行新纪录
再使用SELECT查询语句获取刚才插入的数据
SELECT name FROM students WHERE student_id = 41048101
数据库访问接口
不同的程序设计语言会有各自不同的数据库访问接口,程序设计语言通过这些接口,执行SQL语句,进行数据库管理。主要的数据库访问接口有:
- ODBC(Open Database Connectivity开放数据库互连) 为访问不同的SQL数据库提供了一个共同的接口。不论是Access,MySQL还是Oracle数据库,均可用ODBC进行访问。
- JDBC(Java Data Base Connectivity) 用于Java应用程序连接数据库的标准方法,是一种用于执行SQL语句的Java API
- ADO.NET 是微软在.NET框架下开发设计的一组用于和数据源进行交互的面向对象类库。
- PDO(PHP Data Object)
针对不同的程序语言,MySQL提供了不同数据库的访问连接驱动,可在http://dev.MySQL.com/downloads下载相关驱动
MySQL能够工作在众多不同的系统平台上,Windows,Linux,Unix,Mac OS等。提供了用于C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等语言的API。
MySQL工具
MySQL数据库管理系统提供了许多命令行工具,这些工具可以用来管理MySQL服务器、对数据库进行访问控制、管理MySQL用户及数据库备份和恢复工具等。而且MySQL提供了图形化的管理工具,这使得对数据库的操作更加简单。
安装与配置
MySQL支持多种平台,不同平台下的安装和配置过程也不相同。