日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ddl dml dcl

發布時間:2023/12/10 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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端口

?

  • 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

    總結

    以上是生活随笔為你收集整理的ddl dml dcl的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。