sql简介香气和sql简介

在你开始前

关于本系列

本教程系列讲授从基本到高级SQL和基本的XQuery主题,并展示如何通过使用SQL查询或XQueries将常见的业务问题表达为数据库查询。 开发人员和数据库管理员可以使用本教程来增强他们的数据库查询技能。 学术计划成员可以将此教程系列用作其数据库课程的一部分。

本文档中的所有示例均基于Aroma (一个示例数据库,其中包含在美国各地商店出售的咖啡和茶产品的销售数据)。 每个示例包括三个部分:

  • 用日常语言表达的业务问题
  • 一个或多个用SQL或XQuery表示的示例查询
  • 从数据库返回的结果表

本指南旨在让参与者学习SQL语言和XQuery。 与任何学习一样,重要的是要通过动手练习来补充它。 表定义和数据有助于此操作。

对于将其用作学术课程一部分的学生,请从您的老师那里获取连接到Aroma数据库的说明,并了解指南与本地设置之间的任何差异。

本教程是为DB2 Express-C 9 forUNIX®,Linux®和Windows®(以前称为Viper)编写的。

关于本教程

本教程向参与者介绍Aroma数据库,尤其是表的零售组,表定义,示例数据以及表之间的关系。

创建这些表是为了显示以下环境:

  • 桌子很少
  • 列名使用分析师的词汇
  • 专栏反映了业务的自然维度

这是使用星型模式的典型小型数据仓库。 另一种数据库类型是联机事务处理(OLTP)。 OLTP数据库包含最详细级别的事务处理。

本教程还介绍了SQL的基础知识,并提出了一些可用于IBM DB2 9的典型业务问题。

系统要求

要充分利用本教程,您应该已安装IBM DB2 9。 下载DB2 Express-C ,该社区的免费版本的DB2 Express Edition提供与DB2 Express Edtion相同的核心数据功能,并为构建和部署应用程序提供了坚实的基础。 您还需要安装Aroma数据库,可以从此处下载该数据库。

安装DB2 Express-C 9

要安装DB2 9,请遵循以下步骤(除非另有说明,否则应使用缺省选项):

  1. 浏览到包含已下载文件的文件夹db2exc_viper_WIN_x86.zip(我们假设该文件已下载到C:\ DownloadDirector文件夹中)。
  2. 解压缩文件。
  3. 在解压缩的文件夹中找到setup.exe,然后双击它。 将出现“ DB2安装启动板”。
  4. 在“ DB2安装启动板”中,从左侧面板中单击“ 安装产品 ”。
  5. 单击DB2 Express下的Install New
  6. 在安装程序中,单击“ 下一步”以查看许可协议。 您将需要接受协议以继续,然后单击下一步
  7. 选择典型安装,然后单击下一步
  8. 确认您计划“在此计算机上安装DB2 Universal Database Express Edition并将我的设置保存在响应文件中”,然后单击“ 下一步”
  9. 验证安装目录,然后单击“ 下一步”
  10. 在“配置DB2实例”屏幕中,单击下一步
  11. 在“用户信息”屏幕中,将“域”设置为“ 无”-使用下拉菜单使用本地用户帐户 ,使用db2admin作为用户名,并设置密码。
    (或者,您可以选择LocalSystem帐户,但是如果使用此选项,则会引入一些限制。单击“ 帮助”按钮以了解更多信息。)
  12. 确保选中“为其余DB2服务使用相同的用户名和密码”复选框,然后单击“ 下一步”
  13. 单击“ 下一步 ”跳过“准备DB2工具目录”屏幕。
  14. 为了简化安装,请取消选中“ 设置DB2服务器以发送通知” ,然后单击“ 下一步”
  15. 验证是否选中了“ 启用操作系统安全性”复选框 。 将DB2管理员组保留为缺省值DB2ADMNS,将DB2用户组保留为缺省值DB2USERS。 单击下一步
  16. 当到达“开始复制文件并创建响应文件”屏幕时,单击完成以开始DB2产品安装。
  17. 安装完成后,将显示一个带有消息“安装完成”的窗口。 单击完成以完成安装过程。
  18. 现在将出现一个标题为“ DB2第一步”的窗口。 点击创建个人资料 。 您的Web浏览器将打开一个名为DB2 First Steps的页面。 本教程包含许多有关DB2信息的有用链接,但是在本教程中将不会使用它。 关闭您的Web浏览器,然后继续本教程。

