DB2和MySQL常用SQL整理

1、Truncate删除表中所有数据

1 truncate table USER immediate; 

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

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

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

2、Truncate删除表中所有数据

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

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

3、DB2下显示数据库中所有表

SELECT * from syscat.tables where tabschema = 'Star';

4、Mysql下显示数据库中所有表

show tables;

 5、db2自动增长列

1 generated by default as identity
2 generated always as identity

区别是:

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

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

举例子:

id INTEGER NOT NULL generated by default as identity (START WITH 1, INCREMENT BY 1)

   定义id为int类型主键,并且不为空,自增长(从1开始,每次递增1)

6、DB2 单引号(')转义

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

INSERT INTO snvcard VALUES'11112','male','Let's Go!');

 转义后:单引号转义符单引号(')

INSERT INTO snvcard VALUES'11112','male','Let''s Go!');
原文地址:https://www.cnblogs.com/enshrineZither/p/3408499.html