一.Navicat 远程客户端工具
用来远程操作数据库,可以使用navicat 多人远程操控同一个数据库。
使用Navicat 链接数据库:
1). 获取到 linux 的 IP
2). 当前的mysql 当中有百分号--- 远程登录用户 (% 用户设置 mysql第九天学的 )
use mysql ; select user ,host from user;
3). 关闭linux 系统的防火墙 service iptables stop
4)打开 Navicat 点击链接 ---> 选择mysql链接
链接名 :任意命名
主机: 填写 linux 域名 / 或者IP地址
端口 :mysql的端口号 ---> mysql默认 端口是3306
用户名:填写远程登录的用户 具有百分号权限的用户
密码 : 123456
2. 内容注释;
select * from grandes ;
# 这是查看表grandes 加上#号 表示注释内容当中的语句不会被程序运行
# 第一种注释方法 内容前面加#
# 第二种 多行注释 ctr + ? 全选注释
3 。多表操作
多表操作: 表与表之间进行链接合成一张新的表
create table aa(id int(4),name char(20));
create table bb(sid int(4),age int(4));
insert into aa VALUES(1,"zhangsan"),(2,"lisi");
insert into bb values(1,18)
select * from aa;
select * FROM bb;
4.多表链接方法:
方法一: 基础链接,使用where进行链接
链接的两个字段只有相同的字段值得内容才会建立链接显示内容,
如果字段两个表的内容不一致则不会建立链接
select * from aa;
select * FROM bb;
select * from aa,bb where aa.id=bb.sid;
增加条件 select * from aa,bb where aa.id=bb.sid and name="zhangsan"; 或者select id from aa,bb where aa.id=bb.sid;
方法二 : 内连接的方法 inner join 。。on
select * from aa inner join bb on aa.id=bb.sid;
方法三:左连接 left join ... on
left join 左连接是以左边的表为主表,显示主表所有的数据,右表没有的数据自动用 null 进行填充
select * from aa left join bb on aa.id=bb.sid;
select * from aa left join bb on aa.id=bb.sid where name="zhangsan";
方法四 : 右连接 right join
是以右边的表为主表,左边为附表,左边没有的数据自动 用null进行填充
方法五 : 硬连接 union
机械式追加 :追加在主表内容下方
select * from aa union select * from bb;
5. in 和 not in 和 = 的区别
1)not in 不存在
select * from aa where id not in(3,6);不存在3 和6
2)in 存在
select * from aa where id in(3,6); 只存在3和6
其他的字段也可以用 in 来获取
select * from aa left join bb on aa.id=bb.sid where name in ("zhangsan","lisi");
select * from aa left join bb on aa.id=bb.sid where id in (3,4);
3.)= 容器里只能存在一个值 ,如果想查询两个就要用in
select * from aa left join bb on aa.id=bb.sid where name = ("zhangsan");
6. 嵌套 :利用嵌套取 lisi zhangsan
select * from aa left join bb on aa.id=bb.sid where name in ("zhangsan","lisi");
select name from aa where name="zhangsan" or name= "lisi" ;
select * from aa left join bb on aa.id=bb.sid where name in (select name from aa where name="zhangsan" or name= "lisi" );
7. 临时表 :所有的sql 语句都可以做二次查询
select * from aa left join bb on aa.id = bb.sid
select name from (select * from aa left join bb on aa.id = bb.sid ) t;
t 临时表的名称
|
|