MySQL入门(三)

一、连接查询

  • 交叉连接

select 字段列表[字段别名]/* from 左表 cross join 右表;

select 字段列表[字段别名]/* from 左表, 右表;

结果为笛卡尔积,都可以跟条件where/on,效果和内连接一样。

  • 内连接

select 字段列表[字段别名]/* from 左表 [inner] join 右表 on 左表.字段 = 右表.字段;

去掉on条件效果和交叉连接一样,on也可以换成where。

  • 外链接

select 字段列表[字段别名]/* from 左表 left/right [out] join 右表 on 左表.字段 = 右表.字段;

在需要包含没有关联的那些行时使用。

  • 自然连接

内连接:natural join,外链接:natural left/right join

使用同名字段自动匹配。

二、联合查询

select 语句1 union [union选项] select 语句2;

union选项:all、distinct,联合查询中使用order by时语句要加括号并且搭配limit使用。

三、外键

  • 新增:在所有字段之后foreign key(字段名) references 表名(主键字段);或alter table 表名 [constraint 外键名] add foreign key(字段名) references 表名(主键字段);
  • 删除:alter table 表名 drop foreign key 外键名;

外键约束(针对父表):foreign key(字段名) references 表名(主键字段) on delete 约束 on update 约束;

  • district:不允许删除或更新已引用的值
  • cascade:父表的操作影响子表
  • set null:置空

四、视图

  • 新增:create view 视图名字 as select 语句;
  • 查看:用查看表的方式可以查看视图
  • 修改视图来源:alter view 视图名字 as select 语句;
  • 删除:drop view 视图名字;
不能对多表数据源的视图插入和删除数据,但可以更新数据,单表数据源视图支持所有操作。

五、备份

  • 数据表备份:直接复制文件夹下的表结构以及数据文件,innodb不适用,myisam适用
  • 单表数据备份

     - 备份:select */字段列表 into outfile '文件路径' from 数据源;

     - 还原:load data infile '文件路径' into table 表名;

  • SQL备份

     - 备份:mysqldump -hPup 数据库名 数据表名 > 文件路径

     - 还原

         - mysql客户端:mysql -hPup 数据库名 < 文件目录
         - SQL指令:source 文件目录
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值