[TOC]
# 数据库应用
数据库是计算机应用系统中的一种专门管理数据资源的系统。数据库就是一组经过计算机整理后的数据,存储在一个或者多个文件中,而管理这个数据库的软件就称为数据库管理系统。
主流的软件开发中应用数据库有IBM的DB2,Oracle,Informix,Sybase,SQL Server,PostgreSQL,MySQL,Access,FoxPro和Teradata等。
# 数据库在Web开发中的重要地位
动态网站都是对数据进行操作,我们平时浏览网页时,会发现网页的内容会经常变化,而页面的主体结构框架没变,Web系统的开发基本上都离不开数据库,因为任何东西都要存放在数据库中。
所谓的动态网站就是基于数据库开发的系统,最重要的就是数据管理,或者说我们在开发时都是在围绕数据库在写程序。我们再来回顾下Web工作原理:
![](https://box.kancloud.cn/1aef191415b3dd1ba2e00700623f7c31_943x168.png)
# 为什么PHP会选择MySQL作为自己的黄金搭档
PHP几乎可以使用现有的所有的数据库系统,MySQL与其他的大型数据库例如Oracle,DB2,SQL Server等相比,自有它的不足之处,如规模小,功能有限,但是丝毫没有影响它受欢迎的程度。
对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。
LAMP和LNMP中的其他三个软件也都是免费的,所以我们可以不花一分钱就可以建立起一个稳定,免费的网站系统。
# PHP和MySQL的合作方式
在同一个MySQL数据库服务器中可以创建多个数据库,如果把每个数据库看成是一个“仓库”,则网站中的内容数据就存储在这个仓库中,而对数据库中数据的存取及维护等,都是通过数据库系统软件管理的。
同一个数据库管理系统可以为不同的网站分别建立数据库,但为了使网站中的数据便于维护,备份及移植,最好为一个网站创建一个数据库。
MySQL数据库管理系统是一种“客户机/服务器”体系结构的管理软件,所以必须同时使用数据库服务器和客户机两个程序才能使用MySQL。
服务器程序用于监听客户机的请求,并根据这些请求访问数据库,以便向客户机提供它们所要求的数据。而客户机程序则必须通过网络连接到数据库服务器,才能向服务器提交数据操作请求。
PHP脚本程序作为MySQL服务器的客户机程序,是通过PHP中的MySQL扩展函数,对MySQL服务器中存储的数据进行获取,插入,更新及删除等操作。
# 结构化查询语言SQL
对数据库服务器中数据的管理,必须使用客户机程序成功连接以后,再通过必要的操作指令对其进行操作,这种数据库操作指令被称为SQL(Structured Query Language)语言,即结构化查询语言。
MySQL支持SQL作为自己的数据库语言,SQL是一种专门用于查询和修改数据库里的数据,以及对数据库进行管理和维护的标准化语言。
SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年退出以来,SQL语言得到了广泛的应用。
无论是Oracle,Sybase,Informix,SQL Server这些大型的数据库管理系统,还是像Visual Foxpro,PowerBuilder这些PC上常用的数据库开发系统,都支持SQL语言作为查询语言。
### SQL语言包含四个部分:
* 数据定义语言(**DDL**):用于定义和管理数据对象,包括数据库,数据表等。例如:`CREATE`,`DROP`,`ALTER`等。
* 数据操作语言(**DML**):用于操作数据库对象中所包含的数据。例如:`INSERT`,`UPDATE`,`DELETE`语句。
* 数据查询语言(**DQL**):用于查询数据库对象中所包含的数据,能够进行单表查询,连接查询,嵌套查询,以及集合查询等各种复杂程度不同的数据库查询,并将数据返回客户机中显示。例如:`SELETE`
* 数据控制语言(**DCL**):是用来管理数据库的语言,包括管理权限及数据更改。例如:`GRANT`,`REVOKE`,`COMMIT`,`ROLLBACK`等。
# MySQL数据库的连接与关闭
```
mysql –h 服务器主机地址 –u 用户名 –p 用户密码
```
只有客户机所在的主机被授予权限才能去连接MySQL服务器。
> 注意:
1.每个SQL命令都需要使用分号来完成
2.可以将一行命令拆成多行
3.可以通过\c来取消本行命令
4.可以通过\q、exit、ctrl+c或者quit来退出当前客户端
### 我们可以使用help命令来查询快捷键:
将查询后的数据立起来:\G
取消当前未完成的操作:\c
退出当前客户端:\q
显示当前服务器状态:\s
显示帮助信息:\h(同help命令)
更改执行符:\d
# 创建新用户并授权
```
GRANT 权限 ON 数据库.数据表 TO 用户名@登录主机 IDENTIFIED BY “密码”
```
例如:
添加一个新用户名为lijie,密码为字符串“jiege”。让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先要以root用户登录,然后输入以下命令:
```
GRANT SELECT,INSERT,UPDATE,DELETE ON *.* TO lisi@”%” IDENTIFIED BY “123”
```
# 创建数据库
* 建立数据库:
```
CREATE DATABASE [IF NOT EXISTS] 数据库名称;
```
* 删除数据库:
```
DROP DATABASE [IF EXISTS] 数据库名称;
```
* 显示当前数据库服务器下的所有数据库列表:
```
SHOW DATABASES;
```
* 选择数据库:
```
USE 数据库名称;
```
> 注意:
1.MySQL数据库中命令不区分大小写。
2.每创建一个数据库,就会在data目录下创建一个以此数据库名称命名的文件夹。
3.在Windows下,数据库名称也是不区分大小写的,但在Linux下,数据库名称严格区分大小写。
# 创建数据表
* 简单的创建数据表语法:
```
CREATE TABLE [IF NOT EXISTS] 表名称(字段1信息,字段2信息…字段N信息)[ENGINE=MyISAM DEFAULT CHARSET=UTF8];
```
* 删除数据表:
```
DROP TABLE [IF EXISTS] 数据表名称;
```
* 修改表结构:
```
ALTER TABLE 数据表名称 相关操作;
```
# 数据表内容的简单管理
* 插入数据:
```
INSERT INTO 表名称[(字段名称)] VALUE(前面字段对应的值);
```
* 查询数据:
```
SELECT 字段名称1,字段名称2,… FROM 表名称
```
* 更改数据:
```
UPDATE 数据表 set 字段名称=新修改的值 [WHERE 条件]
```
* 删除数据:
```
DELETE FROM 表名称 [WHERE 条件]
```
- 前言
- Ⅰ.PHP基础知识
- 1.PHP基本语法(一)
- 2.PHP基本语法(二)
- 3.流程控制结构
- 4.PHP函数
- 5.数组
- 6.字符串
- 7.PHP正则表达式
- 8.PHP的日期和时间
- 9.GD库图像处理
- 10.文件处理系统
- 11.文件上传和下载
- 12.数据库之MySQL(概述)
- Ⅱ.ThinkPHP5入门实践
- 一、先看到页面
- 1.1只展示页面
- 1.2给视图传递数据
- 1.3使用公共模板
- 1.4使用模板布局
- 二、简单的数据库操作
- (1)查
- (2)增
- (3)改
- (4)删
- (5)链式操作
- 三、初级-阶段性综合应用
- (1)注册
- (2)登录
- 四、各种基本操作
- 1.操作Session
- 2.操作Cookie
- 3.文件上传
- 五、富文本编辑器
- 集成wangEditor
- 集成UEditor
- 六、验证码
- 图片验证码
- Ⅲ.常用类库的使用
- 一、PHPExcel表格导入
- 二、PHPExcel表格导出
- 三、阿里大于短信验证码
- 四、时间戳操作Time
- 五、邮件发送
- 六、PHP操作Python
- Ⅳ.实例讲解
- 一、病房管理系统
- 写在前面
- 1.引导页
- 2.公共模板
- 3.登录
- 4.功能引导页集合
- 5.修改密码
- 6.员工信息注册
- 7.员工信息更新
- 8.员工信息删除
- 9.病人信息注册
- 10.病人信息更新
- 11.出院手续办理
- 12.病人信息删除
- 13.科室信息查询
- 14.医护信息查询
- 15.病房信息查询
- 16.病历信息查询
- 加群验证
- 必看推荐阅读【不断更新】