delete from table_name where rowid not in (select max(rowid) from table_name group by duplicate_values_field_name);
或者
delete duplicate_values_field_name dv from table_name ta where rowid (SEL...... <阅读全文>
数据库面试题 数据库笔试题
EXISTS比较快因为EXISTS返回一个Boolean型而IN返回一个值。
<阅读全文>
IMPORT IGNORE选项告诉IMPORT去忽略”already exists”错误, 如果没有不是IGNORE那么已经存在的表就会在IMPORT的时候跳过,如果是IGNORE,那么错误信息会被忽略,表数据也会被插入,缺省的设置是N
<阅读全文>
实现把一个表从一个schema到另一个schema有几种可能的方法:
1. export – import
2. CREATE TABLE … AS SELECT
3. COPY
<阅读全文>
事务是由一组必须要同时完成的或者同时取消的操作组成的,事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begin transaction和end transaction语句(或函数...... <阅读全文>
在设计分布式数据库时,应特别考虑如下几个方面的问题:
1. 数据保存 (存储分段/复制,横向/纵向表分区);
2. 目录管理(catalog management): 命名,数据独立性
3. 查询处理(基于代价的调优, 半合并)
4. 数据...... <阅读全文>
表结构如下
————————————
Buyer Name Quantity
A 甲 2
B 乙 4
C 丙 ...... <阅读全文>
To connect IBM DB2, you will need to set up DB2 Runtime Client, here are the steps
1. Download and install IBM DB2 Runtime Client lite.
2. In DB2 CLP, Run “catalog tcpip node #NODE_NAME# r...... <阅读全文>
1. 使用索引需要占用更多的存储空间,因为索引本身也需要占用存储空间。
2. 使用索引会降低插入数据和更新数据的速度,因为在更新数据的同时也要更新索引。
<阅读全文>
这是一套摘自网络的Oracle面试题,希望各位朋友提供踊跃提供答案。
(1) 在关系R中,表达式 3 <4(R) 表示 ( )
A. 从R中选择值为3的分量小于第4个分量的元组组成的关系
B. 从R中选择第3个分...... <阅读全文>
进行时间比较要尽量避免用sysdate. 比如:如果使用select * from eventtable where eventdate>sysdate-30进行查找,当数据量小的时候看不出来,数据量大一些就会发现执行很慢,但日期型字 段上也是有索引的...... <阅读全文>
可以使用一下语句来进行计算:
select owner ,
table_name,
NUM_ROWS,
BLOCKS*AAA/1024/1024 “Size M”,
EMPTY_BLOCKS,
LAST_ANALYZED
from dba_tables
where table_name= XXX ;
AAA 是指 db_block...... <阅读全文>
使用以下语句查看当前用户每个表占用空间的大小:
Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name
使用一下语句查看每个表空间占用空间的大小:
Select Tablespace_Name,...... <阅读全文>
IN :
IN写出来的SQL比较容易写及清晰易懂但是性能总是比较低的,从ORACLE执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别:
ORACLE 试图将IN转换成多个表的连接,如果转换不成功会先执行IN里面的子查询,...... <阅读全文>
可以用一下语句查询登陆客户端的机器名:
select machine, terminal from V$SESSION
<阅读全文>
1.如果MYSQL客户端和服务器端的连接需要跨越并通过不可信任的网络,那么需要使用ssh隧道来加密该连接的通信。
2.使用set password语句来修改用户的密码,先“mysql -u root”登陆数据库系统,然后“mysql> upd...... <阅读全文>
DDL :数据定义语言,用于定义和管理 SQL 数据库中的所有对象的语言
1.CREATE – to create objects in the database 创建数据库对象
2.ALTER – alters the structure of the database 修改数据...... <阅读全文>
数据库约束是防止非法记录的规则, 约束保存在数据字典(data dictionary)中, 约束可以被定义在列级或者表级。
Oracle中包括一下集中约束:
1. Not Null – 明确一列数据不能包含null值
2. Unique –...... <阅读全文>
Oracle数据库包括一个逻辑层和物理层,物理层包括Oracle磁盘上的文件, 逻辑层用来映射数据和物理层的文件。
逻辑层包括一下元素:
一个或者多个表空间。
数据库Schema: 包括表,集群,索引,视图,存储过程,...... <阅读全文>
表空间(tablespace)是数据库的一个逻辑的存储单元,用来将相关的数据结构到组织到一起。
系统表空间是在数据库建立的时候自动创建的,它包含了整个数据库的数据字典。
<阅读全文>
Union用来返回多个查询的结果的总和去掉重复的结果
语法:
SELECT column1, column2 FROM tablename1
UNION
SELECT column1, column2 FROM tablename2;
Intersect 用来返回多个查询中共同的结果,intersect会...... <阅读全文>
一个表只能由一个主键,一个表可以有很多个唯一键(UNIQUE Key)
主键不允许有null值,UNIQUE允许null值
<阅读全文>
Delete命令用来删除表的全部或者一部分数据行,执行delete之后,用户需要提交(commmit)或者回滚(rollback) transaction 来执行删除或者撤销删除, delete命令会触发这个表上所有的delete触发器。
Truncate删除...... <阅读全文>
RowId是一个数据库内部的概念,表示表的一行,用来快速的访问某行数据
Rownum是结果集的一个功能, 例如select * from Student where rownum = 2 就是得到结果集的第二行。
<阅读全文>
