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

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

JDBC 入門(三)

熱門標簽:四川電信外呼系統靠譜嗎 珠海銷售外呼系統運營商 山東智能云外呼管理系統 地圖標注創業項目入駐 長春回撥外呼系統廠家 外呼系統啥意思 廣州三五防封電銷卡 電銷外呼系統 排行榜 地圖標注制作道路
創建表
  首先,我們在我們的示例數據庫創建其中一張表 COFFEES,包含在咖啡店所賣咖啡的必要的信息,包括咖啡名字,他們的價格,本星期賣了多少磅及迄今為止賣的數目。關于 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 數據類型是 VARCHAR,最大的長度為 32 個字符。因為我們所賣的每種類型咖啡都使用不同的名字,名字可用于作為唯一識別咖啡的標識,因此可用于作主鍵。第二個列叫 SUP_ID,用于保存咖啡供應商標識;其 SQL 數據類型為 INTEGER。第 3 列叫 PRICE,因為它需要保存帶小數的十進制數,因此它的 SQL 類型為 FLOAT。(注意,通常錢的 SQL 類型為 DECIMAL 或 NUMERIC,但在不同 DBMSs 間存在差異,為了避免于老版本的 JDBC 的不兼容性在本教程我們采用更標準的 FLOAT 類型)SALES 列的 SQL 類型為 INTEGER,其值為本星期所賣咖啡的磅數。最后一列,TOTAL 的 SQL 類型為 INTEGER,保存了迄今為止所賣咖啡的總磅數。

  數據庫里的第二個表 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 表里只出現一次;這對主鍵是必須的。在 COFFEES 表里,它作為外鍵,顯然它可以有重復的 SUP_ID 值,因為同一供應商可以提供很多種的咖啡。在本節的最后,你將看見如何在 SELECT 語句中使用主鍵及外鍵的一個例子。

  下面的 SQL 語句用于創建 COFFEES 表。列由列名跟空格跟 SQL 類型組成。列(包括列名及其 SQL 類型)跟下一個之間用逗號分隔。VARCHAR 類型創建定義了最大長度, 因此它需要有一個參數來表示最大長度。參數必須在類型后面的括號內。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。你所使用的驅動程序會自動提供合適的語句結束符,因此你無須把它包括在你的 JDBC 代碼中。

  另外,我們應該指出的的是 SQL 語句的格式。在 CREATE TABLE 語句中,關鍵字采用大寫字符,并且每個項目都另起一行。SQL 并沒有此要求;僅僅是為了更容易閱讀。SQL 標準是不區分關鍵詞的大小寫的, 因此,如下例中的 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"

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

  對于標識,不同的 DBMS 有不同的要求,例如, 某些 DBMSs 要求那些列名及表名必須跟創建時的一樣,有些則沒有此要求。為安全起見,我們全部使用大寫標識如 COFFEES、SUPPLIERS,因為我們是那樣定義他們的。

  到止我們寫了創建 COFFEES 表的 SQL 語句。現在我們在它外面加上引號(使它成為字符串),并且字符串賦值給變量 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 語句中使用的數據類型是通用的 SQL 類型(也稱 JDBC 類型)它們在類 java.sql.Types 中定義。DBMSs 通常使用這些標準的類型,因此,當你要嘗試一些 JDBC 應用程序時,你可以直接使用 CreateCoffees.java 應用程序,它使用了 CREATE TABLE 語句。如果你的 DBMS 使用了它的自己的本地的類型名字,我們為你供應其它的應用程序,我們將在后面詳細解釋。

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

創建 JDBC Statements 對象
  Statement 對象用于把 SQL 語句發送到 DBMS 。你只須簡單地創建一個 Statement 對象并且然后執行它,使用適當的方法執行你發送的 SQL 語句。對 SELECT 語句來說,可以使用 executeQuery。要創建或修改表的語句,使用的方法是 executeUpdate。

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

Statement stmt = con.createStatement();

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

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

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

stmt.executeUpdate(createTableCoffees);

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

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

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

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

  因為 SQL 語句一行顯示不下,因此我們把它分為兩行,并用加號 (+) 相連。特別要注意的是,在 COFFEES 和 VALUES 之間要有空格。這個空格必須在引號之內并且要在 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 對象而無須為每次執行創建一個新的。

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

  剩下行的數據如下:

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)");

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

SELECT * FROM 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

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

這是 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

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

