1. 程式人生 > >Oracle學習筆記(一)

Oracle學習筆記(一)

一.欄位型別

欄位型別

描述

欄位長度及其預設值

說明

CHAR (size )

用於儲存定長(size)位元組的字串資料。

每行定長(不足部分補為空格);最大長度為每行2000位元組,預設值為每行1位元組。設定長度(size)前需考慮字符集為單位元組或多位元組。

用於描述定長的字元型資料,長度<=2000位元組

VARCHAR2 (size )

用於儲存變長的字串資料。其中最大位元組長度由(size)指定。

每行長度可變,最大長度為每行4000位元組。設定長度(size)前需考慮字符集為單位元組或多位元組。

用於描述變長的字元型資料,長度<=4000位元組

NCHAR(size )

由字符集決定儲存的是定長(size)的字元或位元組。

每行定長(不足部分補為空格)。對固定寬度的字符集來說,長度(size)是指字元的個數,對變寬的字符集來說,長度(size)是指位元組的個數。最大長度(size)取決於儲存在一個字元中的位元組的長度,每行的最大長度為2000位元組。由字符集決定預設值為1個字元或1個位元組。

用來儲存Unicode字符集的定長字元型資料,長度<=1000位元組

NVARCHAR2 (size )

由字符集決定儲存變長的字元或位元組。其中最大長度由(size)指定。

每行變長。對固定寬度的字符集來說,長度(size

)是指字元的個數,對變寬的字符集來說,長度(size)是指位元組的個數。最大長度(size)取決於儲存在一個字元中的位元組的長度,每行的最大長度為4000位元組。由字符集決定預設值為1個字元或1個位元組。

用來儲存Unicode字符集的變長字元型資料,長度<=1000位元組

LONG

儲存變長的字串資料。

在表中每行的長度可變,最大長度為每行231 - 1位元組或2G

用來儲存最大長度為2GB的變長字元資料

NUMBER (p, s )

儲存變長的數字。Ps都是可選的。P指精度(precision),即總位數。S指小數位(scale),小數點右邊的位數。

每行變長。每行的最大長度為

21位元組。

用來儲存整型或者浮點型數值

DATE

儲存定長的日期或時間資料,範圍為公元前4712/01/01到公元9999/12/31

每行固定為7位元組長度,預設值的日期描述(例如DD-MON-YY)由NLS_DATE_FORMAT引數設定。

用來儲存日期資料

RAW (size )

儲存變長的二進位制資料。最大長度由size指定。

在表中每行的長度可變,最大長度為每行2000位元組。

用來儲存非結構化資料的變長字元資料,長度<=2000位元組

LONG RAW

儲存變長的二進位制資料。

在表中每行的長度可變,最大長度為每行231 - 1位元組或2G

用來儲存非結構化資料的變長字元資料,長度<=2GB

BLOB

儲存二進位制資料。

最大長度為232 - 1位元組或4G

用來儲存多達4GB的非結構化的二進位制資料

CLOB

儲存單位元組字元資料。

最大長度為232 - 1位元組或4G

用來儲存多達4GB的字元資料

NCLOB

儲存由字符集指定的單位元組或固定寬度多位元組或變寬多位元組的字元資料。

最大長度為232 - 1位元組或4G

用來儲存多達4GBUnicode字元資料

BFILE

儲存在外部檔案的二進位制資料。

最大長度為232 - 1位元組或4G

用來把非結構化的二進位制資料儲存在資料庫以外的作業系統檔案中

ROWID  

資料表中記錄的唯一行號

10   bytes  

********.****.****格式,*01

NROWID  

二進位制資料表中記錄的唯一行號

最大長度4000  

bytes

DECIMAL(P,S)

數字型別

P為整數位,S為小數位

INTEGER  

整數型別

小的整數

FLOAT

浮點數型別

NUMBER(38),雙精度

REAL  

實數型別

NUMBER(63),精度更高

二.DDL(改變表結構)

2.1 建立表

Create table student(

Sid number(10),

Sname varchar2(10)

) tablespace tt;

以上tablespace不是必須的。預設不寫,則建立在登入的使用者所在的表空間上

2.2 使用子查詢建立表

create table myemp as select * from emp;

create table myemp as select * from emp where deptno=10;

create table myemp as select * from emp 1=2;

2.3 新增欄位

Alter table student add age number(5);

2.4 修改欄位

Alter table student modify age number(10);

Alter table student rename column age to Sage;

2.5 刪除欄位

