连接数据库PDO

  1. $user = "root"; //数据库连接账号
  2.  
  3. $pass = "root"; //数据库连接密码
  4.  
  5. $dbname = "test"; //数据库名
  6.  
  7. try {
  8. $db = new PDO("mysql:host=localhost;dbname=$dbname", $user, $pass); //连接数据库
  9. echo "数据库连接成功";
  10. } catch (PDOException $e) {
  11. echo "数据库连接失败";
  12. }

表一:user表

 id name 姓名 sex 性别 age 年龄
1 fan 0 18
2 jack 0 25
3 xiaoming 0 33
4 laowang 1 50
5 julia 0 22
6 pangda 1

53

表二:user_Identity表

id identity_number 身份号码
1 111
2 222
3 3
4 444
5 555
6 666

1、内连接(Inner Join)

  1. $sql = "select * from user as a inner join user_identity as b on a.id = b.identity_number"; //内连接user和user_identity表,as 起别名:user代表a,user_identity代表b
  2.  
  3. //$sql = "select * from user inner join user_identity on user.id = user_identity.id"; // 效果同上
  4.  
  5. //$sql = "select a.id,a.name,b.identity_number from user as a inner join user_identity as b on a.id = b.id"; //select 和 from 之间的意思是 - 输出a表的id字段,输出a表的name字段,输出b表的identity_number;
  6.  
  7. $data = $db->query($sql)->fetchAll(PDO::FETCH_ASSOC);
  8.  
  9. print_r ($data);

输出:

  1. Array
  2. (
  3. [0] => Array
  4. (
  5. [id] => 3
  6. [name] => xiaoming
  7. [sex] => 0
  8. [age] => 33
  9. [identity_number] => 3
  10. )
  11.  
  12. )

2、左连接 (Left Join)

  1. $sql = "select * from user as a left join user_identity as b on a.id = b.identity_number";
  2.  
  3. $data = $db->query($sql)->fetchAll(PDO::FETCH_ASSOC);
  4.  
  5. print_r($data);

输出:

  1. Array
  2. (
  3. [0] => Array
  4. (
  5. [id] => null
  6. [name] => fan
  7. [sex] => 0
  8. [age] => 18
  9. [identity_number] => null
  10. )
  11.  
  12. [1] => Array
  13. (
  14. [id] => null
  15. [name] => jack
  16. [sex] => 0
  17. [age] => 25
  18. [identity_number] => null
  19. )
  20.  
  21. [2] => Array
  22. (
  23. [id] => 3
  24. [name] => xiaoming
  25. [sex] => 0
  26. [age] => 33
  27. [identity_number] => 3
  28. )
  29.  
  30. [3] => Array
  31. (
  32. [id] => null
  33. [name] => laowang
  34. [sex] => 1
  35. [age] => 50
  36. [identity_number] => null
  37. )
  38.  
  39. [4] => Array
  40. (
  41. [id] => null
  42. [name] => julia
  43. [sex] => 0
  44. [age] => 22
  45. [identity_number] => null
  46. )
  47.  
  48. [5] => Array
  49. (
  50. [id] => null
  51. [name] => pangda
  52. [sex] => 1
  53. [age] => 53
  54. [identity_number] => null
  55. )
  56.  
  57. )

3、右连接 (Right Join)

  1. $sql = "select * from user as a right join user_identity as b on a.id = b.identity_number";
  2.  
  3. $data = $db->query($sql)->fetchAll(PDO::FETCH_ASSOC);
  4.  
  5. print_r($data);

输出:

  1. Array
  2. (
  3. [0] => Array
  4. (
  5. [id] => 1
  6. [name] => null
  7. [sex] => null
  8. [age] => null
  9. [identity_number] => 111
  10. )
  11.  
  12. [1] => Array
  13. (
  14. [id] => 2
  15. [name] => null
  16. [sex] => null
  17. [age] => null
  18. [identity_number] => 222
  19. )
  20.  
  21. [2] => Array
  22. (
  23. [id] => 3
  24. [name] => xiaoming
  25. [sex] => 0
  26. [age] => 33
  27. [identity_number] => 3
  28. )
  29.  
  30. [3] => Array
  31. (
  32. [id] => 4
  33. [name] => null
  34. [sex] => null
  35. [age] => null
  36. [identity_number] => 444
  37. )
  38.  
  39. [4] => Array
  40. (
  41. [id] => 5
  42. [name] => null
  43. [sex] => null
  44. [age] => null
  45. [identity_number] => 555
  46. )
  47.  
  48. [5] => Array
  49. (
  50. [id] => 6
  51. [name] => null
  52. [sex] => null
  53. [age] => null
  54. [identity_number] => 666
  55. )
  56.  
  57. )