巨人網絡通訊聲明:本文標題《JDBC 入門(三)》,本文關鍵詞  JDBC,入門,三,JDBC,入門,三,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《JDBC 入門(三)》相關的同類信息!
  • 本頁收集關于JDBC 入門(三)的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    久久免费看少妇高潮| 国产精品私房写真福利视频| jvid福利写真一区二区三区| 国产一区二区不卡| av亚洲精华国产精华| 色综合一个色综合亚洲| 欧美偷拍一区二区| 日韩欧美一级在线播放| 国产欧美日韩在线| 一区二区高清视频在线观看| 日韩电影在线免费看| 久久福利视频一区二区| 国产在线精品不卡| 国产成人啪午夜精品网站男同| 国产麻豆精品视频| 成人性生交大片| 欧美理论电影在线| 欧美顶级少妇做爰| 欧美国产精品专区| 国产精品大尺度| 午夜伊人狠狠久久| 狠狠色丁香婷婷综合| 91香蕉视频mp4| 成人一区二区三区视频| 91丨porny丨户外露出| 欧美午夜在线一二页| 4438x亚洲最大成人网| 久久色在线视频| 一色屋精品亚洲香蕉网站| 亚洲在线中文字幕| 看电视剧不卡顿的网站| 国产成人综合视频| 色乱码一区二区三区88| 8x福利精品第一导航| 精品福利一区二区三区| 欧美一区二区视频免费观看| **网站欧美大片在线观看| 天天综合日日夜夜精品| 亚洲美女偷拍久久| 亚洲成人免费在线观看| 欧美精品久久一区| 国产成人精品免费视频网站| 91麻豆国产自产在线观看| 日韩女优视频免费观看| 日韩av网站在线观看| 久久国产尿小便嘘嘘| 国产suv精品一区二区6| 欧美在线999| 精品国产亚洲在线| 国产精品免费久久久久| 亚洲国产精品天堂| 国产成人免费在线观看| 欧美日韩国产bt| 欧美精品tushy高清| 久久亚洲精精品中文字幕早川悠里| 中文字幕在线不卡| 久久精品国产99国产精品| 91视频免费播放| 日韩欧美中文字幕一区| 一区二区在线观看不卡| 精品一区二区三区免费观看| 国产成人午夜99999| 首页国产欧美久久| 久久er精品视频| 国产高清不卡二三区| 在线观看视频一区二区欧美日韩| 日韩一级黄色大片| 亚洲欧美综合另类在线卡通| 日韩精品每日更新| 亚洲天堂a在线| 蜜臀av性久久久久蜜臀aⅴ流畅| 91丨porny丨蝌蚪视频| 日韩欧美中文一区二区| 亚洲精选免费视频| 国产激情一区二区三区四区 | 久久久777精品电影网影网| 夜夜爽夜夜爽精品视频| 成人深夜在线观看| 精品国产乱码久久久久久老虎 | 中文字幕的久久| 韩国视频一区二区| 日韩片之四级片| 青青草97国产精品免费观看无弹窗版| 91久久免费观看| 综合激情成人伊人| www.成人在线| 日韩久久一区二区| 97成人超碰视| 亚洲裸体在线观看| 成人a级免费电影| 欧美国产日韩a欧美在线观看| 国产宾馆实践打屁股91| 久久精品人人做人人爽人人| 图片区小说区区亚洲影院| 91精品国产综合久久福利| 亚洲国产欧美一区二区三区丁香婷| 韩日精品视频一区| 久久精品在线免费观看| 韩国欧美一区二区| 中文字幕乱码亚洲精品一区| 精品一区二区三区免费毛片爱 | 免费成人在线影院| av在线不卡免费看| 日韩一区日韩二区| 欧美日韩一区中文字幕| 日本亚洲天堂网| 久久免费的精品国产v∧| 成人激情动漫在线观看| 亚洲蜜臀av乱码久久精品蜜桃| 色视频欧美一区二区三区| 婷婷一区二区三区| 久久综合视频网| 成年人国产精品| 亚洲图片欧美色图| 日韩美女在线视频| 成人三级伦理片| 亚洲一区二区三区视频在线播放| 3751色影院一区二区三区| 国产福利91精品一区| 2020国产成人综合网| 91视频.com| 三级成人在线视频| 欧美激情一区在线| 欧美日韩亚洲不卡| 国产成人午夜视频| 亚洲18女电影在线观看| 久久久久亚洲综合| 欧美三级电影网| 国产福利一区二区三区在线视频| 亚洲精品视频一区| 久久久亚洲高清| 91麻豆精品一区二区三区| 久久精品一区二区三区av| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 亚洲成人动漫在线免费观看| 精品美女被调教视频大全网站| 成人av在线播放网址| 日本女优在线视频一区二区| 国产精品护士白丝一区av| 日韩一区二区在线播放| 91色.com| 国产91对白在线观看九色| 日本中文一区二区三区| 一区二区三区.www| 中文av字幕一区| 欧美精品一区二区精品网| 欧美日韩色一区| 91理论电影在线观看| 国产乱码一区二区三区| 秋霞电影网一区二区| 亚洲国产人成综合网站| 亚洲三级在线免费观看| 中国色在线观看另类| 91官网在线观看| 91小宝寻花一区二区三区| 国产精品女主播av| 久久影院午夜论| 欧美日韩国产综合视频在线观看| 99国产精品久久| 蜜乳av一区二区| 日产国产高清一区二区三区 | 欧美午夜寂寞影院| 97精品久久久久中文字幕| 丰满少妇在线播放bd日韩电影| 精品一区二区在线视频| 日韩精品一级中文字幕精品视频免费观看 | 国产精品久久看| 色妹子一区二区| 国产一区二区在线看| 免费视频一区二区| 午夜精品久久久久久久| 亚洲国产精品一区二区www| 亚洲精品国产高清久久伦理二区 | 日韩欧美一区在线| 欧美综合天天夜夜久久| 久久精品国产99| 亚洲成人在线网站| 久久精品久久99精品久久| 麻豆极品一区二区三区| 韩国三级中文字幕hd久久精品| 日韩高清在线不卡| 九色综合狠狠综合久久| 久久国产精品色| 国产精品一区二区视频| 国产不卡视频在线播放| 毛片av一区二区| 国产精品一区在线观看乱码| 成人激情av网| 欧美性一区二区| 日韩美一区二区三区| 久久久久国产精品麻豆ai换脸| 一区在线观看免费| 中文字幕一区在线观看| 亚洲免费资源在线播放| 一二三四区精品视频| 亚洲成a人v欧美综合天堂下载| 美女免费视频一区| 日韩成人一区二区| 国产一区二区三区免费在线观看| 成人在线一区二区三区|