Mysql数据备份

MySQL命令行导出数据库

进入MySQL目录下的bin文件夹
cd MySQL中到bin文件夹的目录
如我输入的命令行:cd C:\Program Files\MySQL\MySQL Server 4.1\bin
(或者直接将windows的环境变量path中添加该目录)
导出数据库
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u root -p news > news.sql
(输入后会让你输入进入MySQL的密码)
(如果导出单张表的话在数据库名后面输入表名即可)
会看到文件news.sql自动生成到bin文件下

MySQL命令行导入数据库

1,将要导入的.sql文件移至bin文件下,这样的路径比较方便
2,同上面导出的第1步
3,进入MySQL:mysql -u 用户名 -p
如我输入的命令行:mysql -u root -p (输入同样后会让你输入MySQL的密码)
4,在MySQL-Front中新建你要建的数据库,这时是空数据库,如新建一个名为news的目标数据库
5,输入:mysql>use 目标数据库名
如我输入的命令行:mysql>use news;
6,导入文件:mysql>source 导入的文件名;
如我输入的命令行:mysql>source news.sql;
MySQL备份和还原,都是利用mysqldump、mysql和source命令来完成的。

Win32下MySQL的备份与还原

(1)备份

开始菜单 | 运行 | cmd |利用“cd \Program Files\MySQL\MySQL Server 5.0\bin”命令进入bin文件夹 | 利用“mysqldump -u 用户名 -p databasename >exportfilename”导出数据库到文件,如mysqldump -u root -p voice>voice.sql,然后输入密码即可开始导出。

(2)还原

进入MySQL Command Line Client,输入密码,进入到“mysql>”,输入命令"show databases;",回车,看看有些什么数据库;建立你要还原的数据库,输入"create database voice;",回车;切换到刚建立的数据库,输入"use voice;",回车;导入数据,输入"source voice.sql;",回车,开始导入,再次出现"mysql>"并且没有提示错误即还原成功。

数据库的好处

1、持久化数据
2、结构化查询
3、共享性、安全性
4、使用一套完整的DBMS管理,比较规范和简单

sql语言分类:

DQL:select
DML:insert 、update、delete
DDL:create、alter、drop
DCL:commit、rollback

DQL 查询语言

一、基础查询

1、查询常量
select 常量值;
2、查询表达式
select 14*2;
3、查询函数
select database();
4、查询某个表的指定字段
select 字段名 from 表名;
5、查询多个字段
select 字段名,字段名 from 表名;
6、起别名
方式一:使用as
select 字段名 as 别名1,字段名 as 别名2 from 表名;
方式二:使用空格
select 字段名 别名1,字段名 别名2 from 表名;
注意:别名可以用双引号引起来,尤其是别名有特殊符号

二、条件查询

1、按条件表达式
条件运算符:> < >= <= = <=> <> !=
2、按逻辑表达式
逻辑运算符:
and &&
or ||
not !
3、模糊查询
①like
一般和通配符搭配使用
%:任意多个字符,包含0个
_:任意单个字符
案例:查询第三个字符为a的员工信息
select * from employees where last_name like ‘__a%’;

②between and
在…之间
包含临界值
③in
在…列表中

④ is null/is not null
select * from employees where manager_id is null;

三、排序查询

语法:order by 排序的字段 asc|desc
注意:
1、order by一般放在查询的最后,除limit分页外
2、asc 升序,desc 降序,默认升序
3、可以按单个字段、多个字段、别名、函数、表达式排序

四、分组查询

一)分组函数
概念:分组函数又称为聚合函数,或统计函数,或组函数
分类:
sum求和
avg平均值
count计数
max最大值
min最小值

特点:
1、sum和avg只支持数值型,其他的支持任何类型
2、分组函数都忽略null
3、和分组函数一起查询的字段必须为分组的字段
4、count(*) 计算结果集的行数,效率较高
count(1) 计算结果集的行数
示例:
select max(salary) from employees;

二)分组查询
语法:
select 分组函数,分组的字段
from 表1,…
where 分组前筛选
group by 分组的字段
having 分组后筛选
order by 排序的字段或表达式

特点:
1、可以按多个字段分组,多个字段之间没有顺序要求,用逗号隔开
2、筛选分类:
位置 关键字 针对的基准表
分组前筛选 group by前面 where 原始表
分组后筛选 group by后面 having 分组后的结果集
where——group by——having
3、分组可以和多表连接、排序搭配

五、连接查询

