认识数据库备份和事务日志备份

数据库备份与日志备份是数据库维护的日常工作,备份的目的是在于当数据库出现故障或者遭到破坏时可以根据备份的数据库及事务日志文件还原到最近的时间点将损失降到最低点。

数据库备份

数据库备份可以手动备份和语句备份

手动备份数据库

1.鼠标右键选择你要进行备份的数据库-任务-备份,可以在常规选项页面你可以选择备份类型是进行完整数据库备份还是差异数据库备份

2.点击添加选项,选择数据库文件的存放路径注意文件名记得加后缀.bak,便于恢复时的查找

数据库还原

右键数据库-还原数据库-添加需要进行还原的数据库文件路径

在还原源选项中你可以选择‘源数据库’,‘源设备’。

1.选择源数据库工具会自动显示该数据库之前的一些备份,然后直接选择需要还原的数据库备份集。

2.选择源设备点击后面的...,添加需要还原的数据库文件,点击确认还原数据库

数据库的附加和分离

分离:找到数据库,点击右键--任务--分离,确定 分离之后,可以复制数据库的文件到其他电脑D:\Program Files\Microsoft SQL Server  \MSSQL10.MSSQLSERVER\MSSQL\DATA

附加:选中数据库,右键--附加--弹出对话框--选择附加的文件--点击添加找到要附加的文件--确定

查询数据(关键字:select)

(1)简单查询

select * from 表名

select 列名 from 表名

select 列名 as 别名 from 表名

(2)条件查询 (where  or  and)

select * from 表名 where 条件1

select * from 表名 where 条件1 or 条件2

select * from 表名 where 条件1 and 条件2

(3)范围查询 (between  and)

select * from 表名 where 列名 between 值1 and 值2

(4)离散查询 (in  not in)

select * from 表名 where 列名 in(数据列表)

select * from 表名 where 列名 not in(数据列表)

(5)模糊查询  (like   %任意多个字符    _任意一个字符)

select * from 表名 where 列名 like ‘%_’

(6)排序查询 ( order by    desc降序   asc升序)

select * from 表名 order by 列名 ——默认升序,也可在列名后面加asc

select * from 表名 order by 列名 desc

(7)分组查询  (group by     having)

select * from 表名 group by 列名 having  条件 ——having需要跟在group by 后使用

(8)分页查询  (top  n 取前n个值)

select  top n * from 表名

(9)去重查询  (关键字: distinct )

select distinct 列名 from 表名

聚合函数(统计函数)

select count(*) from 表名

select sum(列名) from 表名

select avg(列名) from 表名

select max(列名) from 表名

--最高语文成绩 和最低语文成绩
select MAX(yuscore),MIN(yuscore) from xuesheng
--最高数学成绩和最低数学成绩
select MAX(shuscore) as 数学最高分,MIN(shuscore) as 数学最低分 from xuesheng
--每个班级的平均分
select banji 班级,avg(shuscore) 数学平局分 from xuesheng group by banji
--所有男生的姓名
select name from xuesheng where sex='男'
--一班的数学最高分和数学最低分
select MAX(shuscore) as 数学最高分,MIN(shuscore) as 数学最低分 from xuesheng where banji='一班'
--数学成绩最高的同学的信息
select top 1 *from xuesheng order by shuscore desc
--女生的人数
select COUNT(*) from xuesheng where sex='女'
--平均分超过81的班级、人数
select banji,COUNT(*),avg(shuscore) from xuesheng group by banji having AVG(shuscore)>81
--数学成绩大于75的 班级的人数
select banji,COUNT(*)from xuesheng where shuscore>75 group by banji order by COUNT(*) desc
--一班数学成绩大于75的学生信息
select *from xuesheng where shuscore>75 and banji='一班'