安装Aroma数据库

  1. 确保已安装DB2 Express-C 9。
  2. 从“ 开始”菜单==>所有程序==> IBM DB2 ==>命令行工具==>命令窗口启动命令窗口
  3. 在命令窗口中执行create_aroma.bat
    注意:不要忘记使用cd命令移动到批处理文件所在的目录。
  4. 将创建两个文件,create.txt和report.txt。 编辑report.txt并与以下预期结果进行比较:
    表记录
    --------------------- -----------
    第9类
    交易9
    aroma.line_items 182
    芳香市场17
    香气顺序27
    香气周期821
    香气产品59
    香气促销194
    香气销售69941
    aroma.store 18
    香气供应商9

XML支持

XML和基本XQueries将在本系列的第7部分中介绍。 为了支持XML,使用以下语句创建了aromadb数据库:

db2 create db aromadb using codeset utf-8 territory us

注意将UTF-8规范指定为数据库的代码集。 XML功能的使用仅限于使用代码集UTF-8定义且仅具有一个数据库分区的数据库。 将来在创建自己的数据库时,请不要忘记包含此参数,否则您的数据库将不支持XML功能!

芳香数据库表组

本指南中的大多数示例均基于Aroma数据库中的数据,该数据库跟踪Aroma咖啡和茶公司拥有的商店中每日的零售总额。 香气数据库包含用于了解香气咖啡和茶公司销售额的表。 有六个表,用于创建不同的分组并了解销售额。 这些表是:销售,其中包含销售交易或事实; 期间,产品,商店,促销等级和市场。 这些被称为表的零售组。

另一组表格包含用于了解购买Aroma咖啡和茶公司的数据。 这套表称为购买表组,可用于了解从供应商处的购买。 本教程的任何示例中均未使用此组表。 它仅存在于附录中,以提供Aroma咖啡和茶公司的更完整信息。

图1.零售组表

此图中的鱼尾纹表示两个表之间的一对多关系。 例如, Period表的Perkey列中的每个不同值只能在该表中出现一次,而在Sales表中可以多次出现。 粗体的列名称是主键列。 斜体的列名称是外键列。 粗斜体的列名称是主列和外键列。

以下各节介绍了每个表的示例数据,因此您可以了解这些主键到外键关系的工作方式。

主键是唯一键,它是表定义的一部分。 一个表不能有多个主键,并且主键的列不能包含空值。 ( 空值将在后面详细讨论。如果值为空,则意味着有一个存储数据的地方,但那里什么都没有-与空白不同。)主键是可选的,可以在CREATE中定义TABLE或ALTER TABLE语句。 主键很重要,因为每个值只能出现一次。 始终将选择同一行。 可能有两个城市同名; 但是,基于主键选择记录将确保始终选择同一行。

在引用约束的定义中指定了外键 。 一个表可以有零个或多个外键。 如果复合外键的任何组成部分为null,则其值为null。 外键是可选的,可以在CREATE TABLE语句或ALTER TABLE语句中定义。

基本香气表

这些表和列以熟悉的业务术语命名,使它们易于理解和使用。 一组设计良好的表为应用程序开发人员和最终用户提供了以下好处:

  • 业务问题很容易表达为SQL查询
  • 查询运行很快,并返回一致的答案。

您会注意到,Aroma数据库并未记录所发生的每笔交易。 数据已汇总以反映特定促销下特定产品在特定日期在每个商店的总销售额。

