Mybatis學習之路之Oracle建/改/刪表以及一些常用命令

建表之前必須得了解Oracle的數據類型

數據類型如下
VARCHAR2(size)

可變長度的字符串,其最大長度爲size個字節;size的最大值是4000,而最小值是1;你必須指定一個VARCHAR2的size;

NVARCHAR2(size)

可變長度的字符串,依據所選的國家字符集,其最大長度爲size個字符或字節;size的最大值取決於儲存每個字符所需的字節數,其上限爲4000;你必須指定一NVARCHAR2的size;

NUMBER(p,s)

精度爲p並且數值範圍爲s的數值;精度p的範圍從1到38;數值範圍s的範圍是從-84到127;
例如:NUMBER(5,2) 表示整數部分最大3位,小數部分爲2位;
NUMBER(5,-2) 表示數的整數部分最大爲7其中對整數的倒數2位爲0,前面的取整。

NUMBER

表示使用默認值,即等同於NUMBER(5);

LONG

可變長度的字符數據,其長度可達2G個字節;

DATE

有效日期範圍從公元前4712年1月1日到公元后4712年12月31日

RAW(size)

長度爲size字節的原始二進制數據,size的最大值爲2000字節;你必須爲RAW指定一個size;

LONG RAW

可變長度的原始二進制數據,其最長可達2G字節;

CHAR(size)

固定長度的字符數據,其長度爲size個字節;size的最大值是2000字節,而最小值和默認值是1;

NCHAR(size)

也是固定長度。根據Unicode標準定義

CLOB

一個字符大型對象,可容納單字節的字符;不支持寬度不等的字符集;最大爲4G字節

NCLOB

一個字符大型對象,可容納單字節的字符;不支持寬度不等的字符集;最大爲4G字節;儲存國家字符集

BLOB

一個二進制大型對象;最大4G字節

BFILE

包含一個大型二進制文件的定位器,其儲存在數據庫的外面;使得可以以字符流I/O訪問存在數據庫服務器上的外部LOB;最大大小爲4G字節.

瞭解完成數據類型之後
熟悉熟悉Oracle的一些常用命令

1.DESC 表名 查看錶基礎結構的信息.

這裏寫圖片描述

2.SELECT * FROM TAB 查看當前用戶下的所有表

這裏寫圖片描述

3.HELP TOPIC 顯示有那些命令

SQL> help topic

 Help is available on the following topics:

/
@
@@
ACCEPT
APPEND
ARCHIVE LOG
ATTRIBUTE
BREAK
BTITLE
CHANGE
CLEAR
COLUMN
COMPUTE
CONNECT
COPY
DEFINE
DEL
DESCRIBE
DISCONNECT
EDIT
EXECUTE
EXIT
GET
HELP
HOST
INDEX
INPUT
LIST
MENU
PASSWORD
PAUSE
PRINT
PROMPT
QUIT
RECOVER
REMARK
REPFOOTER
REPHEADER
RESERVED WORDS (PL/SQL)
RESERVED WORDS (SQL)
RUN
SAVE
SET
SHOW
SHUTDOWN
SPOOL
SQLPLUS
START
STARTUP
STORE
TIMING
TOPICS
TTITLE
UNDEFINE
VARIABLE
WHENEVER OSERROR
WHENEVER SQLERROR
XQUERY

4.EXP 導出數據庫(可以在DOS鍵入exp help=y 可以看到詳細說明)

示例:
導出scott下的所有東西
exp scott/tiger full=y file=e:\a.dmp;

導出scott下的emp,dept表
exp scott/tiger tables=(emp,dept) file=e:\emp.dmp

5.IMP 導入數據庫(可以在DOS鍵入imp help=y 可以看到詳細說明)

示例
將emp.dmp導入數據庫
imp scott/tiger tables=(emp,dept) file=e:\emp.dmp

常用命令差不多就這些。