概念:当要查询的字段来自于多张表,则需要使用连接查询
笛卡尔乘积:
表1:m行,表2:n行,结果集:m*n行
发生原因:没有加连接条件,则所有行都实现了完全匹配
解决方法:添加上连接条件
一)传统模式下的连接
等值连接:
语法:
select last_name,department_name from employees e,departments d where e.department_id = d.department_id

特点:
1、可以实现n表连接,至少需要n-1个连接条件
2、多个表没有顺序要求,没有主从表之分
3、查询结果 为 多个表的交集部分
4、可以加筛选、分组、排序
5、一般为表起别名,提高阅读性和性能
综合案例:查询部门编号>50的领导的名称和部门编号、所在城市
SELECT last_name,d.department_id,city
FROM departments d,employees e,locations l
WHERE d.manager_id=e.employee_id
AND d.location_id=l.location_id
and d.department_id>50
order by d.department_id;

非等值连接
综合案例:查询每个员工的工资级别
SELECT grade_level,e.salary,e.employee_id
FROM job_grades j,employees e
WHERE e.salary BETWEEN j.lowest_sal AND j.highest_sal;

二)join连接
内连接:
语法:
select last_name,department_name from employees e
[inner] join departments d on e.department_id = d.department_id

== 特点:==
1.和等值连接的原理以及效果一样
2.可以加筛选条件,只是用where连接
join连接,将筛选条件和连接条件分离,提高阅读性
3.其他特点和等值连接一样,比如不分主从表以及可以添加筛选、分组、排序

外连接
左外:left outer join …on
右外: right outer join … on
全外:full outer join …on mysql语法不支持
特点:
1、外连接查询结果=内连接的结果+主表有从表没有的记录
2、左连接,left join左边的是主表。右连接,right join 右边是主表
3、一般应用在查询主表有从表没有的记录
4、小技巧:要看查询的字段来自于哪个表,则哪个表就是主表
案例:
select g.id
from student s
right outer join grade g on s.gradeid=g.id
where s.id is null;

三)自连接
案例:查询 员工名和直接上级的名
方式一:使用等值连接
select e.last_name,m.last_name
from employees e,employees m
where e.manager_id = m.employee_id
方式二:使用内连接
select e.last_name,m.last_name
from employees e
inner join employees m
on e.manager_id = m.employee_id

六、子查询

概念:一个查询语句内部又嵌套了select语句,被嵌套的select语句称为子查询或内查询
外面的查询语句称为外查询或主查询
特点:
1、子查询一般放在小括号内
2、子查询一般放在条件右侧
3、子查询优先于外查询执行
4、子查询根据查询的结果行数不同,分为单行子查询和多行子查询
单行子查询,查询结果只有一行,使用单行操作符:> < >= <= <> =
多行子查询,查询结果多行,使用多行操作符:any、some、all、in、not in等

七、分页查询

语法:
select 字段,…
from 表1,表2,…
【where 条件】
【group by 分组的字段】
【having 条件】
【order by 排序的字段】
limit 子句
特点:

① limit 条目数 :查询指定条目数的记录,默认从第一条开始
limit 起始索引,条目数:查询指定条目数的记录,从指定的起始索引开始,索引从0开始
②limit子句一定放在查询最后

③ 假设要显示 第page页的记录,每一页显示 pageSize条目
select * from 表 limit (page-1)*pageSize,pageSize;
page 起始索引 条目数
1 0 10
2 10 10
3 20 10

八、常见的单行函数
1.字符函数
length:字节长度
instr:子串第一次出现的索引,如果找不到返回0.默认索引索引从1开始
substr:截取子串
trim:去前后指定字符
concat:拼接字符串
lpad:用指定字符左填充指定长度,如果不够就从右边截取
rpad:用指定字符右填充指定长度,如果不够就从右边截取
upper:变大写
lower:变小写

2、数学函数
ceil:向上取整
floor:向下取整
round:四舍五入指定精度
rand:随机数
mod:取余 select mod(-10,-3); -10-(-10/-3)*(-3)
truncate:截断

3、日期函数
now:获取当前日期+时间
curdate:获取当前日期,不包含时间
curtime:获取当前时间,不包含日期
datediff:两个日期差(天数)
year:获取年
month:获取月
day:获取日

*注:转自刘峰吉老师的授课Word