聚合数据是数据仓库的典型特征。 这样做的想法是汇总数据,以便没有那么多的行。 通常,这是由数据库管理员(DBA)或计算机程序完成的,通常称为ETL(提取,转换,加载)。

期间,产品和类别维度

期间表

下表显示了期间表的前几行。 主键列是“ Perkey”列:

珀基 日期 Qtr
1个 2004-01-01 TH 1个 一月 Q1_04 2004年
2 2004-01-02 FR 1个 一月 Q1_04 2004年
3 2004-01-03 南非 1个 一月 Q1_04 2004年
4 2004-01-04 2 一月 Q1_04 2004年
5 2004-01-05 MO 2 一月 Q1_04 2004年
6 2004-01-06 TU 2 一月 Q1_04 2004年
...

产品和分类表

下表显示了Product表的前几行。 主键是ClasskeyProdkey值的组合:

类键 普罗基 产品名称 Pkg_Type
1个 0 韦拉克鲁萨诺 没有pkg
1个 1个 哈拉帕·拉帕(Xalapa Lapa) 没有pkg
1个 10 哥伦比亚 没有pkg
1个 11 浓缩咖啡XO 没有pkg
1个 12 拉安提瓜岛 没有pkg
1个 20 洛塔拿铁 没有pkg
...

注意:回想一下,主键是唯一键,是表定义的一部分。 通常,主键是表中的单个列。 在这种情况下,主键是两列的组合,这意味着表中只能有一个这样的组合。

下表显示了“ 类”表的前几行。

类键 Class_Type Class_Desc
1个 散装豆 散装咖啡产品
2 散装茶 散装茶产品
3 散装香料 散装香料
4 Pkg_coffee 单独包装的咖啡产品
5 Pkg_tea 单独包装的茶产品
6 Pkg_spice 单独包装的香料产品

商店,市场和促销表

“商店”,“市场”和“促销”表包含数据分析员在查询数据库时使用的描述。 例如, Store表包含商店名称和地址; 产品表包含产品和包装信息; 而“ 期间”表包含月,季度和年的值。 每个表都包含一个由一个或多个列组成的主键; 表格中的每一行均由其一个或多个主键值唯一标识。

商店和市场表

下表显示了Store表的前几行(某些列被截断以适合页面)。 主键列为StorekeyMktkey是对Market表的外键引用。

储码 麦基 商店类型 商店名称 压缩
1个 14 焙烧炉,洛斯加托斯 大学大道1234号 洛斯加托斯 认证机构 95032
2 14 圣何塞烧烤 巴斯科姆大街5678号 圣荷西 认证机构 95156
3 14 库比蒂诺咖啡 987德安扎大道 库比蒂诺 认证机构 97865
4 3 红磨坊 大街898号 新奥尔良 洛杉矶 70125
5 10 月亮便士 98675大学 底特律 MI 48209
6 9 咖啡俱乐部 9865湖岸Bl 芝加哥 白介素 06060
...

下表显示了Market表的前几行。

麦基 总部 总部 地区
1个 亚特兰大 GA 亚特兰大
2 迈阿密 FL 亚特兰大
3 新奥尔良 洛杉矶 新奥尔良
4 休斯顿 德克萨斯州 新奥尔良
5 纽约 纽约州 纽约
...

促销桌

下表显示了Promotion表的前几行。 主键列为Promokey

促销键 促销类型 Promo_Desc 开始日期 结束日期
0 1个 没有促销 0.00 9999-01-01 9999-01-31
1个 100 香气目录优惠券 1.00 2004-01-01 2004-01-31
2 100 香气目录优惠券 1.00 2004-02-01 2004-02-29
3 100 香气目录优惠券 1.00 2004-03-01 2004-03-31
4 100 香气目录优惠券 1.00 2004-04-01 2004-04-30
5 100 香气目录优惠券 1.00 2004-05-01 2004-05-31
...

“ 值”列标识给定促销的现金价值。 用户可以通过汇总这些值来评估促销费用。

销售表

下表显示了Sales表的前20行。