建表之前應該瞭解一些建表的三範式
1、第一範式(1NF)
在任何一個關係數據庫中,第一範式(1NF)是對關係模式的基本要求,不滿足第一範式(1NF)的數據庫就不是關係數據庫。
所謂第一範式(1NF)是指數據庫表的每一列都是不可分割的基本數據項,同一列中不能有多個值,即實體中的某個屬性不能有多個值或者不能有重複的屬性。如果出現重複的屬性,就可能需要定義一個新的實體,新的實體由重複的屬性構成,新實體與原實體之間爲一對多關係。在第一範式(1NF)中表的每一行只包含一個實例的信息。例如,對於圖3-2 中的員工信息表,不能將員工信息都放在一列中顯示,也不能將其中的兩列或多列在一列中顯示;員工信息表的每一行只表示一個員工的信息,一個員工的信息在表中只出現一次。簡而言之,第一範式就是無重複的列。
2、第二範式(2NF)
第二範式(2NF)是在第一範式(1NF)的基礎上建立起來的,即滿足第二範式(2NF)必須先滿足第一範式(1NF)。第二範式(2NF)要求數據庫表中的每個實例或行必須可以被唯一地區分。爲實現區分通常需要爲表加上一個列,以存儲各個實例的唯一標識。如圖3-2 員工信息表中加上了員工編號(emp_id)列,因爲每個員工的員工編號是唯一的,因此每個員工可以被唯一區分。這個唯一屬性列被稱爲主關鍵字或主鍵、主碼。
第二範式(2NF)要求實體的屬性完全依賴於主關鍵字。所謂完全依賴是指不能存在僅依賴主關鍵字一部分的屬性,如果存在,那麼這個屬性和主關鍵字的這一部分應該分離出來形成一個新的實體,新實體與原實體之間是一對多的關係。爲實現區分通常需要爲表加上一個列,以存儲各個實例的唯一標識。簡而言之,第二範式就是非主屬性非部分依賴於主關鍵字。
3、第三範式(3NF)
滿足第三範式(3NF)必須先滿足第二範式(2NF)。簡而言之,第三範式(3NF)要求一個數據庫表中不包含已在其它表中已包含的非主關鍵字信息。例如,存在一個部門信息表,其中每個部門有部門編號(dept_id)、部門名稱、部門簡介等信息。那麼在圖3-2的員工信息表中列出部門編號後就不能再將部門名稱、部門簡介等與部門有關的信息再加入員工信息表中。如果不存在部門信息表,則根據第三範式(3NF)也應該構建它,否則就會有大量的數據冗餘。簡而言之,第三範式就是屬性不依賴於其它非主屬性。

現在學習如何創建表

CREATE TABLE table_name (
column1(列名) DATATYPE [NOT NULL] [PRIMARY KEY](一張表中一般只允許一個主鍵)),
column2 DATATYPE [NOT NULL],

[constraint <約束名> 約束類型 (要約束的字段)
… ] )

說明: 
DATATYPE –數據類型,
NUT NULL –可不可以允許資料有空的。
PRIMARY KEY –是本表的主鍵。
constraint –是對錶裏的字段添加約束.(約束類型有
Check,Unique,Primary key,not null,Foreign key)。

下面創建一個簡單的表來說明問題。

CREATE TABLE CSDN_USER(
    CU_ID NUMBER(10) NOT NULL PRIMARY KEY,
    CU_NAME VARCHAR2(50),
    CU_AGE NUMBER(3),
    CU_SALARY NUMBER(11,2)
);

這裏寫圖片描述

表就創建成功了
但是發現少加了一個列名(CU_PHONE 電話號碼)並且 將CU_ID類型改爲number(20)
那麼就得修改表了

1.向表中添加新字段
ALTER TABLE table_name ADD (
字段1 類型 [NOT NULL],
字段2 類型 [NOT NULL]
…. );

2.修改表中字段
ALTER TABLE table_name modify(
字段1 類型,
字段2 類型
…. );

3 .刪除表中字段
ALTER TABLE table_name drop(
字段1,
字段2
…. );

4 .修改表的名稱
RENAME table_name to new table_name;

修改過程
這裏寫圖片描述
這裏寫圖片描述

刪除表非常簡單
DROP TABLE table_name;

到此Oracle建表就完成了。

水平有限 若有錯誤 歡迎指正

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章