首页 > 代码库 > MSQL数据库管理
MSQL数据库管理
人工管理,文件系统,数据库系统三个阶段。DBMS数据库管理系统,关系型数据库管理系统RSBMS。MYSQL就是数据库管理系统。数据模型:实体-联系。E-R模型。实体矩形,属性椭圆,用无向边连着。联系:菱形,可以连属性。一对一,一对多,多对多。SQL(structured query language)结构化查询语言。IMB开发。SQL类型:数据定义语言SSL,数据操纵语言DML,数据控制语言DCL。MySQL数据库管理工具是命令行或者第三方图形界面,如phpMyadmin.mysql有函数。不允许删除mysl和information_schema等系统数据库。删除数据库drop database 数据库名;恢复数据库前先确认数据库存在。列的数据类型要指定。定点数类型DECIMAL,单精度float,双精度double。DATE日期类型,DATETIME日期和时间类型,TIME时间类型。INT不需要设置长度。修改表结构的命令前alter table 。自增属性值可以不填。MYSQL有关系运算符和逻辑运算符。反引号可以代替单引号。DISTINCT过滤重复数据,FROM 表名(一个或多个)。order by 默认升序。mysql不支持双引号。count(),avg,sum,min,max可以查询指定列的信息。where不能包含聚合函数,前面就是聚合函数,用having。连接查询:查多表,where设置连接条件。每个表有别名。INNER JOIN内连接,条件on。子查询指select嵌套select,where和having可以嵌套select.视图是虚拟表,是保存在数据库中的查询。创建视图create view 视图名 as select 语句。die()和exit()是php退出mysql.multi_query()执行多个SQL语句。显示第n页中的记录select * from 表名 limit 起始位置,显示记录条数;如select * from 表名 limit ($page-1) * $pagesize,$pagesize;当前是第一页,取消首页和上一页的连接,尾页同理。获取结果集的记录总数select count(1) from 表名;当前页面:$page."/".$pagecount
-------------------------------------------------------------------------------------------------
<HTML>
<HEAD><TITLE>分页显示记录</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
</HEAD>
<BODY>
<?PHP
// 获取当前页码
$page = $_GET[‘page‘];
if($page == 0)
$page = 1;
$PageSize = 3; // 为了演示分页效果,
// 连接到数据库
$conn = mysqli_connect("localhost", "root", "pass", "MySQLDB");
if (empty($conn)) {
die("mysqli_connect failed: " . mysqli_connect_error());
}
// 设置中文字符集
mysqli_query($conn, "SET NAMES gb2312");
//执行SELECT 语句,获取表Employees的记录总数
$sql = "SELECT COUNT(1) FROM Employees";
$results = $conn->query($sql);
$row = $results->fetch_row();
$RecordCount = $row[0];
//////////////
// 计算总页数//
/////////////
if( $RecordCount ){
//如果记录总数量小于每页显示的记录数量,则只有一页
if( $RecordCount < $PageSize ){
$PageCount = 1;
}
//取记录总数量不能整除每页显示记录的数量,则页数等于总记录数量除以每页显示记录数量的结果取整再加1
if( $RecordCount % $PageSize ){
$PageCount = (int)($RecordCount / $PageSize) + 1;
}
else { //如果没有余数,则页数等于总记录数量除以每页显示记录的数量
$PageCount = $RecordCount / $PageSize;
}
}
else{ // 如果结果集中没有记录,则页数为0
$PageCount = 0;
}
echo("<BR>当前页码 :" . $page . "/" . $PageCount);
?>
<table width="449" border="1">
<tr>
<td>员工姓名</td>
<td>职务</td>
<td>工资</td>
</tr>
<?PHP
// 循环显示当前页的记录
$sql = "SELECT EmpName, Title, Salary FROM Employees LIMIT " . ($page-1) * $PageSize . "," . $PageSize;
$results = $conn->query($sql);
while($row = $results->fetch_row()) {
echo("<tr>");
echo("<td>" . $row[0] . " </td>");
echo("<td>" . $row[1] . " </td>");
echo("<td>" . $row[2] . " </td>");
echo("</tr>");
}
// 关闭连接
mysqli_close($conn);
// 显示分页链接
if($page == 1)
echo("第一页 ");
else
echo(" <a href=http://www.mamicode.com/viewPage.php?page=1>第一页");
// 设置“上一页”链接
if($page == 1)
echo(" 上一页 ");
else
echo(" <a href=http://www.mamicode.com/viewPage.php?page=" . ($page-1) . ">上一页</a> ");
// 设置“下一页”链接
if($page == $PageCount)
echo(" 下一页 ");
else
echo(" <a href=http://www.mamicode.com/viewPage.php?page=" . ($page+1) . ">下一页</a> ");
//设置“最后一页”链接
if($page == $PageCount)
echo(" 最后一页 ");
else
echo(" <a href=http://www.mamicode.com/viewPage.php?page=" . $PageCount . ">最后一页</a> ")
?>
</table>
</BODY>
</HTML>
MSQL数据库管理