婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > JDBC 入門(三)

JDBC 入門(三)

熱門標簽:四川電信外呼系統(tǒng)靠譜嗎 珠海銷售外呼系統(tǒng)運營商 山東智能云外呼管理系統(tǒng) 地圖標注創(chuàng)業(yè)項目入駐 長春回撥外呼系統(tǒng)廠家 外呼系統(tǒng)啥意思 廣州三五防封電銷卡 電銷外呼系統(tǒng) 排行榜 地圖標注制作道路
創(chuàng)建表
  首先,我們在我們的示例數(shù)據(jù)庫創(chuàng)建其中一張表 COFFEES,包含在咖啡店所賣咖啡的必要的信息,包括咖啡名字,他們的價格,本星期賣了多少磅及迄今為止賣的數(shù)目。關于 COFFEES 表我們以后會詳細描述,如下:

COF_NAME SUP_ID PRICE SALES TOTAL
Colombian 101 7.99 0 0
French_Roast 49 8.99 0 0
Espresso 150 9.99 0 0
Colombian_Decaf 101 8.99 0 0
French_Roast_Decaf 49 9.99 0 0

  存儲咖啡名的列是 COF_NAME,它的 SQL 數(shù)據(jù)類型是 VARCHAR,最大的長度為 32 個字符。因為我們所賣的每種類型咖啡都使用不同的名字,名字可用于作為唯一識別咖啡的標識,因此可用于作主鍵。第二個列叫 SUP_ID,用于保存咖啡供應商標識;其 SQL 數(shù)據(jù)類型為 INTEGER。第 3 列叫 PRICE,因為它需要保存帶小數(shù)的十進制數(shù),因此它的 SQL 類型為 FLOAT。(注意,通常錢的 SQL 類型為 DECIMAL 或 NUMERIC,但在不同 DBMSs 間存在差異,為了避免于老版本的 JDBC 的不兼容性在本教程我們采用更標準的 FLOAT 類型)SALES 列的 SQL 類型為 INTEGER,其值為本星期所賣咖啡的磅數(shù)。最后一列,TOTAL 的 SQL 類型為 INTEGER,保存了迄今為止所賣咖啡的總磅數(shù)。

  數(shù)據(jù)庫里的第二個表 SUPPLIERS,保存了每個供應商的信息:

SUP_ID SUP_NAME STREET CITY STATE ZIP
101 Acme, Inc. 99 Market Street Groundsville CA 95199
49 Superior Coffee 1 Party Place Mendocino CA 95460
150 The High Ground 100 Coffee Lane Meadows CA 93966

  COFFEES 跟 SUPPLIERS 都包含列 SUP_ID,它意味著可以用 SELECT 語句從這兩張表中取得有關信息。列 SUP_ID 是 SUPPLIERS 表的主鍵,用于唯一識別每個咖啡供應商。在 COFFEES 表中,SUP_ID 列被稱外鍵。注意每個 SUP_ID 值在 SUPPLIERS 表里只出現(xiàn)一次;這對主鍵是必須的。在 COFFEES 表里,它作為外鍵,顯然它可以有重復的 SUP_ID 值,因為同一供應商可以提供很多種的咖啡。在本節(jié)的最后,你將看見如何在 SELECT 語句中使用主鍵及外鍵的一個例子。

  下面的 SQL 語句用于創(chuàng)建 COFFEES 表。列由列名跟空格跟 SQL 類型組成。列(包括列名及其 SQL 類型)跟下一個之間用逗號分隔。VARCHAR 類型創(chuàng)建定義了最大長度, 因此它需要有一個參數(shù)來表示最大長度。參數(shù)必須在類型后面的括號內(nèi)。SQL 語句如下,列 COF_NAME 的長度 被限定為不得超過 32 個字符:

