MYSQL数据库记录管理

文章目录


前言

提示:学会在LNMP平台中编写自己的表记录管理平台,熟悉编程软件notepad++使用
phpMyAdmin要求工作环境是什么?
如何在上述环境中建立和维护库、表?
如何完成对所有库的备份?如何进行恢复?

MySQL的基本概念

MySQL是一种关系型数据库管理系统,常用于存储和管理大量的结构化数据。以下是MySQL的基本概念:

  1. 数据库:MySQL中的数据库是一个集合,包含了多个表格以及其他相关的对象。每个数据库都有一个唯一的名称,用于在MySQL中进行访问和管理。

  2. 表格:MySQL中的表格是用来存储数据的结构化对象。每个表格都包含了若干个列和行,其中列指定了表格中存储的数据类型,行则是具体的数据记录。

  3. 列:在MySQL中,列定义了表格中需要存储的数据类型。每个列都有一个名称,用于标识和访问该列中的数据。

  4. 行:在MySQL中,行指的是表格中的一个数据记录,记录了该行中每个列所对应的具体数据。

  5. 主键:主键是用来标识表格中每个数据记录的唯一标识符。主键通常由一个或多个列组成,并且必须在表格中唯一。

  6. 外键:外键是用来建立表格之间关系的一种机制。外键是一个列,它引用了另一个表格的主键,用来建立两个表格之间的关联关系。

  7. 索引:索引是一种用来加速数据查询的机制。索引通常是建立在表格的一个或多个列上,并且可以在查询时快速定位到对应的数据记录。

  8. 视图:视图是一种虚拟的表格,它是通过对一个或多个表格进行查询得到的。视图通常用于简化复杂查询或隐藏敏感数据。

  9. 存储过程:存储过程是一种存储在数据库中的可执行程序。它可以接受输入参数并返回结果,通常用于实现复杂的业务逻辑。

  10. 触发器:触发器是一种特殊类型的存储过程,它会在表格中发生指定事件时自动触发。触发器通常用于实现数据约束或自动化数据处理。

MySQL的优势

MySQL作为一种开源的关系型数据库管理系统,具有以下优势:

  • 高可靠性:MySQL在设计和实现上非常注重数据的可靠性和稳定性,使用者可以放心地使用它来存储和管理重要的数据。

  • 高性能:MySQL具有高效的储存引擎和查询优化技术,能够快速地读写数据和执行复杂的查询操作,可以处理高并发和大规模的数据访问。

  • 可扩展性:MySQL支持多种储存引擎,并且可以通过分布式储存和集群等技术来扩展数据容量和吞吐量。

  • 易用性:MySQL具有易于学习和使用的特点,具有完善的文档和社区支持,让开发者能够快速地上手和开发出高效的应用。

  • 开源性:MySQL是一种开源软件,许多开发者和组织都参与到了他的开发和维护工作中,使得它充满了活力和创新。

  • 兼容性:MySQL支持多种操作系统和编程语言,并且可以与许多其他软件和工具集成,为开发者提供了更多的选择和灵活性。

MySQL的发展历史

MySQL的发展历史可以追溯到1995年,这一年,Michael Widenius和David Axmark创建了一种名为MySQL的轻量级关系型数据库管理系统。最初,MySQL是为Linux和UNIX系统开发的,目标是为网站和应用程序提供一个快速、可靠和易于使用的数据库解决方案。

在MySQL的早期阶段,它主要被广泛应用于Web应用程序和互联网领域。由于其高性能、易用性和开源性质,MySQL很快就成为了开发者和企业的首选数据库之一。在1999年,MySQL AB成立,开始专注于MySQL的商业化和发展工作。

在2000年代初期,MySQL经历了快速的成长和发展。它迅速扩展了其功能和特性,包括支持多种储存引擎、事务处理和复制等功能。此外,MySQL也得到了越来越多的开发者和组织的支持,成为了开源软件领域的热门项目之一。

