《PHP和MySQL Web开发从新手到高手(第5版)》一一2.1 数据库简介

简介:
+关注继续查看

本节书摘来自异步社区出版社《PHP和MySQL Web开发从新手到高手(第5版)》一书中的第2章,第2.1节,作者: 【澳】Kevin Yank,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.1 数据库简介

PHP和MySQL Web开发从新手到高手(第5版)
数据库服务器(在我们的例子中,也就是是MySQL)是一个程序,它可以以一种有序的格式来存储大量的信息,而这种格式易于通过PHP这样的编程语言来访问。例如,你可以让PHP从数据库中找出你想要在自己的Web站点上显示的笑话的列表。

在这个例子中,笑话全部存储在数据库中。这种方式有两个优点:首先,我们可以编写一段单独的PHP脚本从数据库获取任意的笑话,并通过为其实时地生成一个HTML页面来显示它,而不必为每个笑话都编写一个HTML页面。其次,将笑话添加到Web站点将会变成一件简单的事情,只需要将其插入到数据库中就可以了。PHP代码将负责剩余的事情,当它从数据库获取列表的时候,将会自动显示新的笑话和其他的笑话。

让我们通过这个示例来观察,数据是如何存储到一个数据库中的。数据库包括一个或多个表(table),每个表包含了一系列的项(item,或事物)。对于笑话数据库来说,我们可能从一个叫作joke的表开始,这个表包含了笑话的列表。数据库中的每个表都有一个或多个列(column)又或字段(field)。每个列包含了关于表中的每一项的一些的信息。在这个示例中,笑话表可能有一个列用来表示笑话的文本内容,另一个列用来表示该笑话添加到数据库中的日期。每个笑话以所谓的行(row)或条目(entry)的方式存储在数据库中。表的行和列如图2.1所示。

image

注意,除了表示笑话文本的列(joketext)和表示笑话日期的列(jokedate),我还包含了一个叫作id的列。实际上,作为一种良好的设计,数据库的表应该总是提供一种方式以便我们可以唯一地识别每一行。由于同一天有可能输入两个内容相同的笑话,我们不能够依赖joketext和jokedate列来区分所有的笑话。因此,id列的功能是为每个笑话分配一个唯一的编号,以使我们以一种简单的方式来引用它们并且记录这个笑话是哪一个。我们将会在第5章中更进一步地介绍数据库设计问题。

图2.1中的表是一个三列两行(或条目)的表。表中的每一行包含了3个字段,每个字段表示表中的一列:笑话的ID,笑话的文本以及笑话的日期。理解了这些基本的术语,我们就准备好开始使用MySQL了。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
存储 Java 关系型数据库
[Java Web]MySQL数据库|一文带你了解并熟悉数据库相关知识和各种操作,超6000字详细介绍(三)
[Java Web]MySQL数据库|一文带你了解并熟悉数据库相关知识和各种操作,超6000字详细介绍(三)
|
1月前
|
SQL 存储 关系型数据库
[Java Web]MySQL数据库|一文带你了解并熟悉数据库相关知识和各种操作,超6000字详细介绍(二)
[Java Web]MySQL数据库|一文带你了解并熟悉数据库相关知识和各种操作,超6000字详细介绍(二)
|
1月前
|
SQL 存储 JSON
[Java Web]MySQL数据库|一文带你了解并熟悉数据库相关知识和各种操作,超6000字详细介绍(一)
[Java Web]MySQL数据库|一文带你了解并熟悉数据库相关知识和各种操作,超6000字详细介绍
|
1月前
|
SQL JSON JavaScript
Node.js开发WEB项目后端接口API,基于mysql5.7数据库(小试牛刀)
Node.js开发WEB项目后端接口API,基于mysql5.7数据库(小试牛刀)
|
2月前
|
SQL 关系型数据库 MySQL
GO web 开发 实战三,数据库预处理
上一篇文章我们进行了数据操作,都是使用占位符的方式来操作的 咱们其实可以使用 mysql 预处理的方式来操作这些 那么我们一起来看看什么是已处理呢?
|
2月前
|
SQL 关系型数据库 MySQL
GO web 开发 实战二,数据库相关
xdm 上次有分享到GO web 开发 中 http 包中的简单方法使用,最后还有一个 模板 , 在这里补充一下
GO web 开发 实战二,数据库相关
|
2月前
|
SQL 存储 关系型数据库
WEB应用程序数据库防守篇之预防SQL漏洞注入
主要介绍SQL注入的危害会引发的后果以及如何预防等
351 1
WEB应用程序数据库防守篇之预防SQL漏洞注入
|
4月前
|
SQL 存储 前端开发
【数据库06】web应用程序开发的任督二脉 2
【数据库06】web应用程序开发的任督二脉
|
4月前
|
存储 监控 前端开发
【数据库06】web应用程序开发的任督二脉 1
【数据库06】web应用程序开发的任督二脉
|
7月前
|
存储 JSON 缓存
彩虹女神跃长空,Go语言进阶之Go语言高性能Web框架Iris项目实战-模板与数据库EP02
书接上回,上次我们搭建好了项目入口文件,同时配置了路由体系,接着就可以配置项目的模板了,这里我们采用Iris内置的模板引擎,事实上,采用模板引擎并不意味着前后端耦合,模板中的数据保持其独立性即可,也就是说模板的数据操作交互方式采用http接口请求的形式,Iris并不参与模板逻辑,只返回Json格式的数据即可。前端集成数据双向绑定机制的框架Vue.js。
彩虹女神跃长空,Go语言进阶之Go语言高性能Web框架Iris项目实战-模板与数据库EP02
推荐文章
更多
推荐镜像
更多