CREATE TABLE COFFEES
(COF_NAME VARCHAR(32),
SUP_ID INTEGER,
PRICE FLOAT,
SALES INTEGER,
TOTAL INTEGER)

  這些代碼不帶 DBMS 語句結束符, 因為每個 DBMS 都可能不同。例如, Oracle 使用一個分號 (;) 作為語句的結束,而 Sybase 使用 go。你所使用的驅(qū)動程序會自動提供合適的語句結束符,因此你無須把它包括在你的 JDBC 代碼中。

  另外,我們應該指出的的是 SQL 語句的格式。在 CREATE TABLE 語句中,關鍵字采用大寫字符,并且每個項目都另起一行。SQL 并沒有此要求;僅僅是為了更容易閱讀。SQL 標準是不區(qū)分關鍵詞的大小寫的, 因此,如下例中的 SELECT 語句可以有多種寫法。因此下面兩個不同寫法的語句對 SQL 來說是一樣的。

SELECT First_Name, Last_Name
FROM Employees
WHERE Last_Name LIKE "Washington"

select First_Name, Last_Name from Employees where
Last_Name like "Washington"

  然而,引號里的內(nèi)容是區(qū)分大小寫的:在名字"Washington" 里 "W" 必須被大寫,并且余下的字符必須是小寫的。

  對于標識,不同的 DBMS 有不同的要求,例如, 某些 DBMSs 要求那些列名及表名必須跟創(chuàng)建時的一樣,有些則沒有此要求。為安全起見,我們?nèi)渴褂么髮憳俗R如 COFFEES、SUPPLIERS,因為我們是那樣定義他們的。

  到止我們寫了創(chuàng)建 COFFEES 表的 SQL 語句。現(xiàn)在我們在它外面加上引號(使它成為字符串),并且字符串賦值給變量 createTableCoffees,在以后的 JDBC 代碼中我們可以使用此變量。正如看到的,DBMS 并不在意分行,但對 Java 語言來,String 對象分行是通不過編譯的。因而,我們可以用加號 (+) 把每一行的串連接。

String createTableCoffees = "CREATE TABLE COFFEES " +
"(COF_NAME VARCHAR(32), SUP_ID INTEGER, PRICE FLOAT, " +
"SALES INTEGER, TOTAL INTEGER)";

  我們在 CREATE TABLE 語句中使用的數(shù)據(jù)類型是通用的 SQL 類型(也稱 JDBC 類型)它們在類 java.sql.Types 中定義。DBMSs 通常使用這些標準的類型,因此,當你要嘗試一些 JDBC 應用程序時,你可以直接使用 CreateCoffees.java 應用程序,它使用了 CREATE TABLE 語句。如果你的 DBMS 使用了它的自己的本地的類型名字,我們?yōu)槟愎渌膽贸绦颍覀儗⒃诤竺嬖敿毥忉尅?

  在運用任何應用程序前,當然,我們將讓你了解 JDBC 的基礎。

創(chuàng)建 JDBC Statements 對象
  Statement 對象用于把 SQL 語句發(fā)送到 DBMS 。你只須簡單地創(chuàng)建一個 Statement 對象并且然后執(zhí)行它,使用適當?shù)姆椒▓?zhí)行你發(fā)送的 SQL 語句。對 SELECT 語句來說,可以使用 executeQuery。要創(chuàng)建或修改表的語句,使用的方法是 executeUpdate。

  需要一個活躍的連接的來創(chuàng)建 Statement 對象的實例。在下面的例子中,我們使用我們的 Connection 對象 con 創(chuàng)建 Statement 對象 stmt:

Statement stmt = con.createStatement();

  到此 stmt 已經(jīng)存在了,但它還沒有把 SQL 語句傳遞到 DBMS。我們需要提供 SQL 語句作為參數(shù)提供給我們使用的 Statement 的方法。例如,在下面的代碼段里,我們使用上面例子中的 SQL 語句作為 executeUpdate 的參數(shù):

stmt.executeUpdate("CREATE TABLE COFFEES " +
"(COF_NAME VARCHAR(32), SUP_ID INTEGER, PRICE FLOAT, " +
"SALES INTEGER, TOTAL INTEGER)");

  因為我們已經(jīng)把 SQL 語句賦給了 createTableCoffees 變量,我們可以如下方式書寫代碼:

