SQL

--View Definition

A view is a logical representation of one or more tables. In essence, a view is a stored
query.
A view derives its data from the tables on which it is based, called base tables. Base
tables can be tables or other views. All operations performed on a view actually affect
the base tables. You can use views in most places where tables are used.

--数据字典和动态运行视图

----schema object 定义
A logical structure of data stored in a schema. Examples of schema objects are tables,
indexes, sequences, and database links.

数据字典是这样一些数据库信息的集合,这些信息如下:

1) 数据库逻辑策略对象(schema object)的定义,比如表中某一竖行的默认值和数据完整性约束;

2) 分配给当前正在使用的 Schema Object 的磁盘空间容量;

3) 数据库用户名、角色、用户权限以及用户相关的一些其他信息;

数据字典是数据库用来管理数据的核心手段、工具。

下面是一些涉及到数据字典的典型场景:

1) 访问数据字典,从中获取用户、数据库逻辑对象和存储结构等信息;

2) 执行DDL语言,修改数据字典中的数据;

因为数据库把数据字典信息也像其他普通数据一样存储在基表或视图中,所以可以 用SQL语言查询数据字典。

The central set of read-only reference tables and views of each Oracle database is
known collectively as the data dictionary. 

所以,数据字典就是数据库管理系统用来管理应用数据的数据,这些数据也存放在表中,由此可见数据字典对于数据库的重要性。

数据字典有基表或视图组成,他们的定义如下:

基表的定义是,基表存储数据库信息,只有Oracle数据库能够读写这些表,用户极少访问这些表;

视图是从基表中提取数据字典中描述的数据库对象的信息的有机组合。

通常,数据字典视图可以分为三类,以前缀区分,“DBA_”、“ALL_”和“USER_”,他们内容相似。

但是并非所有的数据字典视图都有这三种类型。

--动态性能视图

Throughout its operation, Oracle Database maintains a set of virtual tables that record
current database activity.

The dynamic performance views are special views that are continuously updated while a database is open and in use.

在数据库运行过程中,有一些用来记录数据库运行状态的信息,他们以视图的形式体现,定时的被数据库刷新。

动态性能视图包含如下信息:

1) 系统和会话的性能指标参数;

2) 存储空间的使用和分配情况;

3) 文件状态;

4) job的进程和任务;

5) SQL的执行;

6) 监控(metrics)和统计信息;

数据库管理员不能够删除和写入修改数据库的动态性能视图,故称为固表(fixed tables)。但是数据库管理员可以查询、创建和赋访问权限到其他用户上。

 SQLPLUS登录

登录格式:sqlplus usr/psswd@//Host_IP:Port/sid

DML

1. insert into 语句

create table userinfo
(
id int primary key not null,
name char(20) unique,
age int check(age>10),
sex char(2)
)

create table userinfo1
(
id int primary key not null,
name char(20) unique,
age int check(age>10),
sex char(2)
)

insert into userinfo (id, name, sex) values (1, 'maple1', '男');

insert into userinfo (id, name, sex) select id, name, sex from userinfo1;

2. delete 语句

类似的 drop、truncate,drop把表结构都删除掉了,truncate直接删除,无法回滚,速度比delete快。

DELETE FROM 表名称 WHERE 列名称 = 值

 

posted @ 2018-08-13 17:51  mapleay  Views(100)  Comments(0Edit  收藏  举报