常用SQL語句

最近在上一門課 java語言高級開發, 其實主要在講java服務器的,也有jsp的相關內容。然後服務器肯定要經常的和數據庫打交道,這時就會不可避免的用上SQL語句。目前纔剛開始接觸數據庫,暫且只用了選擇、插入、修改、刪除這樣幾條語句。

常用的SQL語句

SQL語句是大小寫不敏感的,所以SELECT等同於select或是SElect。

選擇語句

SELECT 列名稱 FROM 表名稱
SELECT * FROM 表名稱

這個插入語句可以獲得表中的部分需要的數據。通過藉助WHERE語句來實現

SELECT 列名稱 FROM 表名稱 WHERE 列 運算符 值

其中操作符有如下幾種

操作符 描述
= 等於(和編程語言不一樣的是不需要雙等於號)
<> 不等於(這裏也和常用的編程語言不一樣)有的版本的SQL中也可以寫爲!=
> 大於
< 小於
>= 大於等於
<= 小於等於
BETWEEN 在某個範圍內
LIKE 搜索某種模式

插入語句

使用INSERT INTO語句表示向表格中插入新的行。

INSERT INTO 表名稱 VALUES (值1, 值2,....)
INSERT INTO 表名稱 (列1, 列2,...) VALUES (值1, 值2,....)

如果你不寫 (列1, 列2, ...) 的話,VALUES內的值默認是從第一列開始向後排序。

修改語句

UPDATE 語句用於修改表中的數據。

UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值

這裏也是要藉助WHERE來判斷修改哪條數據的,如果幾條數據的列名稱內容都相同的話,會全部被修改。

刪除語句

DELETE 語句用於刪除表中的行。

DELETE FROM 表名稱 WHERE 列名稱 = 值

藉助WHERE判斷刪除那一條數據,同上,如果幾條數據的列名稱內容相同,全部會被刪除,使用時需要注意。

“與” 和 “或”語句

使用 ANDOR 表示“與”和“或”的邏輯運算符。
這個運算符通常用在WHERE語句中,用來連接多個條件。
AND運算符自然是,多個條件從頭到尾都滿足的記錄。
OR運算符是多個條件中,至少滿足一個的記錄

排序語句

ORDER BY 語句用於對結果集進行排序。
ORDER BY 語句用於根據指定的列對結果集進行排序。
ORDER BY 語句默認按照升序對記錄進行排序。
如果您希望按照降序對記錄進行排序,可以使用 DESC 關鍵字。

這個通常用在選擇語句,選擇時,返回的結果按照要求進行排序。
例:

SELECT Company, OrderNumber FROM Orders ORDER BY Company

可以使用DESC表示逆序排序,用ASC表示順序排序。
例:

SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC

JAVA中使用SQL語句

java中通常使用JDBC API來訪問數據庫。
在執行語句時,使用Statement對象

Connection conn = DbUtils.getConnection();      // 獲得與自己的數據庫的連接
Statement st = null;                            // Statement 用來執行語句
ResultSet rs = null;                            // ReslutSet 查詢返回的結果
String sql="select * from BookInfo where bookId="+book.getBookId();
rs = st.executeQuery(sql);                      // 執行SQL語句

while(rs.next()){
// 代碼操作
}

上述方式,是通過拼出一條完整的SQL語句來實現的,不是很安全,也可以通過使用預編譯方式來使用SQL語句。

Connection conn = DbUtils.getConnection();      // 獲得與自己的數據庫的連接
PreparedStatement ps = null;                    // PreparedStatement 用來執行語句
ResultSet rs = null;                            // ReslutSet 查詢返回的結果
conn=DbUtils.getConnection();
String sql="insert into UserInfo(userName,userSex,birthday ) " + " values( ? , ? , ? )";
ps=conn.prepareStatement(sql);                  // 獲得預編譯語句
ps.setString(1, "user01");                      // 將第一個 '?' 替換爲 "user01"
ps.setString(2, "男");                           // 將第二個 '?' 替換爲 "男"
ps.setDate  (3, new java.sql.Date() );          // 將第三個 '?' 替換爲 Date數據
int ret=ps.executeUpdate();                     // 執行預編譯語句

預編譯語句通過使用 ‘?’作爲一個佔位符,不是去硬拼一條SQL語句,因而更容易理解,也更安全,關於預編譯語言的更細節的教程,請移步更全的博客。

謝謝閱讀

發佈了48 篇原創文章 · 獲贊 59 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章