JDBC 入门(三) - 设置表

2016-01-29 12:18 2 1 收藏

JDBC 入门(三) - 设置表,JDBC 入门(三) - 设置表

【 tulaoshi.com - Java 】

  作者:axeon
创建表
  首先,我们在我们的示例数据库创建其中一张表 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 使用了它的自己的本地的类型名字,我们为你供应其它的应用程序,我们将在后面详细解释。

  在运用任何应用程序前,当然

来源:https://www.tulaoshi.com/n/20160129/1485472.html

延伸阅读
标签: windows 操作系统
别以为Windows XP用了这么多年,你就对它的系统注册表了如指掌,看看本文,也许有些地方连老鸟也没接触过呢,而新手则可以趁此机会,在微软Longhorn正式出来之前,对XP有个更加清楚的认识,从而进阶成为高手。对于这些知识,我们还是从基础开始吧。 注册表基础: 系统文件夹: 名称 路径 含义 AppData C:\Windows...
Microsoft SQL Server series (6.5, 7.x and 2000) and Sybase 10 JDBC Name: jTDS URL: http://jtds.sourceforge.net/ Version: ?XML:namespace prefix = st1 ns = "urn:schemas-microsoft-com:Office:smarttags" /> 0.5.1 Download URL: http://sourceforge.net/project/showfiles.PHP?group_id=33291 语法...
标签: 手表 腕表 卡地亚
卡地亚机械表如何调整时间 卡地亚的手表设计美观,做工也非常的精良,但是价格也相对的高一些,现在随着人们生活的水平不断提高,越来越多的人都喜欢上了卡地亚的机械手表,这样也有一部分人不知道怎么调这个机械表的时间,今天图老师就来教大家卡地亚机械表如何调整时间。 首先,拧松卡地亚手表中间的按纽,拧松状态后,表把在不拔出状态向...
标签: 电脑入门
注册表虽然是通过各个根键和子键来分类管理各种信息,但具体数据信息还是依靠键值项和键值来实现。在注册表中绝大多数分支或子项中还包含了一个或若干个值项,每个值项又对应于一定数据类型的一组数据,这就是键值项和键值,打开注册表编辑器后,选择一个分支或子项,在注册表编辑器的右侧窗口中显示的就是键值项和键值(如图1)。 图1 细心...
标签: Delphi
  1.2.4.3 汉化界面及字体选取          如果您的 Windows95系统中安装了中文系统,对界面做汉化是极其方便的。例如,您可以将 Button1 的 Caption属性改成“ &R 矩形”,同样地可改变其它部件的属性,将窗体做成中文的操作界面。        &nbs...

经验教程

275

收藏

89
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部