珀基 类键 普罗基 储码 促销键 数量 美元 注释
2 2 0 1个 116 8 34.00 ...
2 4 12 1个 116 9 60.75 ...
2 1个 11 1个 116 40 270.00 ...
2 2 30 1个 116 16 34.00 ...
2 5 22 1个 116 11 30.25 ...
2 1个 30 1个 116 30 187.50 ...
2 1个 10 1个 116 25 143.75 ...
2 4 10 2 0 12 87.00 ...
2 4 11 2 0 14 115.50 ...
2 4 22 2 0 18 58.50 ...
2 4 0 2 0 17 136.00 ...
2 5 0 2 0 13 74.75 ...
2 4 30 2 0 14 101.50 ...
2 2 10 2 0 18 63.00 ...
2 1个 22 3 0 11 99.00 ...
2 6 46 3 0 6 36.00 ...
2 5 12 3 0 10 40.00 ...
2 1个 11 3 0 36 279.00 ...
2 5 1个 3 0 11 132.00 ...
2 5 10 3 0 12 48.00 ...
...

主键定义是来自五列的值的组合:

perkey, classkey, prodkey, storekey, promokey

关于销售表

Sales表包含在其引用的表中定义的整个业务属性中都可以轻松访问的数据,并且存储有关这些属性的大量统计信息。 Sales表是此数据库中最大的表。

最后一列Comment ,使用XML数据类型存储有关客户反馈的信息。 XML在本系列的第7部分中进行了介绍。

多部分主键

Sales表包含一个多部分主键。 键的五列中的每一列都是对另一个表的主键的外键引用:

perkey, classkey, prodkey, storekey, promokey

此主键将Sales数据链接到PeriodProductStorePromotion表。

金表

金牌表包含“金牌”客户的信息,使他们可以享受各种折扣,免费礼物以及促销活动的电子邮件提醒。 黄金表将由参与者在本系列的第6部分中创建,并将具有以下几列:唯一的卡ID,商店密钥,名字,姓氏,电子邮件和状态。

什么是SQL?

结构化查询语言

结构化查询语言(SQL)是用于定义和处理关系数据库中数据的标准化语言。 所有关系数据库管理系统(RDBMS)都了解SQL。

这是有关SQL的更多信息:

  • SQL是作为关系理论的一部分专门设计的。 您需要一种语言来与数据库对话,从数据库中检索数据或对数据进行更改。
  • SQL是一种非导航语言。 换句话说,使用SQL,您不必告诉DB2查找记录,读取其指针并跟随该指针到表中的相关行。 只需告诉DB2该做什么,DB2就会知道如何处理该命令。 就这么简单!
  • 您可以使用SQL来修改表的各个方面,而不必使表脱机,向现有表添加新列或向表的定义添加业务规则。

常见问题

这是您可以使用SQL回答的业务问题的样本。 有了答案,可以及时做出关键的业务决策。

简单

  • 去年,圣何塞洛塔拿铁品牌咖啡的每周销量是多少?
  • 去年每个月,西方所有咖啡产品的平均月销售额是多少?

中等难度

  • Lotta Latte在圣何塞的销售额与在洛杉矶和纽约的销售额相比如何?
  • 在过去的两年中,Lotta Latte在所有市场的月度市场份额如何变化?
  • 哪些供应商对散装茶产品收费最高?
  • 去年12月在加利福尼亚最成功的促销活动是什么?

非常具有挑战性的业务问题,可以使用DB2 9来提供答案。

  • 去年每个月内,Lotta Latte的销售总额是多少?
  • 同期Lotta Latte的月销售额与总销售额的比率(以百分比表示)是多少?
  • 就美元销售和销售数量而言,2004年哪个十个城市的咖啡销售最差?
  • 就2005年第一季度的销售收入而言,哪些Aroma商店跌入前25%? 哪些商店降到中间50%,哪个商店降到最低25%?

资料类型

