Oracle的安裝
一、基礎(chǔ)表的創(chuàng)建
1.1 切換到scott用戶
- 用sys 賬戶 登錄
- 解鎖scott賬戶
alter user scott account unlock;
conn scott/tiger;
發(fā)現(xiàn)并不存在scott賬戶,自己創(chuàng)建一個(gè)?
- 查找資料后發(fā)現(xiàn),scott用戶的腳本需要自己執(zhí)行一下
@C:\app\oracle\product\12.2.0\dbhome_1\rdbms\admin\scott.sql;
- 手動(dòng)創(chuàng)建了
--sys
CREATE USER c##scott IDENTIFIED BY TIGER;
alter user c##scott identified by TIGER;
GRANT CONNECT,RESOURCE,UNLIMITED TABLESPACE, DBA TO c##scott IDENTIFIED BY TIGER;
ALTER USER c##scott DEFAULT TABLESPACE USERS;
ALTER USER c##scott TEMPORARY TABLESPACE TEMP;
--c##scott
DROP TABLE DEPT;
CREATE TABLE DEPT
(DEPTNO NUMBER(2) CONSTRAINT PK_DEPT PRIMARY KEY,
DNAME VARCHAR2(14) ,
LOC VARCHAR2(13) ) ;
DROP TABLE EMP;
CREATE TABLE EMP
(EMPNO NUMBER(4) CONSTRAINT PK_EMP PRIMARY KEY,
ENAME VARCHAR2(10),
JOB VARCHAR2(9),
MGR NUMBER(4),
HIREDATE DATE,
SAL NUMBER(7,2),
COMM NUMBER(7,2),
DEPTNO NUMBER(2) CONSTRAINT FK_DEPTNO REFERENCES DEPT);
INSERT INTO DEPT VALUES
(10,'ACCOUNTING','NEW YORK');
INSERT INTO DEPT VALUES (20,'RESEARCH','DALLAS');
INSERT INTO DEPT VALUES
(30,'SALES','CHICAGO');
INSERT INTO DEPT VALUES
(40,'OPERATIONS','BOSTON');
INSERT INTO EMP VALUES
(7369,'SMITH','CLERK',7902,to_date('17-12-1980','dd-mm-yyyy'),800,NULL,20);
INSERT INTO EMP VALUES
(7499,'ALLEN','SALESMAN',7698,to_date('20-2-1981','dd-mm-yyyy'),1600,300,30);
INSERT INTO EMP VALUES
(7521,'WARD','SALESMAN',7698,to_date('22-2-1981','dd-mm-yyyy'),1250,500,30);
INSERT INTO EMP VALUES
(7566,'JONES','MANAGER',7839,to_date('2-4-1981','dd-mm-yyyy'),2975,NULL,20);
INSERT INTO EMP VALUES
(7654,'MARTIN','SALESMAN',7698,to_date('28-9-1981','dd-mm-yyyy'),1250,1400,30);
INSERT INTO EMP VALUES
(7698,'BLAKE','MANAGER',7839,to_date('1-5-1981','dd-mm-yyyy'),2850,NULL,30);
INSERT INTO EMP VALUES
(7782,'CLARK','MANAGER',7839,to_date('9-6-1981','dd-mm-yyyy'),2450,NULL,10);
INSERT INTO EMP VALUES
(7788,'c##SCOTT','ANALYST',7566,to_date('13-JUL-87')-85,3000,NULL,20);
INSERT INTO EMP VALUES
(7839,'KING','PRESIDENT',NULL,to_date('17-11-1981','dd-mm-yyyy'),5000,NULL,10);
INSERT INTO EMP VALUES
(7844,'TURNER','SALESMAN',7698,to_date('8-9-1981','dd-mm-yyyy'),1500,0,30);
INSERT INTO EMP VALUES
(7876,'ADAMS','CLERK',7788,to_date('13-JUL-87')-51,1100,NULL,20);
INSERT INTO EMP VALUES
(7900,'JAMES','CLERK',7698,to_date('3-12-1981','dd-mm-yyyy'),950,NULL,30);
INSERT INTO EMP VALUES
(7902,'FORD','ANALYST',7566,to_date('3-12-1981','dd-mm-yyyy'),3000,NULL,20);
INSERT INTO EMP VALUES
(7934,'MILLER','CLERK',7782,to_date('23-1-1982','dd-mm-yyyy'),1300,NULL,10);
DROP TABLE BONUS;
CREATE TABLE BONUS
(
ENAME VARCHAR2(10) ,
JOB VARCHAR2(9) ,
SAL NUMBER,
COMM NUMBER
) ;
DROP TABLE SALGRADE;
CREATE TABLE SALGRADE
( GRADE NUMBER,
LOSAL NUMBER,
HISAL NUMBER );
INSERT INTO SALGRADE VALUES (1,700,1200);
INSERT INTO SALGRADE VALUES (2,1201,1400);
INSERT INTO SALGRADE VALUES (3,1401,2000);
INSERT INTO SALGRADE VALUES (4,2001,3000);
INSERT INTO SALGRADE VALUES (5,3001,9999);
COMMIT;
1.2 導(dǎo)入數(shù)據(jù)文件
01_del_data.sql02_hr_cre.sql03_hr_popul.sql
@C:\Users\ifeng\Desktop\guigu\01_del_data.sql;
@C:\Users\ifeng\Desktop\guigu\02_hr_cre.sql;
@C:\Users\ifeng\Desktop\guigu\03_hr_popul.sql;
二、Oracle 管理
可以用Oracle企業(yè)管理器 連接 數(shù)據(jù)庫(kù)服務(wù)器
2.1 用戶
2.1.0 創(chuàng)建用戶
create user ifeng identified by 123456
2.1.1 概要文件
每個(gè)Oracle數(shù)據(jù)庫(kù)都有一個(gè)默認(rèn)的資源概要文件,名為DEFAULT
其中的口令 可以 設(shè)置 用戶密碼錯(cuò)誤n次口 賬戶鎖定
2.2 對(duì)象
每一個(gè)登錄的賬戶都是一個(gè)用戶對(duì)象
未授權(quán)的情況下,每個(gè)用戶只能讀取自己的創(chuàng)建的表
授權(quán):
- 在Oracle企業(yè)管理器 中 找到要管理的用戶,
- 其他用戶(當(dāng)做一個(gè)對(duì)象)呈現(xiàn)
- 其他對(duì)象(用戶)的 表 ,給select 權(quán)限
2.2.2 模式
組織數(shù)據(jù)庫(kù) 對(duì)象(用戶)的一個(gè)邏輯概念,與數(shù)據(jù)庫(kù)對(duì)象的物理存儲(chǔ)無(wú)關(guān)
一個(gè)模式只能屬于一個(gè)數(shù)據(jù)庫(kù)用戶,與用戶名相同
從一個(gè)模式中引用另一個(gè)模式的對(duì)象(查詢另一個(gè)用戶的表)
可以用 scott.emp 的形式 ,不同模式的對(duì)象名字可以重復(fù)
2.2.3 模式對(duì)象和非模式對(duì)象
可以包含在模式中的對(duì)象:
- 表
- 索引
- 觸發(fā)器
不屬于任何模式的對(duì)象:
- 表空間、
- 用戶賬戶、
- 角色、
- 概要文件
2.2.4 默認(rèn)表空間
邏輯存儲(chǔ)
用戶的各種模式對(duì)象(表、索引、過(guò)程、觸發(fā)器)都放在表空間中
默認(rèn)為USERS表空間
2.2.5 臨時(shí)表空間
大量的查詢排序 需要 用到臨時(shí)表
默認(rèn)為TEMP表空間
2.2.6 SYSTEM表空間
system表空間用來(lái)存儲(chǔ)數(shù)據(jù)庫(kù)系統(tǒng)信息
- 表、視圖 —數(shù)據(jù)字典
- 源代碼—函數(shù)、觸發(fā)器
2.3 權(quán)限
2.3.1 系統(tǒng)權(quán)限
對(duì)整個(gè)數(shù)據(jù)庫(kù)的操作能力
2.3.2 對(duì)象權(quán)限
對(duì)某個(gè)對(duì)象(用戶、DB的概念)執(zhí)行的權(quán)限
2.4 角色
利用角色進(jìn)行管理
很好理解吧,也可以創(chuàng)建自定義的角色
給與用戶權(quán)限的時(shí)候,也可以直接授予 角色
三、SQL
SQL(Structured Query Language)和 PL/SQL(Procedural Language/Structured Query Language)是用于在 Oracle 數(shù)據(jù)庫(kù)中進(jìn)行編程和查詢的不同語(yǔ)言。
下面是它們之間的主要區(qū)別:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-814563.html
- SQL 是一種用于管理和查詢關(guān)系型數(shù)據(jù)庫(kù)的語(yǔ)言。它用于執(zhí)行操作,如插入、更新和刪除數(shù)據(jù),以及查詢數(shù)據(jù)。SQL 主要用于處理數(shù)據(jù)和執(zhí)行數(shù)據(jù)庫(kù)級(jí)別的操作,而不是編寫復(fù)雜的業(yè)務(wù)邏輯。
- PL/SQL 是 Oracle 數(shù)據(jù)庫(kù)提供的過(guò)程式編程語(yǔ)言,它結(jié)合了 SQL 和通用編程語(yǔ)言的特性。PL/SQL 具有變量、條件控制、循環(huán)和異常處理等傳統(tǒng)編程語(yǔ)言的功能,同時(shí)也可以包含 SQL 語(yǔ)句來(lái)操作數(shù)據(jù)庫(kù)。它允許開(kāi)發(fā)者編寫復(fù)雜的業(yè)務(wù)邏輯、觸發(fā)器、存儲(chǔ)過(guò)程和函數(shù)等。
- SQL 主要用于執(zhí)行查詢和數(shù)據(jù)操作,它強(qiáng)調(diào)對(duì)數(shù)據(jù)進(jìn)行檢索和操縱的能力。SQL 語(yǔ)句可以用于從數(shù)據(jù)庫(kù)中獲取數(shù)據(jù)、創(chuàng)建表、定義約束、建立索引等。SQL 是一種聲明性語(yǔ)言,您只需指定您需要什么,而不需要關(guān)注實(shí)現(xiàn)的細(xì)節(jié)。
- PL/SQL 是一種完整的編程語(yǔ)言,它具有流程控制、變量和常量、異常處理等編程語(yǔ)言的特性。PL/SQL 強(qiáng)調(diào)編寫復(fù)雜的業(yè)務(wù)邏輯,可以將 SQL 語(yǔ)句與程序代碼結(jié)合起來(lái),實(shí)現(xiàn)更靈活和強(qiáng)大的功能。
總結(jié)來(lái)說(shuō),SQL 是一種用于查詢和操作數(shù)據(jù)庫(kù)的語(yǔ)言,而 PL/SQL 是一種過(guò)程式編程語(yǔ)言,它在 SQL 的基礎(chǔ)上擴(kuò)展了更多的編程功能。SQL 主要用于對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,而 PL/SQL 則更適合編寫數(shù)據(jù)庫(kù)應(yīng)用程序和處理復(fù)雜的業(yè)務(wù)邏輯。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-814563.html
- DML : Manipulation 操縱 語(yǔ)言
- insert、update、delete
- select
- DDL : Definition 定義 語(yǔ)言
- create
- alter
- drop
- create/drop index :在表上創(chuàng)建索引
- DCL : Control 控制語(yǔ)言
- Grant/Revoke
- commit/rollback
- savepoint
- Lock:對(duì)數(shù)據(jù)庫(kù)特定部分進(jìn)行鎖定
到了這里,關(guān)于Oracle1 數(shù)據(jù)庫(kù)管理的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!