MySQL是一个开放源代码的数据库管理系统(DBMS),是由MySQL 公司开发、发布并支持的。 MySQL是一个跨平台的开源关系型数据库管理系统,广泛地应用在Internet上的中小型网站开发中。

1、数据库基础

数据库由一批数据构成有序的集合,这些数据被存放在结构化的数据表里。数据表之间相互关联,反映了客观事物间的本质联系。数据库系统提供对数据的安全控制和完整性控制。

1.1 什么是数据库

数据库的概念诞生于60年前,随着信息技术和市场的快速发展,数据库技术层出不穷,随着应用的拓展和深入,数据库的数量和规模越来越大,其诞生和发展给计算机信息管理带来了一场巨大的革命。数据库的发展大致划分为如下几个阶段:人工管理阶段、文件系统阶段、数据库系统阶段、高级数据库阶段。其种类大概有3种:层次式数据库、网络式数据库和关系式数据库。不同种类的数据库按不同的数据结构来联系和组织。对于数据库的概念,没有一个完全固定的定义,随着数据库历史的发展,定义的内容也有很大的差异,其中一种比较普遍的观点认为,数据库(DataBase,DB)是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合。它是一个按数据结构来存储和管理数据的计算机软件系统。数据库包含两层含义:保管数据的“仓库”,以及数据管理的方法和技术。 数据库的特点是:实现数据共享,减少数据冗余;采用特定的数据类型;具有较高的数据独立性;具有统一的数据控制功能。

1.2 表

在关系数据库中,数据库表是一系列二维数组的集合,用来存储数据和操作数据的逻辑结构。它由纵向的列和横向的行组成。行被称为记录。是组织数据的单位。列被称为字段,每一列表示记录的一个属性,有相应的描述信息,如数据类型、数据宽度等。 比如我们有个员工表,用于保存员工的基本信息

mysql数据库和sql数据库的区别 mysql与数据库的关系_数据库

1.3 数据类型

数据类型决定了数据在计算机中的存储格式,代表不同的信息类型。常用的数据类型有整数数据类型、浮点数数据类型、精确小数类型、二进制数 据类型、日期/时间数据类型、字符串数据类型。表中的每一个字段就是某种指定数据类型。

类型

大小

范围(有符号

范围(无符号

用途

TINYINT

1 Bytes

(-128,127)

(0,255)

小整数值

SMALLINT

2 Bytes

(-32 768,32 767)

(0,65 535)

大整数值

MEDIUMINT

3 Bytes

(-8 388 608,8 388 607)

(0,16 777 215)

大整数值

INT或 INTEGER

4 Bytes

(-2 147 483 648, 2 147 483 647)

(0,4 294 967 295)

大整数值

BIGINT

8 Bytes

(-9,223,372,036,854,775,808, 9 223 372 036 854 775 807)

(0, 18 446 744 073 709 551 615)

极大整数值

FLOAT

4 Bytes

单精度浮点数值

DOUBLE

8Bytes

双精度浮点数值

DECIMAL

对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2

小数值

日期和时间类型 表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。

类型

大小

范围

格式

用途

DATE

3

1000-01-01/9999-12-31

YYYY-MM-DD

日期值

TIME

3

'-838:59:59'/'838:59:59'

HH:MM:SS

时间值或持续时间

YEAR

1

1901/2155

YYYY

年份值

DATETIME

8

1000-01-01 00:00:00/9999- 12-31 23:59:59

YYYY-MM-DD HH:MM:SS

混合日期和时间值

TIMESTAMP

4

1970-01-01 00:00:00/2038

YYYYMMDD HHMMSS

混合日期和时间值,时间戳

字符串类型

字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT。该节描述了这些类型如何工作以及如何在查询中使用这些类型。

类型

大小

用途

CHAR

0-255 bytes

定长字符串

VARCHAR

0-65535 bytes

变长字符串

BLOB

0-65 535 bytes

二进制形式的长文本数据

TEXT

0-65 535 bytes

长文本数据

主键 主键(Primary Key)又称主码,用于唯一地标识表中的每一条记录。可以定义表中的一列或多列为主键,主键列上既不能有两行相同的值,也不能为空值。假如,定义authors表,该表给每一个作者分配一个“作者编号”,该编号作为数据表的主键,如果出现相同的值,将提示错误,系统不能确定查询的究竟是哪一条记录;如果把作者的“姓名”作为主键,则不能出现重复的名字,这与现实中的情况不符,因此“姓名”字段不适合作为主键。

1.4 数据库技术构成

数据库系统由硬件部分和软件部分共同构成。硬件主要用于存储数据库中的数据,包括计算机、存储设备等。软件部分主要包括DBMS、支持DBMS运行的操作系统,以及支持多种语言进行应用开发的访问技术等。 数据库系统 数据库系统有3个主要的组成部分 ● 数据库:用于存储数据的地方。 ● 数据库管理系统:用于管理数据库的软件。 ● 数据库应用程序:为了提高数据库系统的处理能力所使用的管理数据库的软件补充。 数据库系统(Database System)提供了一个存储空间,用以存储各种数据,可以将数据库视为一个存储数据的容器。一个数据库可能包含许多文件,一个数据库系统中通常包含许多数据库。 数据库管理系统(DataBase Management System,DBMS)是用户创 建、管理和维护数据库时所使用的软件,位于用户与操作系统之间,对数据库进行统一管理。DBMS能定义数据存储结构,提供数据的操作机制,维护数据库的安全性、完整性和可靠性。 数据库应用程序(DataBase Application)虽然已经有了DBMS,但是在很多情况下,DBMS无法满足对数据管理的要求。数据库应用程序的使用可以满足对数据管理的更高要求,还可以使数据管理过程更加直观和友好。数据库应用程序负责与DBMS进行通信,访问和管理DBMS中存储的数据,允许用户插入、修改、删除DB中的数据。

1.4.1 SQL语言

对数据库进行查询和修改操作的语言叫作SQL。SQL的含义是结构化查询语言(Structured Query Language)。 SQL有许多不同的类型,有3个主要的标准:ANSI(美国国家标准机构)SQL;对ANSI SQL修改后在 1992年采纳的标准,称为SQL-92或SQL2; 近的SQL-99标准,从SQL2 扩充而来并增加了对象关系特征和许多其他新功能。各大数据库厂商提供不同版本的SQL。这些版本的SQL不但能包括原始的ANSI标准,而且在很大程度上支 持SQL-92标准。

SQL语言包含以下4部分。 (1) 数据定义语言(Data Definition Language DDL):DROP、CREATE、ALTER等语句。 (2) 数据操作语言(Data Manipulation Language DML):INSERT(插入)、UPDATE(修改)、DELETE(删除)语句。 (3) 数据查询语言(Data Query Language DQL):SELECT语句。 (4) 数据控制语言(Data Control Language DCL):GRANT、REVOKE、COMMIT、 ROLLBACK等语句。

1.4.2 数据库接口

不同的程序设计语言会有各自不同的数据库访问接口,程序语言通过这 些接口执行SQL语句,进行数据库管理。主要的数据库访问接口有ODBC、 JDBC、ADO.NET和PDO【PHP】。

JDBC(Java Data Base Connectivity,Java数据库连接)用于Java应用程 序连接数据库的标准方法,是一种用于执行SQL语句的Java API,可以为多 种关系数据库提供统一访问,由一组用Java语言编写的类和接口组成。