数据类型为常量,列,主机变量,函数,表达式和特殊寄存器定义了可接受的值。 以最入门的形式,必须将数据定义为数字数据类型或文本数据类型。 这很重要,主要有两个原因。 首先,对于数字数据类型,可以应用数学函数,例如将字段加在一起或减去字段。 其次,为了确保分配正确的存储类型和数量,可以预先设置大小。 您填写了多少次应用程序,而没有足够的空间来编写所需的所有内容? 但是,将所有字段增加到最大会导致数据库中的空白空间过多。 本节介绍示例中引用的数据类型。 有关其他数据类型的完整列表和完整描述,请参考《 SQL参考指南》 。

号码

所有数字都有一个符号和一个精度 。 精度是位数或数字(不包括符号)。

小灵通 SMALLINT ( 小整数 )是一个2字节的整数,精度为5位。
整数 INTEGER ( 大整数 )是一个四字节整数,精度为10位。
比金特 BIGINT ( 大整数 )是一个八字节整数,精度为19位。
真实 REAL ( 单精度浮点数 )是实数的32位近似值。
DOUBLE ( 双精度浮点数 )是实数的64位近似值。 DOUBLE也称为FLOAT。
十进制(p,s) DECIMAL是十进制数字。 小数点的位置由数的精度 (p)和标度 (S)确定的。 精度是数字的总数,必须小于32。比例是小数部分的数字,并且始终小于或等于精度值。 如果未指定精度和小数位,则十进制值默认为精度5和小数位0。

字串

字符串是字节序列。 字符串的长度是序列中的字节数。 如果长度为零,则该值称为空字符串 。

定长字符串 CHAR(x)是固定长度的字符串。 长度属性x必须在1到254之间(含1和254)。
可变长度字符串 可变长度字符串有以下三种类型:VARCHAR,LONG VARCHAR和CLOB。
VARCHAR(x)类型是可变长度的字符串,因此可以将长度为9的字符串插入VARCHAR(15),但字符串长度仍为9。
有关CLOB的详细信息,请参见大对象(LOB)。

图形字符串

图形字符串是双字节字符数据的序列。

定长图形字符串 GRAPHIC(x)是固定长度的字符串。 长度属性x必须在1到127之间(含1和127)。
可变长度图形字符串 可变长度图形字符串分为三种类型:VARGRAPHIC,LONG VARGRAPHIC和DBCLOB。 有关DBCLOB的详细信息,请参见大对象(LOB)。

二进制字符串

二进制字符串是字节序列。 它用于保存非传统数据,例如图片。 二进制大对象(BLOB)是二进制字符串。 有关更多信息,请参见大对象(LOB)。

日期时间值

Datetime值表示日期,时间和时间戳(14位数字的字符串,以yyyyxxddhhmmss的形式表示有效的日期和时间)。 日期时间值可用于某些算术和字符串运算,并且与某些字符串兼容; 但是,它们既不是字符串也不是数字。

日期 日期是一个三部分的值(年,月和日)。
时间 时间是一个三部分的值(小时,分钟和秒),它使用24小时制指定一天中的时间。
时间戳记 时间戳是指定日期和时间的七部分值(年,月,日,小时,分钟,秒和微秒)。

空值

空值是一个特殊值,不同于所有非空值。 这意味着该行中该列没有任何其他值。 对于所有数据类型都存在空值。

XML格式

DB2 9是业界第一个用于管理来自关系和pureXML™结构的数据的混合数据服务器。 DB2 9与现有的关系引擎一起引入了针对XML数据的优化数据存储引擎。

XML是自描述的,因为数据的含义包含在记录中。 评论列使用XML数据类型存储客户评论。 有关更多详细信息,请参见本系列的第7部分。

运行SQL的方法

要与DB2对话,请使用特定于平台的工具来输入SQL。 安装产品时将包括这些工具。 就本系列而言,请使用控制中心或命令行处理器(CLP)。

控制中心

