邮件服务器备份:
c 创建  查询  更新  删除  /  增删改查;
分离:把数据库aaa暂时离开数据库,可以分离,附加到另外地方去;
.mdf  和  .ldf 这两个文件
所有任务---分离数据库
附加数据库:
---备份和恢复
备份数据库不会影响原数据库的使用;
备份数据库会形成back文件;
kkk.back
 
---数据库恢复
备份对应还原;
.从设备
=========================
--查询分析器中完成备份和恢复
 
--如何备份数据库
backup  database  aaa  to  disk='xxx.bak'
--删除数据库
drop  database  aaa
--恢复数据库
restore  database  你的数据库名  from  disk='xxx'
--有时候可能不需要备份整个数据,表的备份...
 
--JDBC--
现实生活中有许多编程语言,
数据库需要对这些编程语言有好的支持,
各个语言不一样,做个接口,
微软-最早做了个ODBC,开放的数据接口;
接口就是一堆API,一堆函数;
通过API,对数据库进行操作;
sun公司对效率不太满意,JDBC,JDBC-ODBC-数据库;
JDBC直接操作数据库;纯JDBC(微软提供给sun的驱动);
本地协议的JDBC/网络化的JDBC;
JDBC-ODBC:
纯JDBC:
JAVA-ORACLE:
也叫JDBC,但是针对ORACLE的JDBC;不同的系统;
连的时候的驱动不一样,后面是一样的;
Hiberate项目:所有数据库统一起来:
实现了对数据库操作更宽泛的统一和更好的可移植性;
--jdbc-odbc桥连接,odbc搭了个桥
-演示使用jdbc-odbc桥连方式操作数据库 
1.配置数据源
2.在程序中连接数据源
---------------------------------
开始-控制面板-管理工具-数据源
用户、系统
用户DSN/添加-SQLserver
小三角,会在全网中找数据库实例,速度会很慢
.  或者 local
两种方式连接数据源
-----------------------
--程序中连接数据源
 
1.加载驱动(作用是把需要的驱动加入内存)
Class.forName("sun.jdbc.odbc.Jdc0dbcDriver")
2.得到连接
import  java.sql.*;
  Connection  ct=DriverManager.getConnection("jdbc:odbc:mytest","sa","shunping")
mytest是数据源的名称,windows验证,不写用户名、密码;
3.创建statement或者PreparedStatement
//statement用处是:主要用于发送sql语句到数据库
Statement  sm=ct.createStatement();
4.执行(crud,创建数据库,备份数据库,删除数据库)
//executeUpdate可以执行cud操作
sm.executeUpdate(arg0)
 
int i=sm.execute.......
i==1 ,1 条加进;i表示添加记录的数量;
Connection / Stetement 是一种资源,必须关闭;
不然,连接会越积越多;
关闭顺序是:谁后创建,谁先关闭;
为了程序健壮,做一个判断:
if (sm !=null)

数据库的备份和恢复

使用企业管理器完成备份和恢复

使用企业管理器有两种方式完成备份和恢复

1、分离/附加

分离完后,请到sql server安装的目录下去找两个文件数据库名.mdf和数据库名.ldf,这两个文件就是分离后的文件,数据库分离后,该数据库就不能再使用了。

附加是指,当用户需要重新使用某个分离的数据库时进行的操作,就是让sql server数据库重新关联该数据库。

2、备份/恢复

备份数据库是指,把某个数据库文件从sql server中备份出来,这样用户可以根据需要再使用(用于恢复、复用..),备份数据库不会影响到源数据库的使用

恢复数据库是指,当源数据库因为某种原因(比如源数据库毁坏、数据丢失、系统崩溃)需要恢复时进行的操作

使用查询分析器完成备份和恢复

用企业管理器完成对数据库的备份和恢复简单直观,同样我们也可以在查询分析器中完成类似的任务。

--使用查询分析器对数据库进行备份和恢复

--数据库备份

--语法:backup database 数据库名 to disk='存储路径'

backup database LiangshanHero2 to disk='f:/liangshan.bak'

--数据库恢复

--语法:restore database 数据库名 from disk='读取路径'

restore database LiangshanHero2 from disk='f:/liangshan.bak'

--新建数据库

--语法:create datebase 数据库名

create database LiangshanHero2

--删除数据库

--语法:drop database 数据库名

drop database LiangshanHero2

*******************************************************************************

java程序操作sql server

crud介绍(增、删、改、查操作)

CRUD是指在做计算处理时的增加(Create)、查询(Retrieve)(重新得到数据)、更新(Update)和删除(Delete)几个单记事的首字母简写。主要被用在描述软件系统中数据库或者持久层的基本操作功能。

Incomputing,CRUD is an acronym for create,retrieve,update,and delete.It is used to refer to the basic functions of a database or persistence layer in a software system.

Create new records

Rctricvc cxisting rccords

Update existing records

Delete existing records.

crud介绍

