找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
一.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 临时表的名称

分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册