可以从控制中心运行SQL语句,DB2命令和操作系统命令。 从开始菜单==>所有程序==> IBM DB2 ==>常规管理工具==>控制中心打开控制中心 。 从界面顶部的菜单中,选择Tools ==> Command Editor 。 命令编辑器窗口将弹出,并允许您输入SQL语句。

您可以以交互方式运行它们,也可以将语句保存在脚本中。 要执行这些语句,您可以单击图形左上角的“ 播放”图标(在下面的图2中圈出)。

图2.控制中心

命令行处理器

语句也可以从命令行处理器(CLP)运行。 从S tart菜单==>所有程序==> IBM DB2 ==>命令行工具==>命令行处理器打开CLP。

图3.命令行处理器

入门

连接到数据库

您需要先连接到数据库,然后才能使用SQL语句查询或操作数据。 CONNECT语句将数据库连接与用户名相关联。

要连接到aromadb数据库,请在DB2命令行处理器中键入以下命令:

CONNECT TO aromadb USER userid USING password

如果您在教室中使用本指南,请向您的讲师询问连接数据库的用户名和密码。
如果不需要用户名和密码,或者您正在以自学模式使用它并使用自己的计算机,只需键入以下命令:

CONNECT TO aromadb

以下消息告诉您您已成功建立连接:

Database Connection InformationDatabase server= DB2/NT 9.0.0SQL authorization ID = USERIDLocal database alias = AROMADB

连接后,即可开始使用数据库。

DB2信息中心

除了可用于DB2 9的标准文档集之外,还有可搜索的在线DB2信息集合,这些信息简化了与DB2 9相关的任务。DB2信息中心允许用户获得有关许多问题的帮助。

可通过标准的Web浏览器或通过DB2 9随附的许多图形用户界面中的内置功能来访问DB2信息中心。当前,Microsoft Explorer(版本5和更高版本)和Netscape Navigator(版本6.1和更高版本)是可用的。支持的。

每个产品或修订包发行版都更新了DB2信息中心的内容。 确保知道您正在运行的DB2版本,以确保获得正确的信息。 充分利用它,DB2信息中心将变得更有帮助。 当您熟悉可用的选项时,可以更有效地缩小搜索范围,并更有效地获得问题的答案。

  • 您可以从开始菜单==>所有程序==> IBM DB2 ==>信息==>信息中心轻松访问DB2 信息中心
  • 或者,您可以使用以下URL: http : //publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp

在本系列的第3部分中,当您尝试执行包含不匹配的数据类型的查询时,将遇到错误。 您将收到以下错误信息:

[IBM][CLI Driver][DB2/LINUX] SQL0401N  The data types of the operandsfor the operation ">" are not compatible.  SQLSTATE=42818

为了更好地理解此消息的含义,您可能需要研究错误的详细信息并学习应采取的纠正措施。

  1. 浏览至DB2信息中心。
  2. 在左上角的“搜索”框中输入错误消息(SQL0401N)中的错误代码。
  3. 点击GO
  4. 结果集显示两个结果。 第一个结果是“ 100%SQL0401”,表明它与100%相关,而第二个结果仅与8%相关。 选择第一个。
  5. 阅读搜索结果。

元数据

可以将元数据定义为有关数据库本身结构的数据。 该数据包含数据库列表中的信息,例如表列表,索引,列等。

您经常会听到其他名称调用的元数据,包括目录数据或系统表。 每当用户采取行动来创建,删除或更改数据库的某些方面时,DB2 9都会自动收集元数据。

为常规SQL建立的存储数据的标准不适用于元数据的存储。 每个数据库提供者都设置了独特的方法来存储和处理元数据。 知道如何检索此信息可能对使用数据库有极大的帮助。

但是,许多数据库管理员认为元数据本质上是机密的。 结果,许多用户将无法访问元数据集合。 您将必须在自己的位置了解对元数据的访问权限。

系统表

DB2 9将元数据存储在近100个系统表中。 它们都包含在SYSIBM模式中。 每次创建数据库时都会自动创建此架构。 系统表还遵循标准的命名约定。 每个表名都以SYS开头,如SYSTABLES,SYSINDEXES和SYSUSERAUTH一样。 (因此,用户定义的表不能以字母SYS开头。)

