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 &
相关文档:
Linux下mysql的安装步骤(非rpm安装)
1 下载mysql-standard-5.0.27-linux-i686-glibc23.tar.gz 包
2 解压到安装目录: tar -zxvf /edass/db/mysql-standard-5.0.27-linux-i686-glibc23.tar.gz
3 将 mysql-standard-5.0.27-linux-i686-glibc23链接到mysql : ln –s mysql-standard-5.0.27-linux-i686 ......
卸载Mysql
[root@localhost ~]# rpm -qa | grep mysql
mysql-3.23.58-9
php-mysql-4.3.4-11
mod_auth_mysql-20030510-4.1
mysql-server-3.23.58-9
说明:rpm –qa | grep mysql 命令是为了把mysql相关的包都列出来,卸载都从最下面的一个包开始,直到卸载掉第一个为止。执行rpm -q php,如果返回php版本, ......
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;
......
来源:http://www.blogjava.net/Alpha/archive/2007/07/23/131912.html
//主键549830479
alter table tabelname add new_field_id int(5) unsigned default 0 not null auto_increment ,add primary key (new_field_id);
//增加一个新列549830479
alter table t2 add d timestamp;
alter table infos add ......