一、SQL提供了一種強大的聲明性查詢語言,比用通用程序設計語言簡單得多。數據庫
二、SQL沒有提供通用程序設計語言的表達能力,SQL並不能表達全部查詢要求。函數
三、非聲明性的動做都不能用SQL實現,查詢和更新數據只是應用程序的部分功能,其餘部分則必須用通用程序設計語言實現。優化
四、動態SQL,通用程序設計語言經過函數或者方法來鏈接數據庫並與之交互。利用動態SQL能夠在運行時以字符串形式構建SQL查詢或更新,提交查詢,而後將結果存入程序變量。spa
五、AVA語言應用程序開發標準JDBC,另外一種ODBC,最初爲C語言,後來擴展到C++,C#,Visual Basic。設計
六、嵌入式SQL,必須在編譯時所有肯定,並交給預處理器。預處理程序提交SQL語句到數據庫系統進行預編譯和優化,而後把應用程序中的SQL語句替換成相應的代碼和函數,最後調用程序設計語言進行編譯。對象
七、SQL和通用程序設計語言處理數據的方式不一樣,SQL中數據的主要類型是關係。而通用程序設計語言,一次操做的是變量,大體至關於一個關係中一個元組的一個屬性。接口
八、要訪問數據庫,首先要打開一個數據庫鏈接,選擇須要使用哪一個數據庫。內存
九、用來與數據庫交換信息的具體協議並無在JDBC中定義,而是由所使用的驅動程序決定的。開發
十、一旦打開了一個數據庫鏈接,程序就能夠利用該鏈接向數據庫發送SQL語句用於執行。字符串
十一、關閉鏈接很重要,由於數據庫的鏈接的個數是有限制的,未關閉的鏈接可能致使超出這一限制。
十二、經過以?來表明之後再給出的實際值,而建立一個預備語句。prepareStatement方法來提交SQL語句用於編譯,它返回一個PreparedStatement的對象。咱們用PreparedStatement的方法設定?參數設定的具體值。
1三、同一查詢編譯一次而後是設置不一樣的參數值執行屢次的狀況下,預備語句使得執行更加高效。只要使用了用戶輸入值,預備語句都是執行SQL的首選方法,用戶輸入了特殊字符。SQL注入能夠被惡意黑客用來竊取數據或損壞數據庫。預備語句就能夠防止這類問題,由於輸入的字符串將被插入轉義字符。
1四、比較老的系統容許多個由分號隔開的語句在一次調用裏被執行。惡意黑客會利用SQL注入技術插入整條SQL語句。
1五、CallableStatement接口調用SQL的存儲過程和函數。
1六、一個JAVA程序不包含數據庫中存儲的數據的聲明。ResultSet有一個getMetaData() 方法,它返回一個包含結果集元數據的ResultSetMeteData,進一步包含查找元素數據信息的方法。
1七、DataBaseMetaData接口提供了查找數據庫元數據的機制。
1八、元數據接口能夠用於許多不一樣的任務。
1九、JDBC提供了一些其餘特性,可更新結果集。結果集中元組的更新引發對數據庫關係中相應元組的更新。
20、JDBC的Connection接口提供方法setAutoCommit()容許打開或關閉這種行爲。
2一、JDBC提供處理大對象的接口而不要求在內存中建立整個大對象。
2二、JDBC向數據庫存儲大對象,PreparedStatement類的setBlob把一個二進制大對象的數據列和一個輸入流關聯起來。