DB2_SQL_常用知识点&实践
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_常用知识点&实践的更多相关文章
- Mysql_SQL_常用知识点&实践
1.Mysql中类似于nvl()函数的ifnull()函数 ) FROM Table 2.添加某个字段(指定字段column的位置) ----------添加字段zoneId ) NOT NULL A ...
- JAVA常用知识点及面试题总结
1. String.StringBuffer.StringBuilder三者区别? (1)三者在执行速率上的比较: String<StringBuffer<StringBuilder 原因 ...
- HTML常用知识点代码演示
1 HTML部分常用知识点 <!-- 版本声明 --> <!DOCTYPE html> <!-- 唯一根元素 --> <html> <!-- 对网 ...
- Java 常用知识点
Java 常用知识点 1.日期格式化 SimpleDateFormat Date date=new Date(System.currentTimeMillis()) ; SimpleDateForma ...
- Less常用知识点
上篇文章介绍了如何安装Less,我们将所有东西都写在.less里面,最后通过命令将.less转换成.css文件,就可以放入到项目里用了.今天了解一些less常用知识点. 1.变量:声明两个变量,一个是 ...
- BIOS备忘录之EC常用知识点
BIOS工程师眼中常用的EC知识点汇总: EC的硬件架构 EC硬件结构上主要分为两部分:Host Domain和EC Domain Host Domain就是通过LPC与CPU通信的部分(LPC部分需 ...
- YII2常用知识点总结
YII2常用知识点总结 (一)总结性语句 (1)经常看看yii源码比如vendor\yiisoft\yii2\web这个目录(很重要)下的文件中的方法(这些文件中的公共方法,大致看了下基本上都可以通过 ...
- CSS3常用知识点
CSS3常用知识点 1 css3选择器 1.1 属性选择器 /* E[attr~=val] 表示的一个单独的属性值 这个属性值是以空格分隔的*/ .attr2 a[class~="kawa& ...
- javaScript常用知识点有哪些
javaScript常用知识点有哪些 一.总结 一句话总结:int = ~~myVar, // to integer | 是二进制或, x|0 永远等于x:^为异或,同0异1,所以 x^0 还是永远等 ...
随机推荐
- MATLAB GUI程序设计中ListBox控件在运行期间消失的原因及解决方法
在运行期间,ListBox控件突然消失,同时给出如下错误提示: Warning: single-selection listbox control requires that Value be an ...
- PLSQL读取XML的数据
最近公司做的几个项目,都是通过EBS与外部系统的Web Service进行数据的交互,而调用Web Service的时候,我们所传送的数据,都是按照约定的XML格式来传递,所以EBS接收到数据之后,需 ...
- 【收藏】Linux下tomcat内存配置
常见的内存溢出有以下两种: java.lang.OutOfMemoryError: PermGen space java.lang.OutOfMemoryError: Java heap space ...
- Java面试之SE基础基本数据类型
1.九种基本数据类型的大小以及它们的封装类 在我们面试或者考试过程中经常会考到八种基本数据类型以及它们的封装类,那么有哪八种基本数据类型呢?它们的封装类又是什么呢? 首先,八种基本数据类型分别是:in ...
- 用PHP对数据库内容进行操作(改)
查询页面(用户可见) <body> <table width="80%" border="1" cellpadding="0&quo ...
- Nginx问题总汇
http://blog.csdn.net/llnara/article/details/8691049 关键字: open var run nginx pid failed 产生原因:添加模块,重编译 ...
- 设计模式之适配器模式(Adapter)
适配器模式原理:适配器模式属于结构型模式,主要作用是完成功能的转换, 1.通过一个类继承目标类. 2.需要适配的类 3.适配器 代码如下: #include <iostream> usin ...
- 监听HTML input输入框值的即时变化onpropertychange、oninput兼容IE,Chrome,FF,Opera等
转自:http://blog.csdn.net/itchiang/article/details/7769337 要达到的效果 很多情况下我们都会即时监听输入框值的变化,以便作出即时动作去引导浏览者增 ...
- JS数组2(冒泡排列、数组里面查找数据)
数组 一.冒泡排列 对数组attr = [1,8,6,4,5,3,7,2,9]进行由大到小排列,用冒泡排列的方法排列时,会对数组进行比较互换.如果前一个数字较大,这2个元素排列方式不变,如果后一个元素 ...
- [工作积累] OpenGL ES3.0: glInvalidateFramebuffer
https://www.khronos.org/opengles/sdk/docs/man3/html/glInvalidateFramebuffer.xhtml 这个在GLES2.0上只有Exten ...