Oracle資料庫 DDL的介紹與使用

2021-08-11 11:34:09 字數 2254 閱讀 5068

首先讓我們回顧一下,上次我們最後講到的是sql裡面的ddl的分類,表操作。

最後我們也說了表裡面的建立表,刪除表,重新命名表,新增表,刪除表等等。。。

那我們就繼續說,接著是主鍵

首先讓我們知道什麼是主鍵?

主鍵,就是在乙個表單裡面的可以唯一的標識一條記錄

它是通過 primary key 這個關鍵字來設定指定的字段為主鍵

那就接著了解一下它有哪些特性

特性:

1.主鍵所在的字段不能為空,不能有重複項。

2.一張表只能有乙個主鍵。

3.乙個主鍵可以包含乙個字段,也可以包含多個字段,包含多個欄位的主鍵被稱為聯合主鍵/復合主鍵。

4.在建立主鍵的同時會在該字段上建立唯一索引。

這個是非常重要的,要牢記

主鍵的分類:

(在我們看來是分為兩大類)

1.邏輯主鍵:有業務的含義。

比如:身份證號,學號,這些有意義的數字

2.自然主鍵:無業務含義。

比如:自增的數字,這些無任何實際意義的(1,2,3,........)

那怎麼設定主鍵?

設定主鍵:

建立的表的時候:

create table t_student(

id number(11) primary key, --通過 primary key 來設定主鍵

studentname varchar2(10),

studentage number(3),

birthday date

);

或者:專案實戰中最常用的方式

create table t_student(

id number(11), --通過 primary key 來設定主鍵

studentname varchar2(10),

studentage number(3),

birthday date,

constraint 名字 primary key(欄位名)

);

那,我們設定了表,當有問題的時候怎麼修改?

修改表:(外部,不在建立的表裡修改表)

alter table 表名 add (欄位名 number(數) primary key);
只是將字段設定為主鍵並自定義主鍵名字

alter table 表名 add constraint 表名 primary key(欄位名);
還有就是注意幾個事項

舉倆例子:

在建立**時就指定主鍵和外來鍵

create table t_stu (

stu_id   char(5)   not null,

stu_name    varchar2(8)  not null,

constraint pk_t_stu primary key (stu_id)

);

主鍵和外來鍵一起建立:

create table t_score (

exam_score  number(5,2),

exam_date  date,

autoid  number(10)   not null,

stu_id  char(5),

sub_id  char(3),

constraint pk_t_score primary key (autoid),

constraint fk_t_score_refe foreign key (stu_id)

references t_stu (stu_id)

)

注意:

通常情況下字串在oracle中通常用varchar2表示

刪除表資料:delete from 表名;

在建立的表的時候必須有乙個字段為主鍵。

所有通過命令執行的也都可以通過圖形介面操作。

主鍵就到這兒了

然後就說一下dml

好了,就這麼多吧!

Oracle資料庫DDL操作

資料庫給表加主鍵 alter table 表名 add constraint 主鍵名 primary key 列名 如果表中已有主鍵相同的資料,再啟用時會報錯,解決方法為 禁用 啟用主鍵 alter table 表名 disable enable primary key 刪除約束 alter tab...

Oracle資料庫 DDL 資料定義語言

1.資料定義語言 用於定義資料庫的結構,比如建立 修改或刪除資料庫物件 包括 create table 建立資料庫表 建立表的命名規則 2.以字母開頭 在 1 30 個字元之間 只能包含 a z,a z,0 9,和 不能和使用者定義的其他物件重名 不能是oracle 的保留字 3.建立表的資料型別 ...

oracle資料庫基礎知識 DDL

資料定義語言 data definition language 1.create 建立表 create table 表名 欄位名 資料型別 create table 表名 as select from 把後面表裡的資料和表結構都複製過來 create table 表名 as select from ...