MYSQL:关系管理数据库
主要内容
- 数据库相关概念
- 数据库建表
- 使用php连接并访问数据库
- 数据库的增删改查练习
学习目标
知识点 | 要求 |
---|---|
数据库相关概念 | 了解 |
数据库建表 | 了解 |
使用php连接并访问数据库 | 了解 |
数据库的增删改查练习 | 掌握 |
一、数据库相关概念
1. 数据库概念
数据(data):任何形式的文件、音频、视频、文本、图片等都可以称为数据。
数据库:存放数据的仓库。英文database,简称DB。
数据库的作用存储数据-- 操作数据 增删改查
数据库:mysql oracle sqlServer …
二、 启动数据库
1.开启环境
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X3rcHWTG-1677659722600)(images\1.png)]
2.点击admin 进入数据库的文件里面
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RfbGojmA-1677659722600)(images\2.png)]
3.创建数据库文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sNUGcMp1-1677659722601)(images\3.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zE6QBdLO-1677659722602)(images\4.png)]
新建表的字段:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KXbEoox7-1677659722603)(images\5.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sd9yFcgA-1677659722604)(images\6.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9u4oK2PE-1677659722605)(images\7.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qkDwnj2Y-1677659722605)(images\8.png)]
三、PHP操作数据库
1. MySQL
1.1 MySQL 简介
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qfLzrn6Y-1677659722606)(images\18.jpg)]
通过 PHP,您可以连接和操作数据库。
MySQL 是跟 PHP 配套使用的最流行的开源数据库系统。
MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种关系数据库管理系统(RDBMS:Relational Database Management System),关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
- MySQL 是开源的,目前隶属于 Oracle 旗下产品。
- MySQL 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
- MySQL 使用标准的 SQL 数据语言形式。
- MySQL 可以运行于多个系统上,并且支持多种语言。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。
- MySQL 对PHP有很好的支持,PHP 是目前最流行的 Web 开发语言。
- MySQL 支持大型数据库,支持 5000 万条记录的数据仓库,32 位系统表文件最大可支持 4GB,64 位系统支持最大的表文件为8TB。
MySQL 为关系型数据库(Relational Database Management System), 这种所谓的"关系型"可以理解为"表格"的概念, 一个关系型数据库由一个或数个表格组成, 如图所示的一个表格:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5ZnabPiU-1677659722606)(images\13.jpg)]
- 表头(header): 每一列的名称;
- 列(col): 具有相同数据类型的数据的集合;
- 行(row): 每一行用来描述某条记录的具体信息;
- 值(value): 行的具体信息, 每个值必须与该列的数据类型相同;
- 键(key): 键的值在当前列中具有唯一性。
- 数据库: 数据库是一些关联表的集合。
- 数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
1.2 SQL 能做什么?
可在数据库中插入新的记录 增
可从数据库删除记录 删
可更新数据库中的数据 改
可从数据库取回数据 查
可创建新数据库
可在数据库中创建新表 等等。
2. 连接数据库 (重点)
2.1php创建数据库【连接】
PHP 提供了 mysqli_connect() 函数来连接数据库,连接成功返回一个对象,连接失败返回false。
//语法 域名 用户名 密码 数据库名 端口号
mysqli_connect("host", "username"," password", "dbname","port");
参数 | 描述 |
---|---|
host | 可选。规定主机名或 IP 地址。 |
username | 可选。规定 MySQL 用户名。 |
password | 可选。规定 MySQL 密码。 |
dbname | 可选。规定默认使用的数据库。 |
port | 可选。规定尝试连接到 MySQL 服务器的端口号。 |
//语法:mysqli_connect("域名","DB账号","DB密码","DB库名")
例子:$con = mysqli_connect('localhost','root','','frankdb');
var_dump $con ;
// 测试返回对象 返回成功 失败返回 false
2.2向DB中插入数据时包含中文出现乱码的解决方案
- 一般会多一步 判断是否链接成功 成功的话设置编码
mysqli_query($con,"set names utf8");
mysqli_query() 函数执行某个针对数据库的查询。
语法:mysqli_query(connection,query,resultmode);
参数 | 描述 |
---|---|
connection | 必需。规定要使用的 MySQL 连接。 |
query | 必需,规定查询字符串。 |
resultmode | 可选。一个常量。可以是下列值中的任意一个: MYSQLI_USE_RESULT(如果需要检索大量数据,请使用这个) MYSQLI_STORE_RESULT(默认) |
2.3sql语句
//插入语句
语法:insert into 表名(字段1,字段2,…) values(值1,值2,…)
例子:$sql="insert into userinfo(username,password) values('wwww','666')";
2.4发送sql语句
mysqli_query($con,$sql);
2.5关闭数据链接 (可以省略)
可以使用 PHP 的 mysqli_close() 函数来断开与 MySQL 数据库的链接。
该函数只有一个参数为 mysqli_connect() 函数创建连接成功后返回的 MySQL 连接标识符。
语法:mysqli_close($con);
2.6代码演示
<?php
//实现功能:php链接数据库 执行注册插入语句
//1.链接数据库 语法:mysqli_connect("域名","DB账号","DB密码","DB库名");
$con = mysqli_connect("localhost",'root','','2011');
//判断是否连接上数据库 连接成功操作数据 否则提示失败
// var_dump($con);//成功返回对象,错误返回布尔值false
if($con){
//2.设置编码格式 国际编码 -- 防止前后端乱码
mysqli_query($con,'set names utf8');
//3.sql语句 插入语句 插入账号和密码
//语法:sql = "insert into 表名(字段1,字段2,...) values(值,...)"
$sql = "insert into userinfo(username,password) values('郭德纲','5566')";
//4.发送sql 执行sql
$res = mysqli_query($con,$sql);
var_dump($res);
}else{
echo '数据库连接失败';
}
//5.关闭数据库连接 -- 下面不可以使用数据库 -- 可以省略
mysqli_close($con);
?>
3.插入语句
语法:insert into 表名 (字段1,字段2,…) values(值1,值2,…)
语法:insert into 表名 values(null,值1,值2,…) 插入所有字段
如果数据是字符型,必须使用单引号或者双引号,如:“value”。
返回布尔值。
$sql="insert into userinfo(username,password) values('小花','666')";
$sql="insert into userinfo values('null',花花','999')";