在2008年,Sun Microsystems收购了MySQL AB,随后,这个公司被Oracle Corporation收购。MySQL继续保持其开源性质,并通过不断的改进和创新,为开发者和企业提供了更好的数据库解决方案。目前,MySQL已经成为世界上最流行和广泛使用的关系型数据库管理系统之一,被广泛应用于Web应用程序、企业应用和云计算平台等领域。

本章结构

在这里插入图片描述

安装notepad++

执行安装程序npp.7.5.9.Installer.x64.exe
将在桌面生成如下快捷方式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

notepad++使用

1.打开notepad++

在这里插入图片描述

2.选择程序编码UTF-8编码

在这里插入图片描述

3.选择编程语言为PHP在这里插入图片描述

4.编写后运行预览(若是php,最好是挂到服务器网站根目录测试)

在这里插入图片描述

php访问数据库命令1

1.建立连接(PHP5.4以下)

$db=mysql_connect('localhost','root','123456') or die("error connecting") ;

若连接不上则显示die中的内容

2.打开数据库

mysql_select_db(mydb);

3.设定操作结果显示字符集(没这句后果是汉字显示不了)

mysql_query("set names 'utf8'");

4.设计操作命令,并将它赋给变量,方便使用

$sql ="select * from Info"; 

5.执行操作并将结果返回到变量(是一个集合)中

$r = mysql_query($sql,$db);

6.逐个读取变量中记录的名字段值,并在网页中显示结果(因记录较多,要做个循环)

while($att = mysql_fetch_array($r))
   {
    echo "{$att['Code']} {$att['Name']}<br>";
   }

7.关闭连接

mysql_close($db);

8.将上述1-7命令集中起来,加上显示网页标题代码和PHP标识,就构成一个完整的PHP程序。(假定名为my1.php)

在这里插入图片描述

php访问数据库命令2

1.建立连接(PHP5.5以上方可使用)

$db=new mysqli('localhost','root','123456','mydb') or die("eror connectiong");

参数多了个数据库名字

2.打开数据库?(不用,已包括在连接库命令中)

...

3.设定操作结果显示字符集(没这句后果是汉字显示乱码)

$db->query("set character set 'utf8'");

4.设计操作命令,并将它赋给变量,方便使用

$sql ="select * from Info"; 

5.执行操作并将结果返回到变量(是一个集合)中

$r = $db->query($sql);

6.逐个读取变量中记录的各字段值,并在网页中显示结果(因记录较多,要做个循环,注意读取函数不是以前的了)

while($att = mysqli_fetch_assoc($r))
   {
    echo "{$att['Code']} {$att['Name']}<br>";
   }

7.停止查询操作

$r->close();

8.将上述1-7命令集中起来,加上显示网页标题代码和PHP标识,就构成一个完整的PHP程序。(假定名为my2.php)

在这里插入图片描述

数据记录维护html网页特效

一、表格(table)

<table> 标签定义 HTML 表格
一个 HTML 表格包括 <table> 元素,一个或多个 <tr><th> 以及 <td> 元素。
<tr> 元素定义表格行,
<th> 元素定义表头,
<td> 元素定义表格单元。
更复杂的 HTML 表格也可能包括 <caption><col><colgroup><thead><tfoot> 以及 <tbody> 元素。

<table width="100%" border="1" cellpadding="0" cellspacing="0">
…
…
</table>

在这里插入图片描述

二、区块(div)

作用是设定字、画、表格等的摆放位置。

<div>
 <a href="Add.php" rel="external nofollow" >添加数据</a>
</div>

三、超链接

<a> 标签定义超链接,用于从一张页面链接到另一张页面。
<a> 元素最重要的属性是 href 属性,它指示链接的目标。

<td> 
 <a href='DeleteChuLi.php?code={$v[0]}'>删除</a>
 <a href='Update.php?code={$v[0]}'>修改</a>
</td>

四、表单(form)

表单能够包含 input 元素,比如文本字段、复选框、单选框、提交按钮等等。
表单还可以包含 menus、textarea、fieldset和 label 元素 等。如下面添加记录程序Add.php

<form action="AddChuLi.php" method="post"></form>

在这里插入图片描述

1.文本输入框

