db2数据库sql基础I

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

-4-
主要内容: 主要内容:
1、产品介绍 2、数据库数据类型 3、基本的sql与优化建议 基本的sql与优化建议 sql 4、高级sql介绍 高级sql介绍 sql 5、数据库的并发性
-5-
数据类型
数字: small int:-2 768 to +32 767 -2 int:-2 147 483 648 to +2 147 483 647 big int:9 223 372 036 854 775 808 to +9 223 372 036 854 775 807 Real:一个数字的32bit近似值,-3.402E+38 to -1.175E-37, or from 1.175E-37 to 3.402E+38 Double or float:一个数字的64bit近似值,-1.79769E+308 to -2.225E-307, or from 2.225E-307 to 1.79769E+308 Decimal:一个固定位数的压缩的十进制数字 10**31+1 to 10**31-1 字符串: CHAR:定长字符串 最大长度为 254 VARCHAR:变长字符 最大长度为 32 672 Long varchar:最大长度为32 700 ,目前不建议使用。 Clob:最大长度为2Gb。
-13-
DDL介绍 DDL介绍
DDL—数据库定义语言: • CREATE:用于创建数据库对象。 • DECLARE:除了是创建只在过程中使用的临时表 外,DECLARE语句和CREATE语句非常相似。唯一 可以被声明的对象是表。并且必须放入用户临时表 空间。可以定义程序中的变量与游标等。 • DROP:可以删除任何用CREATE(数据库对象) 和DECLARE(表)创建的对象。 • ALTER:允许修改某些数据库对象的信息。不能 修改索引。
-3-
产品介绍产品介绍-客户端
运行时客户机(RunClient) 运行时客户机(Run-Time Client) 管理客户机(Administration Client) Client) 管理客户机( 应用程序开发客户机( 应用程序开发客户机(App. Development Client) Client)
-9-
选择合适的数据类型: 选择合适的数据类型:
(1)int和char的选择:如果该字段存储的只是包含整形数字形式的代 int和char的选择: 的选择 码或者数字,建议使用对应的int方式表示,以减少存储,提高访问性能。 int方式表示 码或者数字,建议使用对应的int方式表示,以减少存储,提高访问性能。 数据范围-32768~32767,可以选择smallint类型,数据范围smallint类型 数据范围-32768~32767,可以选择smallint类型,数据范围2147483648~2147483647,而超出smallint 可以选择int类型, smallint, int类型 2147483648~2147483647,而超出smallint,可以选择int类型,数据范 9223372036854775808~9223372036854775807,而超出int int, 围-9223372036854775808~9223372036854775807,而超出int,可以 选择bigint类型。 bigint类型 选择bigint类型。 date,time和timestamp的选择 的选择: (2)date,time和timestamp的选择:对于只存储日期或者时间的字 选择日期或者时间类型,而不选择timestamp timestamp, 段,选择日期或者时间类型,而不选择timestamp,对于日期时间类型 的字段,如果基于时间的查询比较多, 的字段,如果基于时间的查询比较多,可以考虑在数据库中分日期和时 间两个字段存储,如果只是数据库内部表示,查询中涉及较少, 间两个字段存储,如果只是数据库内部表示,查询中涉及较少,存储为 timestamp类型 类型。 timestamp类型。 varchar和char的选择与长度定义 如果明确字段的使用长度, 的选择与长度定义: (3)varchar和char的选择与长度定义:如果明确字段的使用长度,使 char类型 如果字段的长度是可变的,而且变化的幅度比较大, 类型, 用char类型,如果字段的长度是可变的,而且变化的幅度比较大,使用 varchar类型可以更好的节省存储空间 合适的评估varchar类型的长度, 类型可以更好的节省存储空间, varchar类型的长度 varchar类型可以更好的节省存储空间,合适的评估varchar类型的长度, 避免以后的维护行长度变大导致行迁移。 避免以后的维护行长度变大导致行迁移。 是否为空与默认值的确定:明确指定数据库中各字段是否为空, (4)是否为空与默认值的确定:明确指定数据库中各字段是否为空,对 于不可空的字段,为方面插入新行而没有为其指定相应的值, 于不可空的字段,为方面插入新行而没有为其指定相应的值,建议指定 默认值。 默认值。
DB2数据库SQL基础 DB2数据库SQL基础 (I) 数据库SQL
中国移动通信集团河南有限公司业务支援中 心
-1-
主要内容: 主要内容:
1、产品介绍 2、数据库数据类型 3、基本的sql与优化建议 基本的sql与优化建议 sql 4、高级sql介绍 高级sql介绍 sql 5、数据库的并发性
-2-
-15-
• 修改表: 修改表: 增加一个列: Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据 类型也不能改变,唯一能改变的是增加varchar 类型的长度。 添加主键: Alter table tabname add primary key(col) 删除主键: Alter table tabname drop primary key(col) • 删除表 删除表:drop table tabname
产品介绍产品介绍-服务器端
易捷版 (Express Edition ) 工作组服务器版 (Workgroup Server Edition) Edition) 企业服务器版 (Enterprise Server Edition ) 企业服务器版加上数据分区功能 Feature) ( Enterprise Server Edition + Data Partition Feature)
-14-
1、数据库: 、数据库: • 创建数据库:CREATE DATABASE database-name [USING CODESET codeset TERRITORY territory] 注:代码页的问题。 • 删除数据库:drop database dbname 2 、表: • 创建新表: create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) • 根据已有的表创建新表: A:create table tab_new like tab_old B : create table tab_new as select col1,col2… from tab_old definition only
-7-
AbbreviDate Format ation ISO USA EUR JIS yyyy-mm-dd mm/dd/yyyy dd.mm.yyyy yyyy-mm-dd
Example 1991-10-27 10/27/1991 27.10.1991 1991-10-27
时间的格式: 时间的格式:
-11-
主要内容: 主要内容:
1、产品介绍 2、数据库数据类型 3、基本的sql与优化建议 基本的sql与优化建议 sql 4、高级sql介绍 高级sql介绍 sql 5、数据库的并发性
-12-
SQL定义 SQL定义
SQL是一种面向数据库的通用数据处理语言规范, 能完成以下几类功能:提取查询数据,插入修改删 除数据,生成修改和删除数据库对象,数据库安全 控制,数据库完整性及数据保护控制。 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP, DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE, INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT, ROLLBACK)
其他数据类型: 其他数据类型:
− 二进制字符串:Blob 二进制字符串: − Xml数据类型:xml Xml数据类型 数据类型: − 图形字符串: 图形字符串:
• Graphic :1 and 127 • VARGRAPHIC:16 336 double-byte VARGRAPHIC: double• LONG VARGRAPHIC:16 350 double-byte VARGRAPHIC: double• DBCLOB:1Gb DBCLOB:
hh:mm AM or PM 1:30 PM hh.mm.ss hh:mm:ss 13.30.05 13:30:05
ຫໍສະໝຸດ Baidu
IBM European standard EUR
Timestamp的格式: Timestamp的格式: 的格式
yyyy-mm-dd hh:mm:ss.nnnnnn yyyy-mm-8-
Format Name International Standards Organization IBM USA standard Japanese Industrial Standard Christian Era Abbreviati Date Format on ISO hh.mm.ss USA JIS Example 13.30.05
DB2数据类型 数据类型 smallint integer bigint Decimal(p,s) ( ,) Double Date Time Timestamp Char(X) ( ) Varchar(X) ( ) Graphic(X) ( ) Vargraphic(X) ( )
C数据类型 数据类型 Short | Char[7] Int | Char[12] Long | Char[21] 无 Double Char[11] Char[9] Char[27] Char[X+1] Char[X+1] Wchar_t[X+1] Wchar_t[X+1]
-6-
时间与日期: 时间与日期:
− DATE:日期时间 DATE: − TIME:日期时间 TIME: − TIMESTAMP:日期时间 TIMESTAMP: 日期的格式: 日期的格式:
Format Name International Standards Organization IBM USA standard IBM European standard Japanese Industrial Standard Christian Era
-10-
DB2数据类型与C DB2数据类型与C数据类型匹配 数据类型与
在使用宿主变量前,请注意以下几点: 在使用宿主变量前,请注意以下几点: 宿主变量的长度不能超过30字节。开始的字母不能是EXEC SQL。 30字节 EXEC和 宿主变量的长度不能超过30字节。开始的字母不能是EXEC和SQL。 宿主变量必须在被引用之前定义。 宿主变量必须在被引用之前定义。 一个源程序文件中可以有多个SQL说明段。 SQL说明段 一个源程序文件中可以有多个SQL说明段。 从数据库中Char出一个数字字段(smallint integer、bigint)后必须trim一下 否则char Char出一个数字字段(smallint、 后必须trim一下, char出的字符串有很多空格 从数据库中Char出一个数字字段(smallint、integer、bigint)后必须trim一下,否则char出的字符串有很多空格 宿主变量名在整个程序中必须是唯一的。(这一点与其他数据库的嵌入式sql不同,特别注意) 。(这一点与其他数据库的嵌入式sql不同 宿主变量名在整个程序中必须是唯一的。(这一点与其他数据库的嵌入式sql不同,特别注意) 的数据类型和DB2的数据类型的一些转换关系: DB2的数据类型的一些转换关系 C的数据类型和DB2的数据类型的一些转换关系:
相关文档
最新文档