用户从系统表中检索元数据的方式与从常规表中检索数据的方式几乎相同。 在两种情况下,SQL语句的行为相同。 只需了解表的结构即可。 在获得适当授权的情况下,用户可以通过查询数据库来获取所有包含元数据的系统表的列表。

查询示例

SELECT nameFROM sysibm.systablesWHERE name LIKE 'SYS%';

结果

名称
系统属性
SYSBUFFERPOOLNODES
SYSBUFFERPOOLS
...
系统表
...
SYSXSROBJECTS

您可能会或可能无法执行上述查询,具体取决于系统管理员和/或数据库管理员所授予的权限。

如果在不使用WHERE子句的情况下执行上述查询,则将获取数据库中所有表的列表。 结果集将由创建者(模式)排序,并按字母顺序按每个创建者中的表名排序。 列名称“ Creator”假设为每个表标识的架构与其创建者具有相同的名称。

查询示例

SELECT name, creatorFROM sysibm.systables;

结果

名称 创作者
香气
... 香气
供应商 香气
... ...
系统属性 SYSIBM
... SYSIBM
SYSXMLSTATS SYSIBM
... ...

通过限制模式的名称,可以将结果集限制为属于给定模式的那些表。

查询示例

SELECT name, creatorFROM sysibm.systablesWHERE creator='AROMA';

结果

名称 创作者
香气
... 香气
供应商 香气

同样,您可以通过访问sysibm.syscolumns系统表来列出有关特定表中列的信息。

查询示例

SELECT * FROM sysibm.syscolumns WHERE tbname='CLASS' AND tbcreator='AROMA';

结果

名称 TBNAME TBCREATOR 备考 颜色类型 ...
CLASS_DESC 香气 焦炭 ...
CLASS_TYPE 香气 焦炭 ...
CLASSKEY 香气 整数 ...

通过执行命令来检查该表的内容。 结果集中的列比此处显示的要多。

摘要

本教程介绍了零售表组,并提出了一些可用于IBM DB2 9的典型业务问题。 创建这些表是为了显示以下环境:

  • 桌子很少
  • 列名使用分析师的词汇
  • 列反映了业务的自然维度。

本系列的大部分内容由详细的示例组成,这些示例显示了如何编写SQL查询来回答业务问题。 这些示例大多数基于Aroma零售表组。 少数例外是引入了非常小的表来演示特定概念。

本教程介绍了最常用的数据类型:

号码 SMALLINT,INTEGER,BIGINT,REAL,DOUBLE,DECIMAL
字串 定长字符串(CHAR),变长字符串(VARCHAR)
图形字符串 固定长度图形字符串(GRAPHIC),可变长度图形字符串(VARGRAPHIC,LONG VARGRAPHIC和DBCLOB)
二进制字符串 二进制大对象(BLOB)
日期时间值 日期,时间,时间戳
空值 空值
XML格式 XML文件

翻译自: https://www.ibm.com/developerworks/data/tutorials/dm0607cao/dm0607cao.html

sql简介香气和sql简介