<div>代号:<input type="text" name="code" /></div>
<div>姓名:<input type="text" name="name" /></div>

2.单选框

<div>性别:
   <input type="radio" value="男" name="sex" /><input type="radio" value="女" name="sex" /></div>

3.下拉选择菜单

echo "<option value={$att['Code']}> {$att['Name']}</option>";

4.提交按钮

<div><input type="submit" value="添加数据" /></div>

5.接受表单提交的数据的程序名

<form action="AddChuLi.php" method="post"></form>

6.接收程序所用的参数(在接收程序AddChuLi.PHP中)

$code = $_POST["code"];
$name = $_POST["name"];
$sex = $_POST["sex"];

7.返回主程序(在接收程序AddChuLi.php中)

header("location:main.php");

主程序main.php

主程序main.php代码如下:

<table width="100%" border="1" cellpadding="0" cellspacing="0">
<tr>
<td>代号</td>
<td>姓名</td>
<td>性别</td>
<td>民族</td>
<td>生日</td>
<td>操作</td>
</tr>
<?php
$db=new mysqli('localhost','root','123456','mydb') or die("eror connecting");
$sql ="select * from Info";
$db->query("set character set 'utf8'");
$res = $db->query($sql);
$posts = array();
while($row = mysqli_fetch_array($res)) {
	$posts[] = $row;
}
foreach($posts as $v)
{
  $sex = $v[2]? '男':'女';
  $sql2 = "select Name from Nation where Code = {$v[3]}";
  $result2 = $db->query($sql2);
  $attr = mysqli_fetch_array($result2);
 echo "<tr>
  <td>{$v[0]}</td>
  <td>{$v[1]}</td>
  <td>{$sex}</td>
  <td>{$attr['Name']}</td>
  <td>{$v[4]}</td>
  <td>
	<a href='DeleteChuLi.php?code={$v[0]}'>删除</a>
	<a href='Update.php?code={$v[0]}'>修改</a>
  </td>
  </tr>";
}

?>
</table>
<div>
<a href="Add.php"  rel="external nofollow" >添加数据</a>
</div>

删除记录程序DeleteChuLi.php

删除记录程序DeleteChuLi.php代码如下:

<?php
$code = $_GET['code'];
$db = mysql_connect("localhost","root","123456") or die("error conneting!");
 mysql_select_db(mydb);
 $sql = "delete from Info where Code = {$code}";
 $r = mysql_query($sql, $db);
if ($r)
{
 header("location:main.php");
}
else
{
 echo "删除失败";
}
?>

添加程序Add.php

添加程序Add.php代码如下:

<h1>添加数据</h1>
<form action="AddChLi.php" method="post">
  <div>代号:<input type="text" name="code" /></div>
  <div>姓名:<input type="text" name="name" /></div>
  <div>性别:
	<input type="radio" value="男" name="sex" /><input type="radio" value="女" name="sex" /></div>
<div>民族:
  <select name="nation">
  <?php
  $db=mysql_connect('localhost','root','123456') or die("error connecting");
  mysql_select_db(mydb);
  $sql = "select * from Nation";
  mysql_query("set names 'utf8'");
  $r = mysql_query($sql, $db);
  while ($att = mysql_fetch_array($r))
  {
	echo "<option value={$att['Code']}>{$att['Name']}</option>";
   }
   ?>
   </select>
 </div>
 <div>生日:<input type="text" name="birthday" /></div>
 <div><input type="submit" value="添加数据" /></div>
</form>

添加处理程序Add.php

添加处理程序Add.php代码如下:

<?php
$code = $_POST["code"];
$name = $_POST["name"];
$sex = $_POST["sex"];
$s = 1;
if($sex == "女")
{
 $s =0;
}
$nation = $_POST["nation"];
$birthday = $_POST["birthday"];
$db = mysql_connect("localhost","root","123456") or die("error connecting");
mysql_query("set names 'utf8'");
mysql_select_db(mydb);
$sql = "insert into Info values('{$code}','{$name}','{$s}','{$nation}','{$birthday}')";
$result = mysql_query($sql,$db);
if($result)
{
  header("location:main.php");
} 
else 
{
  echo "添加失败";
}
?>