要对数据表进行增、删、改、查,我们首先要清楚jdbc基本的概念:

JDBC有两种,一种原sun公司提供的数据库连接api但不是直接连接sql server而是先连接ODBC再通过ODBC对sql server进行操作;一种是由微软提供的JDBC数据库连接api可直接对sql server数据库进行操作。

JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。

有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。

注:JDBC访问不同的数据库使用的JDBC API都有所不同,虽然统称为JDBC。如:访问sql server数据库的JDBC,是不能访问oracle数据库的,同理也是也不访问mysql、db2、Informix数据库等。只是访问方式不同,对数据库的操作依然是使用sql语句操作

Java 具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是 Java应用程序与各种不同数据库之间进行对话的方法。而JDBC 正是作为此种用途的机制。

java程序操作sql server

jdbc的驱动的分类

目前比较常见的JDBC驱动程序可分为以下四个种类

1、jdbc-odbc桥连接

2、本地协议纯java驱动程序

3、网络协议纯java驱动程序

4、本地api

jdbc不足

尽管JDBC在JAVA语言层面实现了统一,但不同数据库仍旧有许多差异。为了更好地实现跨数据库操作,于是诞生了Hibernate项目,Hibernate是对JDBC的再封装,实现了对数据库操作更宽泛的统一和更好的可移植性。

java操作sql server数据库(表)

1、我们先使用jdbc-odbc桥连的方式来操作sql server数据库(表)完成对emp表的crud操作[Sql_test1.java]

2、再用jdbc驱动程序直接操作sql server数据库(表)完成对emp表的crud操作。

/**

*演示使用jdbc-odbc桥连方式操作sql server数据库

* 具体操作test数据库的emp表和dept表

*1、配置数据源--windows下在控制面板-->管理工具-->ODBC数据源-->用户DSN--添加

* sql server

* 2、在程序中去连接数据源

* 3、使用Statement(不安全)连接数据库

*/

 1 package com.sqlserver;
 2 import java.sql.*;
 3 public class Sql_test1 {
 4     public static void main(String[] args) {
 5         Connection ct=null;
 6         Statement  sm=null;
 7         ResultSet  rs=null;
 8         try {
 9             //1、加载驱动(把需要的驱动程序加入内存)
10             Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
11             //2、得到连接(指定连接到哪个数据源、数据库的用户名和密码)
12             //如果配置数据源的时候选择的是windows NT验证方式,则不需要数据库的用户名和密码
13             //Connection ct=DriverManager.getConnection("jdbc:odbc:mytest");
14             ct=DriverManager.getConnection("jdbc:odbc:mytest","sa","sa");
15             //3、创建Statement或者PreparedStatement(区别)
16             //Statement用处:主要用于发送SQL语句到数据库
17             sm=ct.createStatement();
18             //4、执行(CRUD,创建数据库、备份数据库、删除数据库)
19             //演示1:添加一条数据到dept表中
20             //executeUpdate可以执行CUD操作(添加、删除、修改)
21             int i=sm.executeUpdate("insert into dept values('60','保安部','西永')");
22             if(i==1){
23                 System.out.println("数据添加成功");
24             }else{
25                 System.out.println("添加失败");
26             }
27
28             //演示2:从dept表中删除一条记录
29             int j=sm.executeUpdate("delete from dept where deptno='50'");
30             if(j==1){
31                 System.out.println("数据删除成功");
32             }else{
33                 System.out.println("删除失败");
34             }
35
36             //演示3:从dept表中修改deptno=40 loc改为beijing
37             int k=sm.executeUpdate("update dept set loc='beijing' where deptno='40'");
38             if(k==1){
39                 System.out.println("数据修改成功");
40             }else{
41                 System.out.println("修改失败");
42             }
43
44             //演示4:查询,显示所有的部门信息
45             //ResultSet结果集,大家可以把ResultSet理解成返回一张表行的结果集
46             rs=sm.executeQuery("select * from dept");
47             //循环取出
48             while(rs.next()){
49                 int a=rs.getInt(1);
50                 String b=rs.getString(2);
51                 String c=rs.getString(3);
52                 System.out.println(a+"\t"+b+"\t"+c);
53             }
54         } catch (Exception e) {
55             e.printStackTrace();
56         }finally{
57             //关闭资源,关闭顺序先创建后关闭,后创建先关闭
58             try {
59                 //为了程序健壮
60                 if(rs!=null){
61                     rs.close();
62                 }
63                 if(sm!=null){
64                     sm.close();
65                 }
66                 if(ct!=null){
67                     ct.close();
68                 }
69             } catch (SQLException e) {
70                 e.printStackTrace();
71             }
72         }
73     }
74 }

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">

来自为知笔记(Wiz)

转载于:https://www.cnblogs.com/xuxaut-558/p/10035881.html