SQL 数据库备、还,附、分,数据查询,聚合函数的更多相关文章

  1. Influx Sql系列教程九:query数据查询基本篇二

    前面一篇介绍了influxdb中基本的查询操作,在结尾处提到了如果我们希望对查询的结果进行分组,排序,分页时,应该怎么操作,接下来我们看一下上面几个场景的支持 在开始本文之前,建议先阅读上篇博文: 1 ...

  2. Influx Sql系列教程八:query数据查询基本篇

    前面几篇介绍了InfluxDB的添加,删除修改数据,接下来进入查询篇,掌握一定的SQL知识对于理解本篇博文有更好的帮助,下面在介绍查询的基础操作的同时,也会给出InfluxSql与SQL之间的一些差别 ...

  3. 三十二:数据库之SQLAlchemy.query函数可查询的数据和聚合函数

    准备工作 from sqlalchemy import create_engine, Column, Integer, String, Floatfrom sqlalchemy.ext.declara ...

  4. SQL 必知必会·笔记<7>汇总数据——使用聚合函数

    有时候我们需要对表中的数据进行汇总,而不需要数据本身,为了方便这些类型的检索,SQL给出了5个聚合函数,SQL聚合函数在各主要的SQL实现中得到了相当一致的支持.如下: 1.1 AVG()函数 AVG ...

  5. sql查询 ——聚合函数

    --聚合函数 -- sum() -- 求和 select sum(age) from student; -- count() -- 求数量 -- 数据量 select count(*) as '数量' ...

  6. 一.oracle的SQL中group by使用的情况(与聚合函数的关系)

    SELECT r.industry_1,r.industry_2,r.agent_id,r.agent_name,COUNT(DISTINCT r.customer_name_a)数据总量,COUNT ...

  7. MySQL数据库学习笔记(四)----MySQL聚合函数、控制流程函数(含navicat软件的介绍)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  8. SQL中WHERE子句中为什么不能使用聚合函数?

    我们先来看一下这个代码: SELECT * FROM product WHERE SUM(slae_price) > 1000 GROUP BY product_type; 这样子会报错: SE ...

  9. SQL Server ->> 使用CROSS APPLY语句是遇到聚合函数中包含外部引用列时报错

    本次遇到的问题是CROSS APPLY的内部查询语句中的聚合函数包含CASE WHEN判断,且同时又内部语句的表的列和外部引用的表的列,此时会报下列的错误. 消息 8124,级别 16,状态 1,第 ...

随机推荐

  1. .gitignore 配置

    .gitignore 配置文件用于配置不需要加入版本管理的文件,配置好该文件可以为我们的版本管理带来很大的便利,以下是个人对于配置 .gitignore 的一些心得. 1.配置语法: 以斜杠“/”开头 ...

  2. ①spirngMVC框架运行原理图

  3. SQLite(快速上手版)笔记

    原文 1. SQL语法关键字 关键字 描述 Create Table 创建数据表 Alter Table 修改数据表 Drop Table 删除数据表 Create Index 创建索引 Drop I ...

  4. ROSE User Case View

    用例视图(User Case View) 在面向对象的分析过程中,此视图应该是需求分析的过程中采用,主要包括如下过程 01涉众分析--->02业务分析--->03概念分析--->04 ...

  5. Java线程池的原理及几类线程池的介绍

    刚刚研究了一下线程池,如果有不足之处,请大家不吝赐教,大家共同学习.共同交流. 在什么情况下使用线程池? 单个任务处理的时间比较短 将需处理的任务的数量大 使用线程池的好处: 减少在创建和销毁线程上所 ...

  6. Mixing Delphi and C++(相互调用)

    Mixing Delphi and C++ You have a TStringList and <algorithm>. What can you do? Quite a lot, ac ...

  7. [Stanford 2011] 知识点小结

    1.获得帮助:option+click /  option+double click 2.@property里的nonatomic,表示非原子性访问,atomic是obj-c里使用的一种线程保护技术, ...

  8. [LeetCode]题解(python):086 - Partition List

    题目来源 https://leetcode.com/problems/partition-list/ Given a linked list and a value x, partition it s ...

  9. Shell Script-读取配置文件

    需求 有时候在shell script里面需要一些执行,如果放在程序里面不便于统一管理,并且每一次修改路径都要去script里面改好麻烦,所以统一把路径放在配置文件中方便管理. 问题 如何读取相对应的 ...

  10. 【C++】利用指针实现通过函数改变多个参数的值

    写惯了python,对于C++的语法越来越生疏,不同于python中函数可以return多个变量,C++的函数要想返回多个参数可以利用指针实现. 因为在函数内部的变量都是局部变量,所以当参数传入函数中 ...