《PHP和MySQL Web开发从新手到高手(第5版)》一2章 MySQL简介2.1 数据库简介
本节书摘来自异步社区《PHP和MySQL Web开发从新手到高手(第5版)》一书中的第2章,第2.1节,作者【澳】Kevin Yank,更多章节内容可以访问云栖社区“异步社区”公众号查看
PHP和MySQL Web开发从新手到高手(第5版)
在第1章中,我们安装并设置了两个软件:支持PHP的Apache Web服务器以及MySQL数据库服务器。如果你按照我的建议,可能会使用XAMPP或MAMP这样的一体化的软件包来安装它们。但是,不要让这影响到你的成就感。
正如我在第1章中提到的,PHP是一种服务器端脚本编程语言,它允许你将指令插入到Web页面中。而Web服务器软件(大多数情况下,是Apache)将会先执行这些指令,然后再将这些页面发送给请求它们的浏览器。通过一个简单的例子,我们展示了如何在每次请求一个页面的时候将当前日期插入其中。
现在,一切都很好了,但是只有当加入数据库的时候,这才会真正变得有趣起来。在本章中,我们将学习什么是数据库,以及如何使用结构化查询语言来操作MySQL数据库。
2.1 数据库简介PHP和MySQL Web开发从新手到高手(第5版)
数据库服务器(在我们的例子中,也就是是MySQL)是一个程序,它可以以一种有序的格式来存储大量的信息,而这种格式易于通过PHP这样的编程语言来访问。例如,你可以让PHP从数据库中找出你想要在自己的Web站点上显示的笑话的列表。
在这个例子中,笑话全部存储在数据库中。这种方式有两个优点:首先,我们可以编写一段单独的PHP脚本从数据库获取任意的笑话,并通过为其实时地生成一个HTML页面来显示它,而不必为每个笑话都编写一个HTML页面。其次,将笑话添加到Web站点将会变成一件简单的事情,只需要将其插入到数据库中就可以了。PHP代码将负责剩余的事情,当它从数据库获取列表的时候,将会自动显示新的笑话和其他的笑话。
让我们通过这个示例来观察,数据是如何存储到一个数据库中的。数据库包括一个或多个表(table),每个表包含了一系列的项(item,或事物)。对于笑话数据库来说,我们可能从一个叫作joke的表开始,这个表包含了笑话的列表。数据库中的每个表都有一个或多个列(column)又或字段(field)。每个列包含了关于表中的每一项的一些的信息。在这个示例中,笑话表可能有一个列用来表示笑话的文本内容,另一个列用来表示该笑话添加到数据库中的日期。每个笑话以所谓的行(row)或条目(entry)的方式存储在数据库中。表的行和列如图2.1所示。
![c323a30130754b13ba9702e138dbd32208d93b01](https://yqfile.alicdn.com/c323a30130754b13ba9702e138dbd32208d93b01.png)
注意,除了表示笑话文本的列(joketext)和表示笑话日期的列(jokedate),我还包含了一个叫作id的列。实际上,作为一种良好的设计,数据库的表应该总是提供一种方式以便我们可以唯一地识别每一行。由于同一天有可能输入两个内容相同的笑话,我们不能够依赖joketext和jokedate列来区分所有的笑话。因此,id列的功能是为每个笑话分配一个唯一的编号,以使我们以一种简单的方式来引用它们并且记录这个笑话是哪一个。我们将会在第5章中更进一步地介绍数据库设计问题。
图2.1中的表是一个三列两行(或条目)的表。表中的每一行包含了3个字段,每个字段表示表中的一列:笑话的ID,笑话的文本以及笑话的日期。理解了这些基本的术语,我们就准备好开始使用MySQL了。
Mybatis+Servlet+Mysql 整合的一个小项目:对初学者非常友好,有助于初学者很快的上手Java Web 首先声明这是一个非常简单的项目,只包含注册和登录。有人说了,这么简单的项目,我瞧不上。确实!对于一些高手来说,这点东西不过是毛毛雨。但是对于一个初学者来说,有一个简单易上手的项目可以吧Mybatis+Servlet+Mysql 整合起来,对于自己的学习不可不算是一个良好的契机。学以致用,本文章旨在检验前面系列文章是否写的合格,结果是:理论性太强,而实践太散,所以借着这篇文章,把实践的方便加强不会的可以看这篇文章 http://t.csdn.cn/UahZNmybatis+Servlet很显然需要用到二者的依
异步社区 异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
相关文章
- PHP MYSQL——做完成绩单打印系统后的总结
- 【转】PHP网站(nginx、php-fpm、mysql) 用户权限解析
- PHP如何自动识别第三方Restful API的内容,自动渲染成 json、xml、html、serialize、csv、php等数据
- 配置php.ini实现PHP文件上传功能
- php中如何设置mysql查询读取数据的超时时间
- php:如何使用PHP排序, key为字母+数字的数组(多维数组)
- MySQL配置文件mysql.ini参数详解、MySQL性能优化
- PHP中获取当前页面的完整URL & php $_SERVER中的SERVER_NAME 和HTTP_HOST的区别
- php同步mysql两个数据库中表的数据
- Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result
- 一个漂亮的输出MySql数据库表结构的PHP页面
- PHP连接MySQL数据库的三种方式(mysql、mysqli、pdo)--续
- PHP连接MySQL数据库的三种方式(mysql、mysqli、pdo)
- thinkphp6:mysql数据库使用事务(php 8.1.1 / thinkphp v6.0.10LTS)
- CentOS下httpd下php 连接mysql 本机可以,外网报错Could not connect: Can't connect to MySQL server on '127.0.0.1' (13)2003 原因解析
- 解决PHP Fatal error mysql_connect() mysql_query()的问题
- 数据库基础之Mysql(3)mysql删除历史binlog
- mysql 有报错 ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql) exists
- 【问题解决方案】MySQL安装后无法启动-net start mysql服务名无效
- thinkphp6:访问多个mysql数据源(thinkphp6.0.5 / php 7.4.9)
- MYsql 数据库密码忘记(Window)-2(mysql 5.7)
- atitit.跨语言实现备份mysql数据库 为sql文件特性 api 兼容性java c#.net php js
- MySQL数据库加密和解密~认证登陆密码(mysql.user)和MySQL不区分大小写
- PHP面试题:你常用到的mysql命令?
- (转载)Linux下安装配置MySQL+Apache+PHP+WordPress的详细笔记
- 17. PHP+Mysql注入防护与绕过
- MYSQL提权之反弹SHELL——数据库提权属于webshell到管理员的纵向提权,本质还是利用udf提权,无非是在mysql自定义函数中使用了反弹shell而已
- mysql 数据库 分表后 怎么进行分页查询?Mysql分库分表方案?