mysql操作 Left join , Right Join, Inner Join
一.先看一些最简单的例子
例子
Table A
aid adate
1 a1
2 a2
3 a3
TableB
bid bdate
1 b1
2 b2
4 b4
两个表a,b相连接,要取出id相同的字段
select * from a inner join
b on a.aid = b.bid这是仅取出匹配的数据.
此时的取出的是:
1 a1 b1
2 a2 b2
那么left join 指:
select * from a left join
b on
a.aid = b.bid
取出a表所有数据,拿b的数据与a比较,相同的取出,不同的b取空值取出
此时的取出的是:
1 a1 b1
2 a2 b2
3 a3 空字符
同样的也有right join
select * from a right join
b on
a.aid = b.bid
取出b表所有数据,拿a的数据与b比较,相同的取出,不同的a取空值取出
此时的取出的是:
1 a1 b1
2 a2 b2
4 空字符 b4
注:
都是在on的条件下
二. left join/right join/inner join操作演示
表A记录如下:
aID aNum
1 a20050111
2 a20050112
3 a20050113
4 a20050114
5 a20050115
表B记录如下:
bID bName
1 2006032401
2 2006032402
3 2006032403
4 2006032404
8 2006032408
实验如下:
1. left join
sql语句如下:
SELECT
*
from
A
LEFT
JOIN
B
ON
A.aID
=
B.bID
结果如下:
aID aNum &
相关文档:
1 导出:
进入命令行: 执行
mysqldump -u username -p password –all-databases > all.sql
详细参数:
http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html
2 导入
进入mysql -u username -p password
执行source all.sql;
......
Mysql所支持的引擎目前有以下几种:
MyISAM,InnoDB,MERGE,MEMORY(HEAR),BDB(BerkeleyDB),EXAMPLE,FEDERATED,ARCHIVE,CSV,BLACKHOLE.
为什么要有这么多引擎?主要是Mysql是一款极为强大的数据库,它适应很多不同的运行环境,为了满足各种不同的运行环境与存储方案的需要,这些搜索引擎也就应运而生(不光是为了配合Mysql ......
mysql文件导入乱码问题的解决:
1 命令察看字符设置。
mysql> show variables like "%char%";
2 将不是utf-8的都改成utf8。只有filesystem不变;
| Variable_name | Value
&nb ......
Mysql常用命令脚本
第一招、mysql服务的启动和停止
net stop mysql
net start mysql
第二招、登陆mysql
语法是 mysql -h主机 -u用户名 -p秘密
例子是 mysql -hlocalhost -uroot -p123456
要确定mysql安装时候勾选了可以远程链接。如果登陆本地计算机,-h可以省略,键入命令mysql -uroot -p, 回车后提示你输入密码, ......
CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
VIEW view_name [(column_list)]
AS select_statement
[WITH [CASCADED | LOCAL] CHECK OPTION]
该语句能创建新的视图,如果给定了OR REPLACE子句,该语句还能替换已有的视图。s ......