sql简介香气和sql简介_香气和SQL简介相关推荐

  1. sql执行组件是灰色的_如何分析SQL执行计划图形组件

    sql执行组件是灰色的 In the previous articles of this series, SQL Server Execution Plans overview and SQL Ser ...

  2. sql 查询本月请假的人数_温故而知新---学习SQL练习作业

    在看过<SQL基础教程>(作者:MICK)后,陆续面试发现自己的实操确实差很多,又重新学习SQL知识,听了猴子老师新的知乎LIVE,发现这种新的SQL学习方式真好,知识点写的很清楚,也更容 ...

  3. sql优化的方法及思路_合理的sql优化思路--如何缩短SQL调优时间?

    概述 当生产环境发生故障或者系统特别慢的时候,这时候你从awr报告拿到有问题的sql,但是优化的时候却优化了很久还没解决,这时候在领导或者客户面前就不太好了...那么我们怎么去缩短sql调优的时间,一 ...

  4. sql查询去除视图重复项_如何使用SQL查询视图,Postico使用技巧分享

    Postico凭借着简单易用的操作界面深受专业人员和新手的喜爱,小编也整理一点小技巧分享给大家,通过一次编辑多行节省时间,是你工作的好帮手,快来一起看看吧~ 如何使用SQL查询视图,Postico使用 ...

  5. 在sql server 发生未指定的错误_一条sql查询是怎么执行的?

    作为一个资深CRUD boy,对于mysql想必都比较熟悉.但很多人估计和我一样对于一条简单的sql语句可以熟练的使用,但要问起里面怎么执行的,可能大部分分人就懵逼了. 因此本文就就将分析一下一条基本 ...

  6. sql 如何设置行级锁_如何使用SQL Server 2016行级安全性过滤和阻止数据访问

    sql 如何设置行级锁 SQL Server 2016 came with many new features and enhancements for existing ones, that con ...

  7. sql查询非11位非数字_非生产环境SQL查询性能调优技巧

    sql查询非11位非数字 It is a common misconception that you need real production data, or production like dat ...

  8. sql 凭证明细表 科目余额表_科目余额SQL

    selectgb.period_year 会计年度, gb.period_name 会计期间, gcck.concatenated_segments 科目代码, gl_flexfields_pkg.g ...

  9. 基于数据库数据增量同步_基于 Flink SQL CDC 的实时数据同步方案

    简介:Flink 1.11 引入了 Flink SQL CDC,CDC 能给我们数据和业务间能带来什么变化?本文由 Apache Flink PMC,阿里巴巴技术专家伍翀 (云邪)分享,内容将从传统的 ...

最新文章

  1. android 集合 内存泄漏,Android内存泄漏第二课--------(集合中对象没清理造成的内存泄漏 )...
  2. javascript取随机数_查缺补漏一些 Javascript 的小技巧笔记
  3. 【原创】分布式之redis复习精讲
  4. Android重点笔记,安卓listview 懒加载的实现笔记
  5. 搭建xss-platform平台
  6. curl put方法 测试http_HTTP接口调试利器!4.8万Star的HTTP命令行客户端!
  7. 中国开杯闪点测试仪行业市场供需与战略研究报告
  8. java使用org.w3c.dom解析XML文档,创建、增删查改,保存,读取,遍历元素等操作
  9. 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。
  10. vc c mysql_VC++ 利用 MySQL connector c 访问MySQL 数据库
  11. 使用ClassLoader加载资源详解
  12. ZigBee--CC2530单片机--按键控制LED灯
  13. 浩辰ICAD电气软件IDq2003i.rar
  14. 国际清算银行:多国央行进行CBDC研究 仅少数推出具体计划
  15. Python再夺冠,2020年度编程语言排行榜出炉
  16. 痘痘标记的5种健康地图
  17. 【大数据】Hadoop 体系(四)
  18. Android 和 iOS 开发的寒冬了?
  19. 安卓技术实战01 第一个安卓APP案例
  20. Android 状态栏工具类(实现沉浸式状态栏 / 变色状态栏)

热门文章

  1. 算法转 Java 后端,2021秋招斩获腾讯、京东、百度等大厂 offer 面经分享!
  2. iphone内存管理(一)
  3. 2020快手前端暑期实习面经
  4. 12306快手,初始版本发布。匆忙写了个,不喜勿用
  5. logo设计的方法和技巧
  6. mysql数据库所有表合并_mysql数据库如何将表合并我从数据库中倒出表导出后是这样的b 爱问知识人...
  7. 【hadoop权威指南第四版】第六章MR的工作原理【笔记+代码】
  8. 信息学奥赛一本通:1413:确定进制
  9. 基于Spring Boot的农家乐点餐系统
  10. SNMP实现网络状态监控