一些常用SQL

本文介绍如何使用Oracle和PGSQL进行数据管理,包括删除重复记录、闪回查询及表结构查询等实用操作。

ORACLE

  • 删除重复记录
DELETE 
FROM
	表 a 
WHERE
	( a.Id, a.seq ) IN ( SELECT Id, seq FROMGROUP BY Id, seq HAVING count( * ) > 1 ) 
	AND ROWID NOT IN (
	SELECT
		min( ROWID ) 
	FROMGROUP BY
		Id,
		seq 
HAVING
	count( * ) > 1)
  • 闪回操作,查询指定时间的数据
SELECT
	* 
FROMAS OF timestamp to_timestamp( 'yyyy-mm-dd hh:mm:ss', 'yyyy-mm-dd hh24:mi:ss' );
  • 查询表结构(字段名,类型,长度,注释)
SELECT
	a.COLUMN_NAME,
	b.comments,
	a.DATA_TYPE,
	a.DATA_LENGTH
FROM
	user_tab_columns a
	INNER JOIN user_col_comments b ON a.COLUMN_NAME = b.COLUMN_NAME 
WHERE
	a.Table_Name =;

PGSQL

  • 查询表结构
SELECT
	a.attnum,
	a.attname AS field,
	t.typname AS TYPE,
	a.attlen AS length,
	a.atttypmod AS lengthvar,
	a.attnotnull AS notnull,
	b.description AS COMMENT 
FROM
	pg_class c,
	pg_attribute a LEFT OUTER
	JOIN pg_description b ON a.attrelid = b.objoid 
	AND a.attnum = b.objsubid,
	pg_type t 
WHERE
	c.relname = '${表名}' 
	AND a.attnum > 0 
	AND a.attrelid = c.oid 
	AND a.atttypid = t.oid 
ORDER BY
	a.attnum
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值