mysql常用连接查询
连接数据库PDO
$user = "root"; //数据库连接账号
$pass = "root"; //数据库连接密码
$dbname = "test"; //数据库名
try {
$db = new PDO("mysql:host=localhost;dbname=$dbname", $user, $pass); //连接数据库
echo "数据库连接成功";
} catch (PDOException $e) {
echo "数据库连接失败";
}
表一: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)
$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 //$sql = "select * from user inner join user_identity on user.id = user_identity.id"; // 效果同上 //$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; $data = $db->query($sql)->fetchAll(PDO::FETCH_ASSOC); print_r ($data);
输出:
Array
(
[0] => Array
(
[id] => 3
[name] => xiaoming
[sex] => 0
[age] => 33
[identity_number] => 3
) )
2、左连接 (Left Join)
$sql = "select * from user as a left join user_identity as b on a.id = b.identity_number"; $data = $db->query($sql)->fetchAll(PDO::FETCH_ASSOC); print_r($data);
输出:
Array
(
[0] => Array
(
[id] => null
[name] => fan
[sex] => 0
[age] => 18
[identity_number] => null
) [1] => Array
(
[id] => null
[name] => jack
[sex] => 0
[age] => 25
[identity_number] => null
) [2] => Array
(
[id] => 3
[name] => xiaoming
[sex] => 0
[age] => 33
[identity_number] => 3
) [3] => Array
(
[id] => null
[name] => laowang
[sex] => 1
[age] => 50
[identity_number] => null
) [4] => Array
(
[id] => null
[name] => julia
[sex] => 0
[age] => 22
[identity_number] => null
) [5] => Array
(
[id] => null
[name] => pangda
[sex] => 1
[age] => 53
[identity_number] => null
) )
3、右连接 (Right Join)
$sql = "select * from user as a right join user_identity as b on a.id = b.identity_number"; $data = $db->query($sql)->fetchAll(PDO::FETCH_ASSOC); print_r($data);
输出:
Array
(
[0] => Array
(
[id] => 1
[name] => null
[sex] => null
[age] => null
[identity_number] => 111
) [1] => Array
(
[id] => 2
[name] => null
[sex] => null
[age] => null
[identity_number] => 222
) [2] => Array
(
[id] => 3
[name] => xiaoming
[sex] => 0
[age] => 33
[identity_number] => 3
) [3] => Array
(
[id] => 4
[name] => null
[sex] => null
[age] => null
[identity_number] => 444
) [4] => Array
(
[id] => 5
[name] => null
[sex] => null
[age] => null
[identity_number] => 555
) [5] => Array
(
[id] => 6
[name] => null
[sex] => null
[age] => null
[identity_number] => 666
) )
4、其他连接-省略。。。
mysql常用连接查询的更多相关文章
- MySql的连接查询
类似于oracle的连接查询,mysql连接查询也有左外连接.右外连接.内连接查询.但是,不同的是没有直接 的全外连接查询. 这里介绍MySql的连接查询: 这里已两张表为例:STUDENT 表 和 ...
- MySQL查询优化:连接查询排序limit
MySQL查询优化:连接查询排序limit(join.order by.limit语句) 2013-02-27 个评论 收藏 我要投稿 MySQL查询优化:连接查询排序 ...
- MySQL常用的查询命令
MySQL常用的查询命令 author: headsen chen 2017-10-19 10:15:25 个人原创.转载请注明作者,出处,否则依法追究法律责任 1,查询现在的时间:mysql& ...
- mysql常用快速查询修改操作
mysql常用快速查询修改操作 一.查找并修改非innodb引擎为innodb引擎 # 通用操作 mysql> select concat('alter table ',table_schema ...
- 【杂记】mysql 左右连接查询中的NULL的数据筛选问题,查询NULL设置默认值,DATE_FORMAT函数
MySQL左右连接查询中的NULL的数据筛选问题 xpression 为 Null,则 IsNull 将返回 True:否则 IsNull 将返回 False. 如果 expression 由多个变量 ...
- Mysql表连接查询
原文地址: https://www.cnblogs.com/qiuqiuqiu/p/6442791.html 1.内联接(典型的联接运算,使用像 = 或 <> 之类的比较运算符).包括相等 ...
- MySQL常见连接查询
在实际应用中,由于不同的业务需求,一般的select查询语句无法满足要求.所以就需要了解一些MySQL的高级查询方式 内连接 inner join 典型的连接查询,有相等(=)连接和不等(<&g ...
- 【mysql】连接查询
- MySQL之连接查询
主要是多表查询和连接查询
随机推荐
- BZOJ 4872 luogu P3750 [六省联考2017]分手是祝愿
4872: [Shoi2017]分手是祝愿 Time Limit: 20 Sec Memory Limit: 512 MB[Submit][Status][Discuss] Description ...
- linux 查看文件显示行号
1.用vi或vim打开文件显示行号: 显示当前行号: :nu 显示所有行号: :set nu 2.设置服务器显示行号 2.1编辑~/.vimrc文件,在该文件中加入 set nu 2.2在UBUN ...
- 4-29 c语言之栈,队列,双向链表
今天学习了数据结构中栈,队列的知识 相对于单链表来说,栈和队列就是添加的方式不同,队列就相当于排队,先排队的先出来(FIFO),而栈就相当于弹夹,先压进去的子弹后出来(FILO). 首先看一下栈(St ...
- python open函数的坑
python的open函数用来打开文件,但是在打开windows下文件时候会出错 f = open("e:\python_learn\test.txt", "r" ...
- R语言-增加图例
legend()函数 > plot(rain$Tokyo,type="l",col="red", + ylim=c(0,300), + main=&quo ...
- Linux shell read 解析
read是一个重要的bash命令,它用于从键盘或标准输入中读取文本,我们可以用read以交互的方式读取来自用户的输入,不过read能做的可远不止这些,当从键盘读取用户输入的时候,只有按下回车键才标志输 ...
- python出现编码问题的原因及编码问题的解决
1,为什么出现编码问题? 一般出现编码问题主要有四个方面: 一,解释器默认的编码和自己文件头编码是否一致 二,操作系统的语言设置问题 三,Terminal使用的编码问题 所有出现乱码的原因都可以归结为 ...
- python--第十天总结(IO多路复用)
服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种: (1)同步阻塞IO(Blocking IO):即传统的IO模型. (2)同步非阻塞IO(Non-blocking IO):默认创建的s ...
- 【Nodejs】Nodejsの環境構築
参考URL:http://www.runoob.com/nodejs/nodejs-install-setup.html Windowにインストールする方法を紹介します. ▲ダウンロードURL:htt ...
- shell命令,从字符串中提取数字
echo "2014年7月21日" | tr -cd "[0-9]" 这样就可以提取出2014721