DB2_SQL_常用知识点&实践

一、删除表中的数据(delete或truncate)

1 truncate table T_USER immediate;

  说明:Truncate是一个能够快速清空资料表内所有资料的SQL语法。并且能针对具有自动递增值的字段,做计数重置归零重新计算的作用;

     TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少;

   DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。

  范例:

1 truncate table T_USER where USERNAME <> 'admin';

  说明:"<>"符号是不等于的意思,即"!="

1 DELETE FROM T_USER WHERE ID = <condition>;

二、显示数据库中所有表

1 SELECT * from syscat.tables where tabschema = 'SCTS';

三、db2自动增长列

1 ---默认自增,允许手工修改
2 generated by default as identity;
3 ---不允许指定,只能由数据库自动分配并插入
4 generated always as identity;

  说明:第一种方式在插入数据时允许手工指定自增字段的值,只要不重复即可,并且数据库会自动设置下一个值;

      第二种方式则不允许指定,只能由数据库自动分配并插入。

  范例:

1 ---定义id为int类型主键,并且不为空,自增长(从1开始,每次递增1)
2 id INTEGER NOT NULL generated by default as identity (START WITH 1, INCREMENT BY 1);

四、DB2 单引号(')转义

  比如:未转义之前,看下面的sql几个value?3.5个?

1 INSERT INTO T_VCARD VALUES('11112','male','Let's Go!');

上面这句在DB里面执行肯定是错误的,实际上需要转义才是正确的:单引号转义符为单引号(')

1 INSERT INTO T_VCARD VALUES('11112','male','Let''s Go!');

五、连接字符串

  两种方式:用运算法、利用函数

1 ---利用运算法
2 select ID || CREATE_TIME  FROM T_TOPIC_TEMPER;
3 ---利用拼接函数
4 select CONCAT(ID,CREATE_TIME)  FROM T_TOPIC_TEMPER;

  说明:一般来说,当要连接多个字符串的时候,使用运算符要简单一点。

六、DB默认值default

1 "CREATE_TIME" TIMESTAMP DEFAULT CURRENT TIMESTAMP NOT NULL,
2 "MANUAL_ORDER"    INTEGER default '0',

七、主键

1 constraint "P_Identifier_1" primary key ("ID");

八、索引

1 CREATE UNIQUE INDEX T_USER_IDX ON T_USER (ID, TOPIC_ID)ALLOW REVERSE SCANS;

九、视图
复制代码

1 CREATE VIEW
 2     IM.T_TOPIC_CLASSIFY_MAPS_TEMPER_VIEW
 3     (
 4         TOPIC_ID,
 5         CLASSIFY_ID,
 6         MANUAL_ORDER,
 7         SCORE
 8     ) AS
 9 SELECT
10     B.TOPIC_ID AS TOPIC_ID,
11     A.CLASSIFY_ID         AS CLASSIFY_ID,
12     A.MANUAL_ORDER         AS MANUAL_ORDER,
13     B.SCORE  AS  SCORE
14 FROM
15     IM.T_TOPIC_CLASSIFY_MAPS A,
16     IM.T_TOPIC_TEMPER B,
17     IM.T_TOPIC C
18 WHERE
19     A.TOPIC_ID=B.TOPIC_ID
20 AND C.ID=B.TOPIC_ID
21 AND C.STATE =1;

复制代码

十、修改字段属性、添加字段等

  修改字段长度:

1 --==============================================================
2 -- 修改话题avatar的字段长度: Table: T_TOPIC
3 --==============================================================
4 alter table T_TOPIC ALTER COLUMN AVATAR SET DATA TYPE VARCHAR(256);

  添加字段:

1 --==============================================================
2 -- 给T_TOPIC表增加TOPIC_PHOTO_NAME字段: Table: T_TOPIC
3 --==============================================================
4 ALTER TABLE T_TOPIC ADD COLUMN TOPIC_PHOTO_NAME VARCHAR (256);

十一、INSERT 语句

  DB2的INSERT语句有三种格式:即一次插入一行,一次插入多行和从SELECT语句中插入。

  现在要求插入一行数据,我们这么写:

1 INSERT INTO USER(NAME,AGE) VALUES ('Jack','25');

  现在要求插入三行数据(可以一行一行写,不再举例),推荐一次插入多行的写法:

1 INSERT INTO USER(NAME,AGE) VALUES
2 ('Jack','25'),
3 ('Tom','26'),
4 ('Jucie','27');

  那么一次插入多行的好处是什么呢?有两点好处:

      1、性能更好;

      2、由于一条语句,所以它们是一个处理单元,要么都插入,要么都不插入。

  第三种,我们还可以从SELECT中插入,格式如下:

1 INSERT INTO USER (NAME,AGE)
2 SELECT <COLUMN1>,<COLUMN2> FROM <TABLE_NAME> WHERE ...

DB2_SQL_常用知识点&实践的更多相关文章

  1. Mysql_SQL_常用知识点&实践

    1.Mysql中类似于nvl()函数的ifnull()函数 ) FROM Table 2.添加某个字段(指定字段column的位置) ----------添加字段zoneId ) NOT NULL A ...

  2. JAVA常用知识点及面试题总结

    1. String.StringBuffer.StringBuilder三者区别? (1)三者在执行速率上的比较: String<StringBuffer<StringBuilder 原因 ...

  3. HTML常用知识点代码演示

    1 HTML部分常用知识点 <!-- 版本声明 --> <!DOCTYPE html> <!-- 唯一根元素 --> <html> <!-- 对网 ...

  4. Java 常用知识点

    Java 常用知识点 1.日期格式化 SimpleDateFormat Date date=new Date(System.currentTimeMillis()) ; SimpleDateForma ...

  5. Less常用知识点

    上篇文章介绍了如何安装Less,我们将所有东西都写在.less里面,最后通过命令将.less转换成.css文件,就可以放入到项目里用了.今天了解一些less常用知识点. 1.变量:声明两个变量,一个是 ...

  6. BIOS备忘录之EC常用知识点

    BIOS工程师眼中常用的EC知识点汇总: EC的硬件架构 EC硬件结构上主要分为两部分:Host Domain和EC Domain Host Domain就是通过LPC与CPU通信的部分(LPC部分需 ...

  7. YII2常用知识点总结

    YII2常用知识点总结 (一)总结性语句 (1)经常看看yii源码比如vendor\yiisoft\yii2\web这个目录(很重要)下的文件中的方法(这些文件中的公共方法,大致看了下基本上都可以通过 ...

  8. CSS3常用知识点

    CSS3常用知识点 1 css3选择器 1.1 属性选择器 /* E[attr~=val] 表示的一个单独的属性值 这个属性值是以空格分隔的*/ .attr2 a[class~="kawa& ...

  9. javaScript常用知识点有哪些

    javaScript常用知识点有哪些 一.总结 一句话总结:int = ~~myVar, // to integer | 是二进制或, x|0 永远等于x:^为异或,同0异1,所以 x^0 还是永远等 ...

随机推荐

  1. php编写验证码

    今天学习到了php登录时的验证码,验证码在我们平时的网站建设中是非常重要的,对于放置一些灌水机.脚本攻击是一个很好地策略. 下面是我写的代码: <?php session_start(); // ...

  2. MySQL自动化安装(双主多从读写分离)

    shell #!/bin/bash # Create by # version 1.0 # // # # check out lockfile whether or not exist IsInput ...

  3. 802.11 wireless 三

    802.11 wireless 3watts,milliwatts,and Decibels瓦特(功率单位)的定义是1焦耳/秒微波炉1000瓦特,手机100-200毫瓦 decibels(分贝:比较能 ...

  4. JS--传统事件模型的问题

    事件绑定分为两种情况:传统的事件绑定(内联模型.脚本模型),一种是现代事件绑定模型(DOM2级事件绑定). 内联模型的事件绑定是将事件写在元素标签中,将事件绑定函数当做元素的一种属性来实现的,这种绑定 ...

  5. 【递推】BZOJ 4300:绝世好题

    4300: 绝世好题 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 564  Solved: 289[Submit][Status][Discuss] ...

  6. word插件开发 运行时,插件不启动.

      word插件开发 运行时,插件不启动. 查看插件信息时. 在禁用的应用程序加载项中.   启动禁用的插件: 点击转到.  选择你要启动的插件就可以了.

  7. HDU1004 Let the Balloon Rise(map的简单用法)

    Let the Balloon Rise Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...

  8. 7 天玩转 ASP.NET MVC - 第 1 天

    0. 前言 正如标题「7 天玩儿转 ASP.NET MVC」所言,这是个系列文章,所以将会向大家陆续推出 7 篇.设想一下,一天一篇,你将从一个愉快的周一开始阅读,然后在周末成为一个 ASP.NET ...

  9. NodeJS介绍

    1.概述: Node.js是基于Chrome JavaScript运行时建立的一个平台,实际上它是对Google Chrome V8引擎进行了封装,它主要用于创建快速的.可扩展的网络应用.Node.j ...

  10. SQL技术内幕-13 SQL优化方法论之分析实例级别的等待

    优化方法论的第一步是在实例级别上找出什么类型的等待占用了大部分的等待时间,这可以通过查询动态管理图(DMV,dynamic management view)sys.dm_os_wait_stats 运 ...