stmt.executeUpdate(createTableCoffees);

執(zhí)行語句
  我們使用 executeUpdate 方法是因為在 createTableCoffees 中的 SQL 語句是 DDL (數(shù)據(jù)定義語言)語句。創(chuàng)建表,改變表,刪除表都是 DDL 語句的例子,要用 executeUpdate 方法來執(zhí)行。你也可以從它的名字里看出,方法 executeUpdate 也被用于執(zhí)行更新表 SQL 語句。實際上,相對于創(chuàng)建表來說,executeUpdate 用于更新表的時間更多,因為表只需要創(chuàng)建一次,但經(jīng)常被更新。

  被使用最多的執(zhí)行 SQL 語句的方法是 executeQuery。這個方法被用來執(zhí)行 SELECT 語句,它幾乎是使用最多的 SQL 語句。馬上你將看到如何使用這個方法。

在表中輸入數(shù)據(jù)
  我們已經(jīng)顯示了如何通過指定列名、數(shù)據(jù)類型來創(chuàng)建表 COFFEES,但是這僅僅建立表的結構。表還沒有任何數(shù)據(jù)。我們將次輸入一行數(shù)據(jù)到表中,提供每列的信息,注意插入的數(shù)據(jù)顯示順序跟表創(chuàng)建時候是一樣的,既缺省順序。

  下列代碼插入一個行數(shù)據(jù),COF_NAME 的值為 Colombian,SUP_ID 為 101,PRICE 為 7.99,SALES 0,TOTAL 0。就象創(chuàng)建 COFFEES 表一樣,我們創(chuàng)建一 Statement 對象,并執(zhí)行 executeUpdate 方法。

  因為 SQL 語句一行顯示不下,因此我們把它分為兩行,并用加號 (+) 相連。特別要注意的是,在 COFFEES 和 VALUES 之間要有空格。這個空格必須在引號之內(nèi)并且要在 COFFEES 跟 VALUES 之間;沒有這個空格,SQL 語句將被錯誤地被讀作為 "INSERT INTO COFFEESVALUES ...",并且 DBMS 將尋找表 COFFEESVALUES。還要注意的是在 coffee name 上我們使用了單引號。

Statement stmt = con.createStatement();
stmt.executeUpdate(
"INSERT INTO COFFEES " +
"VALUES (`Colombian`, 101, 7.99, 0, 0)");

  下面的代碼把第二行插入到表 COFFEES 中。我們可以在使用 Statement 對象而無須為每次執(zhí)行創(chuàng)建一個新的。

stmt.executeUpdate("INSERT INTO COFFEES " +
"VALUES (`French_Roast`, 49, 8.99, 0, 0)");

  剩下行的數(shù)據(jù)如下:

stmt.executeUpdate("INSERT INTO COFFEES " +
"VALUES (`Espresso`, 150, 9.99, 0, 0)");
stmt.executeUpdate("INSERT INTO COFFEES " +
"VALUES (`Colombian_Decaf`, 101, 8.99, 0, 0)");
stmt.executeUpdate("INSERT INTO COFFEES " +
"VALUES (`French_Roast_Decaf`, 49, 9.99, 0, 0)");

從表中取得數(shù)據(jù)
  既然表 COFFEES 中已經(jīng)有數(shù)據(jù)了,我們就可以寫一個 SELECT 語句來取得這些值。下面的 SQL 語句中星號 (*) 表示選擇所有的列。因為沒有用 WHERE 子句來限制所選的行,因此下面的 SQL 語句選擇的是整個表。

SELECT * FROM COFFEES

  結果是整個表的數(shù)據(jù),如下:

COF_NAME SUP_ID PRICE SALES TOTAL
--------------- ------ ----- ----- -----
Colombian 101 7.99 0 0
French_Roast 49 8.99 0 0
Espresso 150 9.99 0 0
Colombian_Decaf 101 8.99 0 0
French_Roast_Decaf 49 9.99 0 0

  如果你直接在數(shù)據(jù)庫系統(tǒng)里輸入 SQL 查詢語句,你將在你的終端上看到如上的結果。當我們通過一個 Java 應用程序存取一個數(shù)據(jù)庫時,正如我們馬上要做的一樣,我們需要檢索結果以便我們能使用他們。你將在下一節(jié)看到如何實現(xiàn)。

