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

 
邮件服务器备份:
 
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再通过ODBCsql server进行操作;一种是由微软提供的JDBC数据库连接api可直接对sql server数据库进行操作。

JDBCJava 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数据库的,同理也是也不访问mysqldb2Informix数据库等。只是访问方式不同,对数据库的操作依然是使用sql语句操作

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

 

java程序操作sql server

jdbc的驱动的分类

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

1jdbc-odbc桥连接

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

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

4、本地api

 

jdbc不足

尽管JDBCJAVA语言层面实现了统一,但不同数据库仍旧有许多差异。为了更好地实现跨数据库操作,于是诞生了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+"	"+b+"	"+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;">





原文地址:https://www.cnblogs.com/xuxaut-558/p/10035881.html