JAVA入門到精通-第64講-sql server備份恢復
資料庫的備份和恢復
使用企業管理器完成備份和恢復
使用企業管理器有兩種方式完成備份和恢復
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;">