2020.8.10英谷实训日志相关推荐

  1. 2020.7.22英谷实训日志

    连接查询 概念:查询的字段来自于多个表 语法: select 字段1,字段2 from 表1,表2 [where 连接条件] 笛卡尔乘积: 产生原因:没有加连接条件,导致结果为 表1 的行数*表2 的 ...

  2. 计算机专业实训日志-python有关

    第一天的和第二天的第一段因为之前没有用Word敲下来而是直接写在实训日志本上的所以这里就没有了. 第二天 12.01 第二节课讲了python中的函数,python中的函数和其他语言的函数有些不同,如 ...

  3. html5网页制作实训日志,网页制作实训日志X.doc

    实训日志 日期:2012-6-11(1-4)地点:信2-501机房实训内容:构思网页,确立主题构思的问题,没有一个初步的想法,对于资料的寻找也没有方向.所以,开始时我并没有急于去查找资料,而是先画出了 ...

  4. 实训日志 7 黄歆-2021.6.7

    实训日志 7 黄歆-2021.6.7 当日课程主要内容 环境配置 语言特点 python语言基础 python运行方式: python解释器: python命名规则: python 注释方式 pyth ...

  5. 杰普实训日志第一天学习内容

    杰普实习日志 第一天学习内容 主讲人:李春雨 主讲人原创内容,https://gitee.com/plusyu/shixun_hdjd/commit/7fd126f6bacfec6b27357a22b ...

  6. Java实训日志01

    文章目录 一.安装录屏软件 (一)下载软件 (二)安装软件 二.使用录屏软件 (一)启动录屏软件 (二)录制屏幕操作 三.安装XMind软件 (一)下载XMind软件 (二)安装XMind软件 四.创 ...

  7. 2020秋计算机应用基础本实训任务,国家开放大学计算机应用基础(本)形考任务二(实训任务报告)报告报告...

    实训任务报告汇总通过这次实训,真真确确的感受到计算机在我们生活工作中的运用,这些软件.程序能让我们提高工作效率,更直观便捷的切入主题.实践证明,只有掌握了这些基础知识和基本的使用方法,才能为今后的学习 ...

  8. 【个人项目】东北大学软件学院2020级2021年夏季实训项目——东软颐养社区系统

    ps:没想到过了一年这么多学弟来问,看来今年的实训题也没变? 补档:https://cloud.189.cn/t/ZnuiQjQNz67j (访问码:7i6c) 写在前面: 这个项目是大一暑期的实践项 ...

  9. 2017-7-10 暑期实训日志

    学习日志                     姓名:范 译      日期:2017.07.10 今日学习任务 函数与数组 今日任务完成情况 (详细说明本日任务是否按计划完成,开发的代码量) 今日 ...

最新文章

  1. hibernate笔记(一)
  2. 05And06VM和Linux安装
  3. 解决办法:编译OpenCV,Open Project无反应
  4. unity shader projector使用
  5. 未来计算机和ai应用,计算机人工智能技术的应用与发展(1)
  6. 网页使用中文字体的两种解决方案
  7. 《JavaScript学习笔记》
  8. 微信小程序 位置定位position详解,相对定位relative,绝对定位absolute相关问题
  9. 第六章——数值积分与数值微分
  10. MySQL错误:Column ‘pno‘ in field list is ambiguous是什么问题呢?
  11. 【数据库】数据库编程
  12. uni-app开发社区交友类项目
  13. rk3399 中间层移除短按power息屏待机+永不深度睡眠
  14. 五年高考三年模拟暗部软件库_8款实用的手机学习软件推荐,高中生学习必备!...
  15. oracle中 unino,union all,minus,intersect的用法
  16. E.164号码,E.214号码,E.212号码
  17. 2019年北京移动电信联通校园卡200打一年300打两年套餐对比
  18. Bit(位)与Byte(字节)的区别
  19. python找出字符串中的最长回文串子序列
  20. 那些好玩的网站(二)

热门文章

  1. 梦龙LinkWorks协同办公平台 几处突破点
  2. 团队管理之性能实施团队日志1
  3. 魔兽服务器联盟在线,魔兽世界2018联盟服务器 | 手游网游页游攻略大全
  4. Gpon与Epon的区别
  5. 诺基亚E71使用技巧大全 转帖 感谢作者
  6. Win10电脑怎么找回便签记录?如何恢复误删的内容?
  7. 小米android iso,从iOS到Android——小米11及小米生态实际使用体验
  8. 如何查看电脑激活状态
  9. VS Code #include <bits/stdc++.h> 错误
  10. 如何使用java代码获取屏幕显示器个数