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)
 
 
 

數據庫的備份和恢復java

使用企業管理器完成備份和恢復mysql

使用企業管理器有兩種方式完成備份和恢復程序員

1、分離/附加sql

    分離完後,請到sql server安裝的目錄下去找兩個文件數據庫名.mdf和數據庫名.ldf,這兩個文件就是分離後的文件,數據庫分離後,該數據庫就不能再使用了。數據庫

    附加是指,當用戶須要從新使用某個分離的數據庫時進行的操做,就是讓sql server數據庫從新關聯該數據庫。編程

 

2、備份/恢復windows

    備份數據庫是指,把某個數據庫文件從sql server中備份出來,這樣用戶能夠根據須要再使用(用於恢復、複用..),備份數據庫不會影響到源數據庫的使用api

    恢復數據庫是指,當源數據庫由於某種緣由(好比源數據庫毀壞、數據丟失、系統崩潰)須要恢復時進行的操做安全

 

使用查詢分析器完成備份和恢復服務器

    用企業管理器完成對數據庫的備份和恢復簡單直觀,一樣咱們也能夠在查詢分析器中完成相似的任務。

--使用查詢分析器對數據庫進行備份和恢復

--數據庫備份

--語法: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+"\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;">



相關文章
相關標籤/搜索