篇首语:本文由编程笔记#小编为大家整理,主要介绍了MySQL入门篇!聊聊数据库与MySQL的相关概念相关的知识,希望对你有一定的参考价值。
表
- 在关系型数据库中,数据库表是一系列二维数组的集合,用来存储数据和操作数据的逻辑结构。它由纵向的列和横向的行组成,行称为记录,是组织数据的单位;列被称为字段,每一列表示记录的一个属性,都有相应的描述信息,如数据类型、数据宽度等
- 例如下面是一个关于作者信息的authros表
数据类型
- 数据类型决定了数据在计算机中的存储格式,代表不同的信息类型。常用的数据类型有整数数据类型、浮点数数据类型等等
- 表中的每一个字段就是某种指定数据类型,比如上图中的"编号"字段为整数类型,"性别"字段为字符型数据
主键
- 主键(Primary Key)又称主码,用于唯一地标识表中的每一条记录。可以定义表中的一列或多列为主键,主键列上不能有两行相同的值,也不能为空值。
- 假如上面定义authros表,该表给每一个作者分配一个"作者编号",该编码作为数据表的主键,如果出现相同的值,将提示错误,系统不能确定查询的究竟是哪一条记录;如果把作者的"姓名"作为主键,则不能出现重复的名字,这与现实中的情况不相符合,因此"姓名"字段不适合作为主键。
ODBC
- ODBC(开放数据库互连)技术为访问不同的SQL数据库提供了一个共同的接口
- DOBC使用SQL作为访问数据的标准,这一接口提供了最大限度的互操作性。一个应用程序可以通过共同的一组代码访问不同的SQL数据库管理系统(DBMS)
- 一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是Access、MySQL还是Oracle数据库,均可用ODBC API进行访问
- 最大的优点:能以统一的方式处理所有的数据库
JDBC
- 用于java应用程序连接数据库的标准方法,是一种用于执行SQL语句的java API,由一组用java语言编写的类和接口组成
AOD.NET
- 是微软在.NET框架下开发设计的一组用于和数据源进行交互的面向对象类库
- AOD.NET提供了对关系数据、XML和应用程序数据的访问
PDO
- PDO为PHP访问数据库定义了一个轻量级、一致性的接口,它提供了一个数据访问抽象层,这样,无论使用什么数据库,都可以通过一致的函数执行查询和获取数据。
- PDO是php 5新加入的一个重大功能
版本命名规范
- MySQL的命名机制由3个数字和1个后缀组成。
- 例如:MySQL-5.7.10
- (1)第1个数字5是主版本号,描述了文件格式,所有版本5的发型版都有相同的文件格式。
- (2)第2个数字7是发行级别,主版本号和发行级别组合在一起便构成了发行序列号。
- (3)第3个数字10是在此发行系列的版本号,随每次新分发版本递增。通常选择已经发行的最新版本。
MySQL服务器端实用工具程序
- mysqld:SQL后台程序(即MySQL服务器进程)。该程序必须运行之后,客户端才能通过连接服务器来访问数据库
- mysqld_safe:服务器启动脚本。在UNIX和NetWare中推荐使用mysql_safe来启动mysqld服务器
- mysql.server:服务器启动脚本。在UNIX中的MySQL分发版包括mysql.server脚本。该脚本用于使用包含特定级别的、运行启动服务的脚本、运行目录的系统。它调用mysqld_safe来启动MySQL服务器
- mysql_multi:服务器启动脚本,可以启动或停止系统上安装的多个服务器
- myisamchk:用来描述、检查、优化和维护MyISAM表的实用工具
- mysqlbug:MySQL缺陷报告脚本。它可以用来向MySQL邮件系统发送缺陷报告
- mysql_install_db:该脚本用默认权限创建的MySQL授权表。通常只是在系统上首次安装MySQL时执行一次
MySQL客户端实用工具程序
- myisampack:压缩MyISAM表以产生更小的只读表的一个工具
- mysql:交互式输入SQL语句或从文件以批处理模式执行它们的命令行工具
- mysqlaccess:检查访问主机名、用户名和数据库组合的权限的脚本
- MySQLadmin:执行管理操作的客户程序、。例如创建或删除数据库、重载授权表、将表刷新到硬盘上、以及重新打开日志文件。还可以用来检索版本、进程,以及服务器的状态信息
- mysqlbinlog:以二进制日志读取语句的工具。在二进制日志文件中包含执行过的语句,可用来帮助系统从崩溃中恢复
- mysqlcheck:检查、修复、分析以及优化表的表维护客户程序
- mysqldump:将MySQL数据库转储到一个文件中(例如SQL语句或tab分隔符文本文件)的客户程序
- mysqlhotcopy:当服务器在运行时,快速备份MyISAM或ISAM表的工具
- mysql import:使用LOAD DATA INFILE将文本文件导入相关表的客户程序
- mysqlshow:显示数据库、表、列以及索引相关信息的客户程序
- perror:显示系统或MySQL错误代码含义的工具
版本3.23(2001)
- 一般认为这个版本的发布是MySQL真正“诞生”的时刻,其开始 获得广泛使用。在这个版本,MySQL依然只是一个在平面文件 (Flat File)上实现了SQL查询的系统。但一个重要的改进是引入 MyISAM代替了老旧而且有诸多限制的ISAM引擎。InnoDB引擎也 已经可以使用,但没有包含在默认的二进制发行版中,因为它太新 了。所以如果要使用InnoDB,必须手工编译。版本3.23还引入了全 文索引和复制。复制是MySQL成为互联网应用的数据库系统的关 键特性(killer feature)
版本4.0(2003)
- 支持新的语法,比如UNION和多表DELETE语法。重写了复制, 在备库使用了两个线程来实现复制,避免了之前一个线程做所有复 制工作的模式下任务切换导致的问题。InnoDB成为标准配备,包括了全部的特性:行级锁、外键等。版本4.0中还引入了查询缓存 (自那以后这部分改动不大),同时还支持通过SSL进行连接
版本4.1(2005)
- 引入了更多新的语法,比如子查询和INSERT ON DUPLICATE KEY UPDATE。开始支持UTF-8字符集。支持新的二进制协议和 prepared语句
版本5.0(2006)
- 这个版本出现了一些“企业级”特性:视图、触发器、存储过程 和存储函数。老的ISAM引擎的代码被彻底移除,同时引入了新的 Federated等引擎
版本5.1(2008)
- 这是Sun收购MySQL AB以后发布的首个版本,研发时间长达 五年。版本5.1引入了分区、基于行的复制,以及plugin API(包括 可插拔存储引擎的API)。移除了BerkeyDB引擎,这是MySQL最早 的事务存储引擎。其他如Federated引擎也将被放弃。同时Oracle收 购的InnoDB Oy (Oracle也已经收购了MerkeyDB)发布了InnoDB plugin
版本5.5(2010)
- 这是Oracle收购Sun以后发布的首个版本。版本5.5的主要改善 集中在性能、扩展性、复制、分区、对微软Windows系统的支持, 以及一些其他方面。InnoDB成为默认的存储引擎。更多的一些遗 留特性和不建议使用的特性被移除。增加了PERFORMANCE_SCHEMA 库,包含了一些可测量的性能指标的增强。增加了复制、认证和审 计API。半同步复制(semisynchronous replication)插件进入实用阶 段。Oracle还在2011年发布了商用的认证插件和线程池(thread pooling)。InnoDB在架构方面也做了较大的改进,比如多个子缓 冲池(buffer pool)。
版本5.6
- 版本5.6将包含一些重大更新。比如多年来首次对查询优化器 进行大规模的改进,更多的插件API(比如全文索引),复制的改 进,以及PERFORMANCE_SCHEMA库增加了更多的性能指标。InnoDB 团队也做了大量的改进工作,这些改进在已经发布的里程碑版本和 实验室版本中都已经包括。MySQL 5.5主要着重在基础部分的改进 和加强,引入了部分新特性。而MySQL 5.6则在MySQL 5.5的基础 上提升服务器的开发和性能。