mysql01-初识MySQL

1、数据库基础

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

1、数据库

  • 数据库的发展大致划分为如下几个阶段:
    • 人工管理阶段
    • 文件系统阶段
    • 数据库系统阶段
    • 高级数据库阶段
  • 数据库种类大概有3种:
    • 层次式数据库
    • 网络式数据库
    • 关系式数据库
  • 不同种类的数据库按不同的数据结构来联系和组织。
  • 数据库(DataBase, DB)是一个长期在储在计算机内的、有组织的、有共享的、统一管理数据集合。它是一个按数据结构来存储和管理数据的计算机软件系统,即数据库包含两层含义:保管数据的“仓库”,以及数据管理的方法和技术。
  • 数据库的特点包括:实现数据共享,减少数据冗余;采用特定的数据类型;具有较高的数据独立性;具有统一的数据控制功能

2、数据表

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

2、数据库技术构成

  • 数据库系统由硬件部分和软件部分共同构成。
    • 硬件主要用于存储数据库中的数据,包括计算机、存储设备等。
    • 软件则主要包括DBMS、支持DBMS运行的操作系统,以及支持多种语言进行应用开发的访问技术等。

1、数据库系统

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

2、SQL语言

  • 对数据库进行查询和修改操作的语言叫做SQL。
  • SQL的含义是结构化查询语言(StructuredQuery Language)。
  • SQL有许多不同的类型,有3个主要的标准:
    • ANSI(美国国家标准机构) SQL。
    • 对ANSI SQL修改后在1992年采纳的标准,称为SQL-92或SQL2。
    • 最近的SQL-99标准,从SQL2扩充而来并增加了对象关系特征和许多其他新功能。
    • 各大数据库厂商提供不同版本的SQL,这些版本的SQL不但能包括原始的ANSI标准,而且在很大程度上支持SQL-92标准。
  • SQL包含以下4个部分:
    • 数据定义语言(DDL):DROP, CREATE,ALTER等语句。
    • 数据操作语言(DML):INSERT (插入),UPDATE (修改)、DELETE (删除)语句。
    • 数据查询语言(DQL):SELECT语句。
    • 数据控制语言(DCL):GRANT,REVOKE, COMMIT, ROLLBACK等语句。

3、数据库访问接口

  • 不同的程序设计语言会有各自不同的数据库访问接口,程序语言通过这些接口,执行sQL语句,进行数据库管理。

1、ODBC

  • Open Database Connectivity(ODBC,开放数据库互连)技术为访问不同的SQL数据库提供了一个共同的接口。
  • ODBC使用SQL作为访问数据的标准。这一接口提供了最大限度的互操作性:一个应用程序可以通过共同的一组代码访问不同的SQL数据库管理系统(DBMS)。
  • 一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是Access、MysQL还是Oracle数据库,均可用ODBC API进行访问。由此可见, ODBC的最大优点是能以统一的方式处理所有的数据库。

2. JDBC

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

3、ADO.NET

  • ADO.NET是微软在NET框架下开发设计的一组用于和数据源进行交互的面向对象类库。ADO.NET提供了对关系数据、XML和应用程序数据的访问,允许和不同类型的数据源以及数据库进行交互。

4、PDO

  • PDO(PHP Data Object)为PHP访问数据库定义了一个轻量级的、一致性的接口,它提供了一个数据访问抽象层,这样,无论使用什么数据库,都可以通过一致的函数执行查询和获取数据,PDO是PHP5新加入的一个重大功能。

3、什么是MySQL

  • MySOL是一个开放源代码数据库管理系统(DBMS)。
  • MySQL是一个跨平台的开源关系型数据库管理系统,广泛地应用在‘Internet’上的中小型网站开发中。
  • MySOL是一个小型关系数据库管理系统,与其他大型数据库管理系统(例如Oracle.DB2SQL Server等)相比,MySQL规模小、功能有限,但是它体积小、速度快、成本低,且它提供的功能对稍微复杂的应用来说已经够用,这些特性使得MySQL成为世界上最受欢迎的开放源代码数据库。
  • MySOL是主从式架构(Client-server model)或客户端-服务器(ClientServer)结构简称C/S结构。

1、MySOL的优势

  • 速度:运行速度快。
  • 价格: MySQL对多数个人来说是免费的。
  • 容易使用:与其他大型数据库的设置和管理相比,其复杂程度较低,易于学习。
  • 可移植性:能够工作在众多不同的系统平台上,例如: Windows、Linux、Unix、Mac OS等。
  • 丰富的接口:提供了用于C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等语言的API。
  • 支持查询语言: MySQL可以利用标准SQL语法和支持ODBC (开放式数据库连接)的应用程序。
  • 安全性和连接性:十分灵活和安全的权限和密码系统,允许基于主机的验证。连接
  • 到服务器时,所有的密码传输均采用加密形式,从而保证了密码安全。并且由于MysQL是网络化的,因此可以在因特网上的任何地方访问,提高数据共享的效率。

2、MySQL工具

1、MySQL服务器端实用工具

  • mysqld:SQL后台程序(即MySQL服务器进程)。该程序必须运行之后,客户端才能通过连接服务器来访问数据库。
  • mysqld_safe:服务器启动脚本。在UNIX和NetWare中推荐使用mysqld_safe来启动mysqld服务器。mysql_safe增加了一些安全特性,例如当出现错误时重启服务器并向错误日志文件写入运行时间信息。
  • mysql.server:服务器启动脚本。在UNIX中的MySQL分发版包括mysql.server脚本。该脚本用于使用包含为特定级别的、运行启动服务的脚本的、运行目录的系统。它调用mysqld_safe来启动MySQL服务器。
  • mysql_multi:服务器启动脚本,可以启动或停止系统上安装的多个服务器。
  • myisamchk:用来描述、检查、优化和维护MyISAM表的实用工具。
  • mysqlbug:MySQL缺陷报告脚本。它可以用来向MySQL邮件系统发送缺陷报告。
  • mysql_install_db:该脚本用默认权限创建MySQL授权表。通常只是在系统上首次安装MySQL时执行一次。

2、MySQL客户端实用工具

  • mysql:交互式输入SQL语句或从文件以批处理模式执行它们的命令行工具。
  • mysqlaccess:检查访问主机名、用户名和数据库组合的权限的脚本。
  • MySQLadmin:执行管理操作的客户程序,例如创建或删除数据库,重载授权表,将表刷新到硬盘上,以及重新打开日志文件。MySQLadmin还可以用来检索版本、进程,以及服务器的状态信息。
  • mysqlbinlog:从二进制日志读取语句的工具。在二进制日志文件中包含执行过的语句,可用来帮助系统从崩溃中恢复。
  • mysqlcheck:检查、修复、分析以及优化表的表维护客户程序。
  • mysqldump:将MySQL数据库转储到一个文件(例如SQL语句或tab分隔符文本文件)的客户程序。
  • mysqlhotcopy:当服务器在运行时,快速备份MyISAM或ISAM表的工具。
  • mysql import:使用LOAD DATA INFILE将文本文件导入相关表的客户程序。
  • mysqlshow:显示数据库、表、列以及索引相关信息的客户程序。
  • perror:显示系统或MySQL错误代码含义的工具。
  • myisampack:压缩MyISAM表以产生更小的只读表的一个工具。
#                                                                                                                   #
posted @ 2021-08-06 18:58  麦恒  阅读(120)  评论(0编辑  收藏  举报