4、其他连接-省略。。。

mysql常用连接查询的更多相关文章

  1. MySql的连接查询

    类似于oracle的连接查询,mysql连接查询也有左外连接.右外连接.内连接查询.但是,不同的是没有直接 的全外连接查询. 这里介绍MySql的连接查询: 这里已两张表为例:STUDENT 表 和 ...

  2. MySQL查询优化:连接查询排序limit

    MySQL查询优化:连接查询排序limit(join.order by.limit语句) 2013-02-27      个评论       收藏    我要投稿   MySQL查询优化:连接查询排序 ...

  3. MySQL常用的查询命令

    MySQL常用的查询命令 author: headsen chen   2017-10-19  10:15:25 个人原创.转载请注明作者,出处,否则依法追究法律责任 1,查询现在的时间:mysql& ...

  4. mysql常用快速查询修改操作

    mysql常用快速查询修改操作 一.查找并修改非innodb引擎为innodb引擎 # 通用操作 mysql> select concat('alter table ',table_schema ...

  5. 【杂记】mysql 左右连接查询中的NULL的数据筛选问题,查询NULL设置默认值,DATE_FORMAT函数

    MySQL左右连接查询中的NULL的数据筛选问题 xpression 为 Null,则 IsNull 将返回 True:否则 IsNull 将返回 False. 如果 expression 由多个变量 ...

  6. Mysql表连接查询

    原文地址: https://www.cnblogs.com/qiuqiuqiu/p/6442791.html 1.内联接(典型的联接运算,使用像 = 或 <> 之类的比较运算符).包括相等 ...

  7. MySQL常见连接查询

    在实际应用中,由于不同的业务需求,一般的select查询语句无法满足要求.所以就需要了解一些MySQL的高级查询方式 内连接 inner join 典型的连接查询,有相等(=)连接和不等(<&g ...

  8. 【mysql】连接查询

  9. MySQL之连接查询

    主要是多表查询和连接查询

随机推荐

  1. python使用xlrd读取excel数据时,整数变小数的解决办法

    python使用xlrd读取excel数据时,整数变小数: 解决方法: 1.有个比较简单的就是在数字和日期的单元格内容前加上一个英文的逗号即可.如果数据比较多,也可以批量加英文逗号的前缀(网上都有方法 ...

  2. PHP生成HTML静态页面。

    function Generate(){ $html = '<!DOCTYPE html><html lang="en"><head> < ...

  3. python_07 函数作用域、匿名函数

    函数的作用域:无论在哪个地方调用函数,函数运行过程中的作用域只跟定义的时候有关,跟在哪个地方调用无关. name='alex' def foo(): name = 'linhaifeng' def b ...

  4. python中类与对象及其绑定方法的定义

    面向对象编程 什么是面向对象? 面向过程:将需要解决的问题按步骤划分,一步一步完成每一个步骤,而且          步骤之间有联系. 优点:复杂问题可以分步完成 缺点:扩展性很差,维护性差.如果中间 ...

  5. 剑指offer例题——二进制中1的个数

    题目:输入一个整数,输出该二进制表示中1的个数.其中负数用补码表示. 首先明确补码的定义: 原码 反码 补码 将最高位作为符号位(0表示正,1表示负), 其它数字位表达数值本身的绝对值的数字表示方式 ...

  6. Thinkphp语句拼接

    例如查询Stu表中年龄大于18,或者身高低于180cm的男性(1为男性),(例子不太好标题有可能不符,望见谅) $where['age'] = array("gt",18); $w ...

  7. js计算base64文件流大小

    getImgSize(str) { //获取base64图片大小,返回KB数字 var str = base64url.replace('data:image/jpeg;base64,', '');/ ...

  8. 数字三角形/数塔问题(DP入门题)

    有形如下图所示的数塔,从顶部出发,在每一结点可以选择向左走或是向右走,一起走到底层,要求找出一条路径,使路径上的值最大. 样例输入: 5 13 11 8 12 7 26 6 14 15 8 12 7 ...

  9. 2018面向对象程序设计(Java)第16周学习指导及要求

    2018面向对象程序设计(Java)第16周学习指导及要求(2018.12.13-2018.12.16)   学习目标 (1) 掌握线程概念: (2) 掌握线程创建的两种技术: (3) 理解和掌握线程 ...

  10. document.getElementById(“id”)与$("#id")的区别

    document.getElementById("id")可以直接获取当前对象, jQuery利用$("#id")获取的是一个[object Object],需 ...