這是 SELECT 語句的另一個例子,這將得到咖啡及其各自每磅單價的列表。

SELECT COF_NAME, PRICE FROM COFFEES

查詢的結果集將具有如下形式:

COF_NAME PRICE
-------- ---------- -----
Colombian 7.99
French_Roast 8.99
Espresso 9.99
Colombian_Decaf 8.99
French_Roast_Decaf 9.99

上面 SELECT 語句取得了所有咖啡的名字及價格。而下面的 SELECT 語句限制那些每磅價格低于 $9.00 的咖啡才被選擇。
SELECT COF_NAME, PRICE
FROM COFFEES
WHERE PRICE 9.00

結果集將具有如下形式:

COF_NAME PRICE
-------- ------- -----
Colombian 7.99
French_Roast 8.99
Colombian Decaf 8.99

標簽:北海 保定 紹興 潮州 廣元 玉樹 吳忠 肇慶

巨人網(wǎng)絡通訊聲明:本文標題《JDBC 入門(三)》,本文關鍵詞  JDBC,入門,三,JDBC,入門,三,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《JDBC 入門(三)》相關的同類信息!
  • 本頁收集關于JDBC 入門(三)的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲第四色夜色| 日韩免费成人网| 国产麻豆视频精品| 99精品国产91久久久久久| 色综合一区二区| 欧美在线一区二区三区| 欧美日韩黄色影视| 欧美大度的电影原声| 中国色在线观看另类| 五月综合激情网| 风间由美一区二区三区在线观看| 欧洲中文字幕精品| 欧美高清在线精品一区| 日韩电影网1区2区| 日本精品裸体写真集在线观看 | 日韩视频免费直播| √…a在线天堂一区| 国精产品一区一区三区mba视频 | 综合久久久久综合| 精品伊人久久久久7777人| 色综合久久综合网97色综合| 欧美tk—视频vk| 另类小说图片综合网| 在线看不卡av| 一区二区在线电影| 欧美日韩综合一区| 亚洲国产一区二区a毛片| 色天使久久综合网天天| 夜夜夜精品看看| 5566中文字幕一区二区电影| 天天影视涩香欲综合网| 日韩欧美一二区| 免费观看成人鲁鲁鲁鲁鲁视频| 在线成人小视频| 丝袜美腿一区二区三区| 欧美v国产在线一区二区三区| 日本成人中文字幕| 国产欧美一区二区在线| 国产一区二区免费视频| 国产精品久久久久久久久免费相片| 国产激情视频一区二区三区欧美| 国产精品三级视频| 欧美写真视频网站| 国产在线精品视频| 亚洲欧洲精品成人久久奇米网| 欧美伊人久久大香线蕉综合69| 五月综合激情网| 国产精品久久久久婷婷二区次| 欧美视频在线观看一区二区| 午夜欧美视频在线观看| 中文字幕精品—区二区四季| 777亚洲妇女| jizzjizzjizz欧美| 青草国产精品久久久久久| 亚洲激情自拍偷拍| 精品国产亚洲在线| 欧美精选在线播放| 欧美亚洲综合在线| 99精品视频一区二区三区| 精品伊人久久久久7777人| 亚洲午夜精品网| 国产精品久久三区| 久久久久国产精品人| 69堂成人精品免费视频| 色综合色综合色综合色综合色综合| 国产精品一区在线| 国产福利91精品一区| 麻豆成人免费电影| 免费在线看成人av| 美女视频第一区二区三区免费观看网站| 一区二区不卡在线视频 午夜欧美不卡在| 日韩美女一区二区三区四区| 欧美三级视频在线观看| 欧美午夜精品免费| 91麻豆精品91久久久久同性| 欧美一区二区私人影院日本| 欧美va亚洲va在线观看蝴蝶网| 日韩午夜激情免费电影| 欧美成人乱码一区二区三区| 2017欧美狠狠色| 亚洲黄色av一区| 免费成人美女在线观看.| 国产大陆精品国产| 欧美三日本三级三级在线播放| 日韩精品一区在线观看| 国产精品色婷婷| 日本不卡1234视频| 欧美日韩亚洲国产综合| 欧美日韩高清一区二区三区| 成人欧美一区二区三区白人| 亚洲综合色婷婷| 日本高清不卡一区| 日本不卡在线视频| 国产精品少妇自拍| 国产在线一区二区| 欧美日韩一区三区| 亚洲精品乱码久久久久久黑人| 日韩电影免费在线看| 国产精品亚洲午夜一区二区三区 | 日韩欧美国产1| 亚洲欧美一区二区在线观看| 日韩av电影免费观看高清完整版| 国产主播一区二区| 欧美一级电影网站| 男人的j进女人的j一区| 欧美一级xxx| 蜜桃久久久久久久| 日本一区二区三区免费乱视频| 国产成人在线看| 国产精品免费久久| 在线观看av一区| 亚洲成人av电影| 色久综合一二码| 欧美96一区二区免费视频| 久久午夜国产精品| 国产河南妇女毛片精品久久久| 国产日韩视频一区二区三区| 91在线国产福利| 午夜av一区二区| 精品久久久久一区| 99麻豆久久久国产精品免费| 亚洲国产精品人人做人人爽| 欧美一级一级性生活免费录像| 粉嫩在线一区二区三区视频| 亚洲激情六月丁香| 国产网站一区二区三区| 精品免费日韩av| 欧美日韩免费视频| 91国偷自产一区二区三区成为亚洲经典 | 国产精品无人区| 中文字幕日韩一区二区| 国产精品你懂的在线欣赏| 亚洲另类中文字| 亚洲美女区一区| 一区二区三区四区av| 亚洲精品视频在线观看免费| 亚洲欧美日韩成人高清在线一区| 久久久久高清精品| 欧美成人一区二区三区片免费 | 国产精品天美传媒| 欧美激情综合五月色丁香小说| 日韩欧美一二三| 欧美成人三级在线| 久久一留热品黄| 国产亚洲一本大道中文在线| 精品国精品国产| 欧美一区二区三区影视| 欧美久久久久久久久中文字幕| 91高清在线观看| 日韩精品自拍偷拍| 一区二区中文视频| 国产真实乱偷精品视频免| 成人福利视频网站| 成人高清伦理免费影院在线观看| 在线亚洲免费视频| 日韩欧美123| 亚洲人午夜精品天堂一二香蕉| 亚洲高清中文字幕| 国产在线不卡一区| 欧美日韩免费在线视频| 国产午夜精品一区二区三区视频| 国产精品午夜在线| 蜜桃av一区二区三区电影| 99久久国产免费看| 日韩免费高清av| 亚洲二区视频在线| 91蜜桃视频在线| 亚洲精品在线观看视频| 天堂久久一区二区三区| 白白色亚洲国产精品| 久久久亚洲国产美女国产盗摄 | 久久精品国产精品亚洲精品| 成人动漫精品一区二区| 久久综合狠狠综合| 久久99久久99小草精品免视看| 欧美精品色一区二区三区| 亚洲成人av电影在线| 555www色欧美视频| 粉嫩在线一区二区三区视频| 18成人在线观看| 欧美午夜电影在线播放| 久久精品国产亚洲a| 亚洲精品成人在线| 日韩亚洲欧美一区| 欧美日韩精品电影| 成人激情视频网站| 国产精品一区二区在线播放| 亚洲国产精品一区二区www | 国产亚洲综合av| 成人av资源在线| 天堂精品中文字幕在线| 欧美肥妇毛茸茸| 国产精品一级片| 一区二区三区四区不卡在线| 91精品蜜臀在线一区尤物| 国产精一区二区三区| 伊人婷婷欧美激情| 亚洲精品在线网站| 91精品国产综合久久精品麻豆 | 黄色精品一二区|