2016-08-10 多表联接、ER模型等

$query = mysql_query($sql);
mysql_fetch_array($query, mysql_both【既有数字下标,也有字段名下标】)
                                           mysql_assoc【只有字段名下标】 


多表联接:
1. 内联接
                  左外联接
2.外联接: 右外联接
                  全联接
例:学生表 student(表名)      no  name  age  sex
       成绩表 chengji(表名)     sno  kno  score
       SELECT  s.*, c.*  FROM  student  AS  s, chengji  AS  c  WHERE  s.no = c.sno  AND  s.name = '张三'; 

主键:能唯一区分某个记录的键
外键:在本表中不是主键,在另外一个表中是主键的键 

ER模型图

表与表之间的几种关系:
一对一
一对多
多对多 


mysql_affected_rows()    取得 insert  update  delete 之后,影响的行数
                                           不能得到select 查询的记录数
mysql_insert_id()    取得 inert 刚刚插入的记录的id值
mysql_num_rows()    返回结果集中行的数目。此命令仅对 SELECT 语句有效。要取得被 INSERT,UPDATE 或者 DELETE 查询所影                                        响到的行的数目,用 mysql_affected_rows()
例:
<?php
$db = mysql_connect("localhost", "user", "password");
mysql_select_db("database", $db);
$result = mysql_query("SELECT * FROM table1", $db);
$num_rows = mysql_num_rows($result);
echo "$num_rows Rows ";
?> 
注意: 如果使用 mysql_unbuffered_query(),则直到结果集中的所有行都被提取后 mysql_num_rows() 才能返回正确的值

数据库操作步骤:
// 连接数据库
$db = mysql_connect("localhost", "root", "密码", "端口",...) or die("连接失败");
// 选择数据库
mysql_select_db("数据库名");
// 设置数据库编码
mysql_query("set names utf8");


// 插入
$sql = "insert into user(name,sex,age) values('张三','女',22)";
$query=mysql_query($sql);
$id = mysql_insert_id($db);
$num = mysql_affected_rows($db);
if($query){
  echo "<script>alert('插入成功');location.href='index.php';</script>";
}else{
  echo "<script>alert('插入失败');location.href='add.php';</script>";
}
 
// 查询一条数据
$sql="select * from user where id=5";
$query=mysql_query($sql);
$row = mysql_fetch_array($query);
print_r($row);
 
// 查询多条数据
$sql="select * from user order by id asc limit 0,3";
$query=mysql_query($sql);
$num = mysql_num_rows();
while($row = mysql_fetch_array($query){
  $rs[] = $row;
}
print_r($rs);
 
// 修改
$sql="update user set sex='男' where id=5";
$query=mysql_query($sql);
$num = mysql_affected_rows($db);
if($query){
  echo "<script>alert('修改成功');location.href='index.php';</script>";
}else{
  echo "<script>alert('修改失败');location.href='update.php'";
}
 
// 删除
$sql="delete from user where id=5";
$query=mysql_query($sql);
$num = mysql_affected_rows($db);
if($query){
  echo "<script>alert('删除成功');location.href='index.php';</script>";
}else{
  echo "<script>alert('删除失败');location.href='list.php'";
}
原文地址:https://www.cnblogs.com/shuguoqing/p/5796986.html