亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Oracle?創(chuàng)建和操作表的示例代碼

 更新時間:2023年12月14日 09:52:17   作者:zhiyou-rookie  
本節(jié)主要介紹Oracle創(chuàng)建、修改和刪除表的基本操作,對創(chuàng)建數(shù)據(jù)庫表一般有兩種方式,文中結(jié)合示例代碼給大家介紹的非常詳細,需要的朋友參考下吧

Oracle 創(chuàng)建和操作表

本節(jié)主要介紹創(chuàng)建、修改和刪除表的基本操作

1、創(chuàng)建表

創(chuàng)建數(shù)據(jù)庫表一般有兩種方式:

  • 使用一個數(shù)據(jù)庫客戶端??捎糜诮换サ膭?chuàng)建和管理數(shù)據(jù)庫表;
  • 直接利用ORACLE PL/SQL語句操作表

注意:當(dāng)使用交互式工具時,實際上使用的是ORACLE SQL語句。不過,無需編寫這些語句,界面將為你無縫的生成和執(zhí)行SQL。

1.1、創(chuàng)建表的基礎(chǔ)知識

要使用CREATE TABLE創(chuàng)建表,必須指定以下信息:

  • 在關(guān)鍵字CREATE TABLE后面指定的新表的名稱
  • 用逗號隔開的表列的名稱和定義

創(chuàng)建表示例:

CREATE TABLE customers
(
  cust_id   int      NOT NULL ,
  cust_name char(50) NOT NULL ,
  cust_address char(50)  NULL ,
  cust_city    char(50)  NULL ,
  cust_state   char(5)   NULL ,
  cust_zip     char(10)  NULL ,
  cust_country char(50)  NULL ,
  cust_contact char(50)  NULL ,
  cust_email   char(255) NULL
);

際的表定義(所有的列)用圓括號括住。列本身用逗號隔開。這個特定的表由9列組成,每個列定義都以列名(它在表內(nèi)必須是唯一的)開始,其后接著列的數(shù)據(jù)類型。

1.2、處理NULL值

NULL值代表沒有值或者缺少值。每個表列要么是NULL列,要么是NOT NULL列,并且這個狀態(tài)是在創(chuàng)建時在表定義中指定的??纯聪旅娴氖纠?/p>

CREATE TABLE orders
(
  order_num  int  NOT NULL ,
  order_date date NOT NULL ,
  cust_id    int  NOT NULL
);

列都是必需的,因此每一列都包含關(guān)鍵字NOT NULL,這將阻止插入沒有值的列。如果某人嘗試插入沒有值的列,將返回一個錯誤,并且插入操作將會失敗。

示例:

CREATE TABLE vendors
(
  vend_id      int        NOT NULL,
  vend_name    char(50)   NOT NULL ,
  vend_address char(50)   NULL ,
  vend_city    char(50)   NULL ,
  vend_state   char(5)    NULL ,
  vend_zip     char(10)   NULL ,
  vend_country char(50)   NULL
);

警告:理解NULL

不要把NULL值與空字符串混淆。NULL值意指缺少值,它不是空字符串。如果指定“’ '”(兩個單引號之間沒有任何內(nèi)容),這在NOT NULL列中是允許的??兆址且粋€有效值,它不是沒有值。

1.3、指定默認值

在插入行時,如果沒有指定值,Oracle允許指定默認值。默認值是在CREATE TABLE語句中的列定義中使用DEFAULT關(guān)鍵字指定的。

使用示例:

CREATE TABLE orderitems
(
  order_num  int          NOT NULL ,
  order_item int          NOT NULL ,
  prod_id    char(10)     NOT NULL ,
  quantity   int          DEFAULT 1 NOT NULL ,
  item_price decimal(8,2) NOT NULL
);

提示:使用DEFAULT 代替NULL值

許多數(shù)據(jù)庫開發(fā)人員都使用DEFAULT值代替NULL列,尤其是將在計算或數(shù)據(jù)分組中使用的列中。

2、更新表

要更新表定義,可以使用ALTER TABLE語句,但是理想情況下,在表包含數(shù)據(jù)之后永遠也不應(yīng)該改變它們。

要使用ALTER TABLE更改表,必須指定以下信息:

  • 在關(guān)鍵字ALTER TABLE后面指定要改變的表的名稱(表必須存在,否則將會生成一個錯誤);
  • 要執(zhí)行的更改列表。

使用示例:

ALTER TABLE vendors
ADD vend_phone CHAR(20);

2.1 主鍵

主鍵值必須是唯一的。也就是說,表中的每一行都必須具有唯一的主鍵值。如果把單獨一列用于主鍵,那么它必須是唯一的。如果使用多個列,那么它們的組合必須是唯一的。

可以在CREATE TABLE語句內(nèi)定義主鍵。不過,許多開發(fā)人員更喜歡先創(chuàng)建表,然后添加所有的鍵。添加鍵就是在進行表更新,因此要使用ALTER TABLE命令。

下面給出了一個示例:

ALTER TABLE customers ADD CONSTRAINT pk_customers
                      PRIMARY KEY (cust_id);

2.2 定義外鍵

ALTER TABLE也可用于定義外鍵。

LTER TABLE orderitems
      ADD CONSTRAINT fk_orderitems_orders FOREIGN KEY (order_num)
      REFERENCES orders (order_num);

警告:小心的使用ALTER TABLE

要極其小心地使用ALTER TABLE,在執(zhí)行該操作前確保具有一組完整的備份(包括模式和數(shù)據(jù))。數(shù)據(jù)庫表的改變不能被撤銷——如果添加了不需要的列,也許不能移除它們。類似地,如果刪除了需要的列,也許就會丟失該列中所有的數(shù)據(jù)。

3、刪除表

刪除表(實際上是指刪除整個表,而不僅僅是內(nèi)容)。

DROP TABLE customers2;

4、重命名表

要重命名表,可以使用ALTER TABLE語句,如下:

ALTER TABLE customers2 RENAME TO customers;

到此這篇關(guān)于Oracle 創(chuàng)建和操作表的文章就介紹到這了,更多相關(guān)Oracle 創(chuàng)建和操作表內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論