更新程序Update.php

更新程序Update.php代码如下:

<h1>修改数据</h1>
<?php
$code = $_GET["code"];
$db = new mysqli("localhost","root","123456","mydb");
if(mysqli_connect_error()){
 die("连接失败");
}
$sql1 = "select * from Info where Code={$code}";
$db->query("set character set 'utf8'");
$r1 = $db->query($sql1);
$att1 = $r1->fetch_row();
?>
<form action="UpdateChuLi.php" method="post">
  <div>代号:<input type="char" name="code" value="<?php echo $att1[0] ?>" /></div>
  <div>姓名:<input type="text" name="name" value="<?php echo $att1[1] ?>" /></div>
  <div>性别:
   <input type="radio" value="男" name="sex" <?php echo $att1[2] ? "checked='checked'" : ""; ?> /><input type="radio" value="女" name="sex" <?php echo $att1[2] ? "" : "checked='checked'"; ?> /></div>
  <div>民族:
	<select name="nation">
	<?php
	$db2 = new mysqli("localhost", "root", "123456", "mydb");
	if(mysqli_connect_error()){
	die("连接失败");}
	$db2->query("set character set 'utf8'");
	$sql2 = "select * from Nation";
	$r2 = $db2->query($sql2);
	$att = array();
	while ($row2 = mysqli_fetch_array($r2)) {
	 $att[] = $row2;
	 }
	foreach ($att as $v)
	{
	 if ($att1[3]==$v[0])
	 {
	  echo "<option value={$v[0]} selected='selected' >{$v[1]}</option>";
	 }
	 else
	 {
	   echo "<option value={$v[0]}>{$v[1]}</option>";
	 }
	}
	?>
	</select>
 </div>
 <div>生日:<input type="text" name="birthday" value="<?php echo $att1[4] ?>" /></div>
 <div><input type="submit" value="修改数据" /></div>
</form>

更新处理程序Update.php

更新处理程序Update.php代码如下:

<?php
$code = $_POST["code"];
$name = $_POST["name"];
$sex = $_POST["sex"];
$s = 1;
if($sex =="女")
{
	$s=0;
}
$nation = $_POST["nation"];
$birthday = $_POST["birthday"]
$db = new mysqli("localhost","root","123456","mydb");
if(mysqli_connect_error()){
die("连接失败");
}
$db->query("set character set 'utf8'");
echo "$code $name $sex $s $nation $birthday";
$sql = "update Info set Name='$name',Set='$s',Birhday='$birthday' where Code='$code'";
$r = $db->query($sql);
echo "update ok";
if($r)
{
	header("location:main.php");
}
else
{
	echo "修改失败!";
}
?>

总结

在做完MYSQL数据库记录管理实验后,我对数据库管理和操作有了更深入的理解和认识。

首先,在实验中我了解了数据库的设计和结构,以及各种表格之间的关系。在设计数据库表格时,需要考虑到不同表格之间的关系,以及表格之间的数据如何进行关联。同时,在实验中也学会了如何进行数据库的备份和恢复,以及如何进行数据库的优化和维护。

其次,在实验过程中我也学会了如何进行数据库的增删改查等操作。通过对不同表格的操作,我了解了如何添加、删除、修改和查询数据,以及如何对数据进行排序和筛选。同时,在实验中我也了解了如何使用SQL语句进行高级查询和数据分析,以及如何进行多表联合查询和数据统计。

在实验过程中,我也遇到了一些问题,例如在进行数据库备份时,备份的数据文件大小超过了设定的限制,需要对备份数据进行分割。在解决问题时,我通过查询资料和咨询老师的帮助,最终成功解决了问题。

总的来说,通过这次实验,我对数据库管理和操作有了更深入的理解和认识,也掌握了一些实用的技能和工具。在以后的学习和工作中,我将继续深入探究数据库的应用和优化,为数据处理和分析提供更好的支持和帮助。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xianpaopao NO.1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值