精品文档,仅供学习与交流,如有侵权请联系网站删除
【精品文档】第 1 页
mysql学
mysqldump 备份
备份单独库下面的所有表
mysqldump -uuname -ppassword db > 地址+备份文件名称
备份某库下的几个表
mysqldump -uuname -ppassword db table1 table2 table3 等> 地址+备份文件名称
备份多个数据库
mysqldump -uuname -ppassword -B db1 db2 >地址+备份文件名称
备份所有数据库
mysqldump -uuname -ppassword -A
导出的是 建表语句和 insert语句
注意:恢复文件的 地址形式 如 e:\\
文件名称 后没有分号!!!
恢复
1 登陆到 mysql命令行的状态下
库级文件的恢复
mysql> source 备份文件地址
表级文件的恢复
mysql> use 库名
mysql> source 备份文件地址
2 不登陆的情况下
库级的
mysql -u用户名 -p密码 <备份文件地址
表级
mysql -u用户名 -p密码 库名<备份文件地址
mysql 模糊查询
like
% -->通配任意字符
_ -->通配一个字符
练习:
1 % -->通配任意字符
精品文档,仅供学习与交流,如有侵权请联系网站删除
【精品文档】第 2 页
2 _ -->通配一个字符
笛卡尔积与连接查询
连接查询 (左连接 右连接 内连接)
笛卡尔乘积
集合特性 : 确定性 无序性 唯一性
一张表可以看做是一个集合,每行数据相当于集合的一个元素
Union时 去掉重复 原理 就是集合元素的唯一性
表中存在完全相同的两行 是因为 表内部 存在 rowid
进行区分
笛卡尔积
如果 a∈A, b∈B
A*B = ( a, b);
例如 A=(1,2,3,4,5);B=(11,12);
那么 A*B
(1,11), (2,11), (3,11), (4,11), (5,11),
(1,12), (2,12), (3,12), (4,12), (5,12);
精品文档,仅供学习与交流,如有侵权请联系网站删除
【精品文档】第 3 页
A有 M 个元素 B 有N 个元素
那么 A*B 有 M*N个元素
同理
表A有 M 行 表B 有N 行
那么 A*B 有 M*N行
例如:
ta tb 两表
笛卡尔积
通过分析可以看出
tb 表的 a b c d 每个分别和 ta 的a b c d 组合一遍
左连接
1 连上表
2 连接条件
例如:
select
good_id,,goods_name,shop_price
from
goods left join category
on = ;
字段名重复那么需要加表前缀,否则会报错;
精品文档,仅供学习与交流,如有侵权请联系网站删除
【精品文档】第 4 页
error 1052(23000) column * in field list is ambiguous
最后两行可以看 作是一张表。
左连接语法:
select 列1,列2,列N
from
table 1 left join table 2
on table 1 列 = table 2 列;
on 后面的条件只要是条件就可以 可以不是等于 但是常用是等于。将from 后面的当做一个普通表看待。
右连接语法:
select 列1,列2,列N
from
table 1 right join table 2
on table 1 列 = table 2 列;
内连接 inner
select 列1,列2,列N
from
table 1 inner join table 2
on table 1 列 = table 2 列;
左连接 右连接 内连接的区别和联系:
精品文档,仅供学习与交流,如有侵权请联系网站删除
【精品文档】第 5 页
左连接和右连接
是以左边的表为基准。通俗的讲,先将左边的表全部显示出来,然后右边的表id与左边表id相同的记录就“拼接”上去,比如说id为1的记录。如果没有匹配的id,比如说t1中id为2的t2中就没有。那边就以null显示。
右外连接过程正好相反。
内连接
只
mysql学习总结 来自淘豆网m.daumloan.com转载请标明出处.