ddl dml dcl

DCL数据控制语言

创建临时表空间

create temporary tablespace user_temp   

tempfile 'E:/oracle/product/10.1.0/oradata/orcl/user_temp.dbf'  

size 50m   

autoextend on   

next 32m maxsize 2048m   

extent management local;

创建用户表空间

CREATE TABLESPACE tbs_sns_idx
LOGGING
DATAFILE 
'E:/oracle/product/10.1.0/oradata/orcl/tbs_sns_idx.dbf' 
SIZE 32M 
AUTOEXTEND 
ON 
NEXT 32M MAXSIZE 2048M
EXTENT MANAGEMENT LOCAL;

创建用户

create user 用户名 identified by 密码;

授权

grant 权限1,权限2,... to 用户名

范例:将创建session的权限给test用户

grant create session to test;

实际上一个新的用户所有的权限都要分别赋予,如果现在假设要想把多个权限一次性赋予一个用户,则可以将这些权限定义成一组角色。

在Oracle中提供两个主要角色:connect,resource,可以直接把这2个角色赋予test用户。

范例:

grant connect,resource to test;

可在创建用户的同时指定表空间[不指定的话,默认为USERS这个表空间]

create user 用户名 identified by 密码 default tablespace tbs_sns_idx TEMPORARY TABLESPACE user_temp;

查看用户表空间使用情况

select username,default_tablespace from dba_users;

修改用户的密码

alter user 用户名 identifiyed by 新的密码;

在一般的系统中,在用户第一次登陆的时候可以修改密码,要想完成此功能,可以手工让一个密码失效,格式如下:

alter user 用户名 password expire;

则用户第一次登陆时会有个提示框修改密码。

锁住用户

alter user 用户名 account lock;

解锁用户

alter user 用户名 account unlock;

给test用户查询与删除scott用户的emp表的权利

grant select,delete on scott.emp to test;

回收权限

revoke 权限 on 用户.表名 from 用户;

范例:回收test用户的select及delete权限

revoke select,delete on scott.emp from test;

DDL数据定义语言

创建表

create table person(

    pid         varchar2(18),

    name     varchar2(200),

    age        number(3),

    birthday date,

    sex         varchar(2) default'男'

);

增加address字段

alter table person add (address varchar(200) default '暂无地址')

修改name字段

alter table person modify (name varchar2(20) default '无名氏')

删除表

drop table person

截断表[清空一张表的数据,可立即释放资源,无法回滚。]

truncate table person

创建主键约束,非空约束,唯一约束,检查约束

create table person(

    pid          varchar2(18),

    name      varchar2(200) unique not null,

    age         number(3) not null,

    birthday  date,

    sex          varchar2(2) default'男',

    constraint person_pid_pk primary key(pid),

    constraint person_name_uk unique(name),

    constraint person_age_ck check(age between 0 and 150),

    constraint person_sex_ck check(sex in ('男','女'))

);

创建外键约束

create table book(

    bid        number,

    bname  varchar2(30),

    bprice   number(5,2),

    pid        varchar2(18),

    constraint book_bid_pk primary key(bid),

    constraint person_book_pid_fk foreign key(pid) references person(pid) [on delete cascade]

);

如果是表创建完后再添加约束

alter table person add constraint person_pid_pk primary key(pid);

alter table person add constraint person_name_uk unique(name);

alter table person add constraint person_age_ck check(age between 0 and 150);

alter table person add constraint person_sex_ck check(sex in ('男','女'));

alter table book add constraint book_bid_pk primary key(bid);

alter table book add constraint person_book_pid_fk foreign key(pid) references person(pid) on delete cascade;

删除约束

alter table person drop constraint 约束名;

创建视图

create or replace view 视图名 as 子查询 [with read only]

create or replace view empv20 as select empno,ename,job,hiredate from emp where deptno = 20;

删除视图

drop view empv20

创建序列

create sequence 序列名

[increment by n][start with n]

[{maxvalue n|nomaxvalue}]

[{minvalue n|nominvalue}]

[{cycle|nocycle}]

[{cache n|nocache}];

nextval:取得序列的下一个值

currval:取得序列的当前值

create sequence seq_pid;

insert into person(pid) values(seq_pid.nextval);

 同义词

create synonym emp from scott.emp;

sys用户访问scott下的emp表:

select * from scott.emp;

创建同义词后:

select * from emp;即可

删除同义词

drop synonym emp;

DML数据操作语言

主要是SQL结构化查询语言及INSERT,UPDATE,DELETE的操作

SQLPLUSW基本命令

设置行显示长度:set linesize 长度

设置页显示行数:set pagesize 行数

ed,@,/ 

conn 用户名/密码 [as sysdba]

show user

数据库的备份与恢复

exp imp命令的使用

数据库设计三范式

第一范式:各属性只包含原子值,不可再分

第二范式:没有部分函数依赖

第三范式:没有传递函数依赖

修改Oracle的8080端口

  1. call dbms_xdb.cfg_update(updateXML(dbms_xdb.cfg_get(),'/xdbconfig/sysconfig/protocolconfig/httpconfig/http-port/text()',9000))  
原文地址:https://www.cnblogs.com/klxll/p/3168804.html