Alter table student drop column Sage;

2.6 清空表中的資料

Truncate table student;

正常情況下刪除資料,如果發現刪除錯了,則可以通過rollback回滾。如果使用了截斷表,則表示所有的資料不可恢復了.所以速度很快(更詳細的說明可檢視Oracle體系結構)

2.7 刪除表

Drop table student;

2.8 重名名錶

Rename student to student1

三.DML(改變資料結構)

3.1 insert語句

表間資料拷貝 insert into dept1(id,name)select dno,dname from dept;

3.2 update語句

將編號為7779使用者的工作換成編號為7566的僱員的工作和所屬上級。

UPDATE myemp SET(job,mgr) = (SELECT job,mgr FROM myemp WHERE empno=7566) WHERE empno=7779 ;

如果子查詢中返回的是空,則目標欄位也更新成NULL.

3.3 delete語句

關鍵字delete from後跟準備從中刪除資料的表名,這是必不可少的。關鍵字where後跟刪除條件,為可選的。

如果使用者想刪除customer表的所有記錄,可用SQL語句delete from customer

如果使用者準備刪除state_cdCA的客戶記錄,可用SQL語句delete from customer where state_cd='CA'

3.4 merge語句

Oracle9i引入了MERGE命令,你能夠在一個SQL語句中對一個表同時執行insertsupda tes操作. MERGE命令從一個或多個數據源中選擇行來updati nginserting到一個或多個表.Oracle 10gMERGE有如下一些改進:

1UPDATEINSERT子句是可選的

2UPDATEINSERT子句可以加WHERE子句

3、在ON條件中使用常量過濾謂詞來insert所有的行到目標表中,不需要連線源表和目標表

4UPDATE子句後面可以跟DELETE子句來去除一些不需要的行

create table test1(eid number(10), name varchar2(20),birth date,salary number(8,2));

insert into test1 values (1001, '張三', '20-5-70', 2300);

insert into test1 values (1002, '李四', '16-4-73', 6600);

select * from test1;

create table test2(eid number(10), name varchar2(20),birth date,salary number(8,2));

select * from test2;

merge into test2

using test1

on(test1.eid = test2.eid )

when matched then

update set name = test1.name, birth = test1.birth, salary = test1.salary

when not matched then

insert (eid, name, birth, salary) values(test1.eid, test1.name, test1.birth, test1.salary);

select * from test2;

相關推薦

Oracle學習筆記——B-Tree索引

        目錄是索引的一個最好的例子,每條目錄包含對應章節的標題和頁碼,類比索引的每條索引項包含了資料記錄的某些鍵值組合幷包含了對應資料塊的訪問路徑(rowid)。目錄的存在就是為了快速定位到感興趣的內容,索引的存在也是問了加快對錶資料的隨機訪問。         常

Oracle學習筆記

一.欄位型別 欄位型別 描述 欄位長度及其預設值 說明 CHAR (size ) 用於儲存定長(size)位元組的字串資料。 每行定長(不足部分補為空格);最大長度為每行2000位元組,預設值為每行1位元組。設定長度(size)前需考慮字符集為單位元

Oracle儲存過程學習筆記

SQL是一種語言! 一、先看一部分基礎: 也可參考該文章:https://www.cnblogs.com/Singleorb/p/6217268.html; 1、語法  CREATE OR REPLACE PROCEDURE 儲存過程名字     (      引數1 IN NUMBER,

Oracle 12C學習筆記Oracle12cR2+Centos7.5+ASM

目錄 八、安裝 一、系統準備 VMware Workstation12 Centos 7.5 Oracle 12.2.0.1 Grid 12.2.0.1(可選)也可將資料放置在普通磁碟上 二、系統設定 1、防火牆 fire

python框架之 Tornado 學習筆記

tornado pythontornado 一個簡單的服務器的例子:首先,我們需要安裝 tornado ,安裝比較簡單: pip install tornado 測試安裝是否成功,可以打開python 終端,輸入: import tornado.https

Scala學習筆記編程基礎

大數據 上一個 extends 移除 condition api arr 調用方法 tab 強烈推薦參考該課程:http://www.runoob.com/scala/scala-tutorial.html 1. Scala概述 1.1. 什麽是Scala Scala

3D Game Programming withDX11 學習筆記 數學知識總結

表示 圖形 http 根據 轉置 元素 material -s com   在圖形學中,數學是不可或缺的一部分,所以本書最開始的部分就是數學知識的復習。在圖形學中,最常用的是矢量和矩陣,所以我根據前面三個章節的數學知識,總結一下數學知識。 一、矢量   數學中的矢量,擁有