JAVA入门到精通-第64讲-sql server备份恢复相关推荐

  1. JAVA入门到精通-第55讲-sql server基本使用

    服务管理器: 自动:跟系统一起启动:手动避免吃内存: 企业管理器:(偏向于图形用户界面的) SQL Server组来管理的: 表只是数据对象的一种: 数据库的本质仍然是文件,是一种特殊结构的文件: 登 ...

  2. JAVA入门到精通-第94讲-山寨QQ项目8-好友在线提示

    遇到的问题: 现在每登录一个人,后面的人是能看到前面的登录的人的: 但是,前面的人看不到后面的人登录: //后面每登录一个人,有责任去通知前面登录的人他已经上线了: 通知了完以后,需要更改好友在线的情 ...

  3. 【SQL Server备份恢复】数据库恢复:对page header的恢复

    前两天在论坛,看到有个网友提问,说是: 格式化磁盘前把.mdf和.ldf拷贝出来了,然后格式化完成后在拷贝回去(拷贝前后都没有错误提示,文件大小也一样),在企业管理器中附加数据库出错,提示" ...

  4. SQL Server备份恢复

    文章目录 一.备份 1.1 完整备份 1.2 差异备份 1.3 事务日志备份 1.4 文件和文件组备份 1.5 关于备份的关注点 1.6 三种备份方式对比 二.恢复 2.1 恢复的3种方式 2.2 还 ...

  5. JAVA入门到精通-第73讲-学生管理系统5-dao.sqlhelper

    -Model2模式 如果数据模型会很多,怎么办? 处理业务逻辑的:Model层 后台又分为:处理业务逻辑和对数据库的操作DAO-data access object -决定,再抽象一层出来:数据模型: ...

  6. JAVA入门到精通-第71讲-学生管理系统3-增删改查

    模式的概念(mv): 提高系统的可读性.可维护性.效率:  --------------------- 添加.修改.删除 //添加的界面做好了 //对添加的按钮做个响应,直接操作数据库: //完全可以 ...

  7. JAVA入门到精通-第38讲-线程-坦克大战6

    应用程序在内存中开辟空间-进程: 内存-大脑容量: 反应切换的速度-CPU: 试图去尝试别的进程的地址空间---病毒: 线程是由进程(应用程序)创建的: 涉及到并发,就会涉及到线程:迅雷下载: 线程不 ...

  8. JAVA入门到精通-第32讲-swing编程实战

    JBorderLayout,左边是JList,拆分窗格: 图片是放在JLabel上的,图片的地址写好就行: 在相关项目下面建立一个文件夹Folder,放置图片:或者复制粘贴: 拆分:水平拆分?垂直拆分 ...

  9. JAVA入门到精通-第43讲-IO编程-坦克大战10

    //当敌人子弹击中我的时候,死亡 this.hitEnemyTank( ); //每一个敌人的坦克击中我 //我的坦克被击中,爆炸,消失 //当敌人互相有碰撞的时候,不能往前面走了 矩形的任何一点不能 ...

最新文章

  1. 大疆、港科大联手!双目3D目标检测实验效果大放送 | CVPR 2019
  2. 【干货书】Pytorch创建和部署深度学习应用
  3. 海量数据库解决方案2011031701
  4. 基于.NET实现数据挖掘--线性回归算法
  5. 字符串常量前面的L的作用
  6. Twice enter press click will trigger backend roundtrip
  7. 基坑监测日报模板_基坑监测有多重要?实录基坑坍塌过程,不亲身经历,不知道现场有多恐怖!...
  8. c语言程序设计第2章,C语言程序设计第2章 结构化程序设计与算法.ppt
  9. python queue windows_python Queue模块
  10. BERT大魔王为何在商业环境下碰壁?
  11. 【转载】MySQL5.6.27 Release Note解读(innodb及复制模块)
  12. 《Don't make me think 》关于Web可用性的三大定律
  13. Leader-Follower线程模型
  14. 第9章 逻辑回归 学习笔记 中
  15. RGB 和 YUV之间的转换
  16. 使用Tesseract对图片文字OCR识别
  17. 虚拟机黑裙加载硬盘_在Promox VE(PVE)虚拟机安装黑群晖并开启硬盘休眠的方法...
  18. 监听springboot进程,如果关闭就重启
  19. Java开源 Web开发框架 (一)
  20. 什么是项目生命周期?如何划分项目阶段?有什么意义?

热门文章

  1. java 方法_Java 方法 | 菜鸟教程
  2. springboot16 整合MyBatis
  3. 如何注册和获取百度地图的密钥
  4. 禁用计算机服务,适当禁用系统服务 提升计算机运行速度
  5. 静态内部类实现单例_为什么用枚举类来实现单例模式越来越流行?
  6. java 线程释放_如何手动释放一个java线程占用的资源
  7. ssh相关命令Linux,Linux SSH常用命令 [长期更新]...
  8. 小肽相关1~peptidomic discovery of short open reading frame–encoded peptides in human cells
  9. centos怎么启动linux系统时间,查看Centos系统最近一次启动时间和运行时间
  10. 大数据在银行的七个应用实例