系統分析與設計學習筆記

學習 掌握 應該 溝通 基本 最終 表示 對象 毫無 為什麽要學習這門課程?   “擁有一把錘子未必能成為建築師”。 這門課程學習的是面向對象分析和設計的核心技能的重要工具。對於使用面向對象技術和語言來,創建設計良好、健壯且可維護的軟件來說,這門課程所

最大熵學習筆記預備知識

color wrap targe dsm entropy plus 文件 eight 相關鏈接 生活中我們常常聽到人們說“不要把雞蛋放到一個籃子裏”。這樣能夠減少風險。深究一下,這是為什麽呢?事實上,這裏邊包括了所謂的最大熵原理(The Maxim

Nginx模塊之Nginx-Ts-Module學習筆記搶險體驗

學習筆記 體驗 nginx模塊 int images clas tps gin issues 1、通過HTTP接收MPEG-TS2、生產和管理Live HLS 3、按照官方的編譯和配置,當然了我是第一次編譯沒有通過,在作者重新調整下,編譯成功,感謝:@arut https:

jq學習筆記

簡單 ren 當前 一個 text 互斥 元素 如果 property 1 .attr() 與 .removeAttr()方法 - atr()方法用來獲取和設置元素屬性 attr()有4個表達式: attr(傳入屬性名):獲取屬性的值 attr(屬性名, 屬性

Redis學習筆記關於在windows64位環境下的安裝學習使用

客戶端 mas key-value 錯誤 services 再次 基準 alt 類型 前言 由於工作需要,目前我正在學習使用Redis。我當時學習Redis就從網上下載了點資料就開始學習了。入門看的是《REDIS入門指南》,這本書個人覺得很適合新手用來學習接觸。根據書上的引

Memcache 學習筆記----Memcache — Linux部署

工作 apach sch trick 解壓 font ash 一個 鍵值   Memcache 一、Memcache簡介(內容摘自 --百度百科)   memcache是一套分布式的高速緩存系統,由LiveJournal的Brad Fitzpatrick開發,但目前被許多網

HtmlParser學習筆記-- 創建Parser對象

nco 修改 英文 text aid 意思 charset 網頁 第一個 首先 ,介紹下HTMLParser的核心類,org.htmlparser.Parser類,這個類實際完成了對於HTML頁面的分析工作。主要的構造函數如下: public Parser ();

Python 學習筆記

pytho oat 變量 情況 class 弱類型 定義 寫代碼 基本上 為什麽學習Python?因為Python 的用處太多了。 本想學會一們語言就好好的維持下去,但是最近Python太火啦,什麽人工智能、網絡爬蟲的,耳濡目染的,心想多學習一些東西總是好的,於是就抽空學習

thphp5.0學習筆記

mic tel 序號 app clas world char p s 庫類 1.目錄結構: 其中thinkphp子目錄是框架核心目錄 thinkphp結構: 2.入口文件 默認自帶的入口文件位於public/index.php 應用目錄為application,其結構

oracle學習筆記4

linux系統 sta sys 配置 默認 搜索 密碼 多用戶 登錄 4.oracle數據庫的啟動流程   windows操作系統     啟動監聽: lsnrctl start;     啟動數據庫實例:oradim-startup-sid 實例名   linux系統

Unity Shader學習筆記坐標變換

directx 渲染 系列 約束 shade ace cnblogs 相機 它的 基本問題   試想我們的美術做了一個3D模型,然後渲染引擎把模型渲染到屏幕上。我們還可以選定不同的視角,模擬不同的光照條件去觀察模型。現在來分析一下這個過程。如果說我們把這個過程看成一個函數,

Django學習筆記——安裝,創建項目,配置

lvs csv oot url root import 方式 配置文件 函數 瘋狂的暑假學習之 Django學習筆記(一) 教材 書《The Django Book》 視頻:csvt Django視頻 1.創建項目

ELK學習筆記安裝Elasticsearch、Kibana、Logstash和X-Pack

成功 前端 功能 靈活 日誌分析 傳統 開發人員 收集 還在 最近在學習ELK的時候踩了不少的坑,特此寫個筆記記錄下學習過程。 日誌主要包括系統日誌、應用程序日誌和安全日誌。系統運維和開發人員可以通過日誌了解服務器軟硬件信息、檢查配置過程中的錯誤及錯誤發生的原因。經常分析日