oracle 去摸 ORACLE 表的操作

2021-10-12 14:39:54 字數 2563 閱讀 1607

一、表是oracle常見的資料庫物件

oracle中的表分為

①使用者定義的表:

--由使用者建立並維護的一組表

--包含使用者所需的資訊

②資料字典:

--由oracle server 自動建立的一組表

--包含資料庫資訊

③查詢資料字典

select table_name from user_tables; --檢視使用者定義表

select distinct object_type from user_objects; --檢視使用者定義的各種資料庫物件

select * from user_catalog; --檢視使用者定義的表,檢視,同意詞和序列

二、建立表

語法:create table 表名(

欄位名  資料型別  約束(可無),

欄位名  資料型別  約束(可無),

欄位名  資料型別  約束(可無),

欄位名  資料型別   約束(可無)

注意:① 表名和列名:

必須以字母開頭

必須在 1–30 個字元之間

必須只能包含 a–z, a–z, 0–9, _, $, 和 #

必須不能和使用者定義的其他物件重名

必須不能是oracle 的保留字

② 資料型別

建立表的兩種方式

方法一------------建立新錶--------------

create tabledept

deptnonumber(2),

dnamevarchar2(14),

locvarchar2(13)

方法二------------由舊表建立新錶-------------

使用子查詢建立(複製舊表,結構和資料一起複製)

create tabledept2as

select *

from dept;

拓展:create tabledept2

asselect deptno,dname

from dept

where dname= 'chen';

注意:方法二 dept2 不僅表結構和dept一樣,而且表中資料也一模一樣

如果只想取dept2中部分資料和字段也可 select 部分字段 from 表 where 部分資料

三、修改已有表$$刪除表

1.修改表:alter table 語句

①追加新的列

alter table table

add(

欄位名 資料型別 約束,

欄位名 資料型別 約束,

alter tabledept

add(*** varchar2(10) )

②修改現有的列 (修改列的資料型別,長度、約束、預設值)

alter table tablemodify

欄位名 資料型別 約束,

欄位名 資料型別 約束,

alter tabledept

modify (*** number(20) )

③為新追加的列定義預設值(default)

alter tabledept

modify (*** number(20) default 100)

注意 :對預設值的修改只影響今後對錶的修改

④刪除乙個列

alter table table

drop columncolumn_name;

alter tabledept

drop column***

⑤重新命名表的乙個列名

alter tabletable_name

rename columm

old_column_name

tonew_column_name

alter tabledept

rename column *** toid

2.刪除表 :drop table 語句

drop table dept(表名)

注意:--資料和結構都被刪除

--所有正在執行的相關事務被提交

--所有相關索引被刪除

--drop table 語句不能回滾

3.清空表 truncatetable語句:

truncate table語句:

刪除表中所有的資料

釋放表的儲存空間

注意:truncate語句不能回滾

可以使用delete語句刪除資料,可以回滾

對比:delete fromemp;select * fromemp;rollback;select * from emp;

4.改變表的名稱

執行rename語句改變表, 檢視, 序列, 或同義詞的名稱

rename depttodetail_dept;必須是物件的

總結語句

描述create table

建立表alter table

修改表結構

drop table

刪除表rename  to

重新命名表

truncate table

刪除表中的所有資料,並釋放儲存空間

以上這些ddl的命令操作後皆不可回滾!

oracle 去摸 oracle摸底考試

一 單選題 每題 分,共分 1.以下對主鍵描述正確的是 a.只能是乙個列,且列不能為空 b.可以多個列,每個列都不能為空 c.可以多個列,其中至少乙個列不能為空 d.表必須有乙個主鍵 2.下面語句顯示了 lastname 為 king 的員工的工號?a.select employee id from...

Oracle 資料去重

假設資料表a,3個字段 mid 表id bjsj 報警時間 val 資料值 篩選出2019 09 20 2019 09 25時間段內記錄,每塊表的最後一條報警記錄。做法 按條件查詢出符合條件記錄,然後取每塊表的報警時間為最大的一條記錄。oracle資料庫提供了乙個函式 row number 用於給資...

oracle分頁與去重

查詢emp表中的記錄 分頁,每一頁顯示5條記錄 查詢第二頁的資料 select from select ename,sal,deptno,rownum rw from emp where rw 5 and rw 10 查詢第二頁的資料,並排序 將重覆記錄保留一條 如上,test2表中有4條重複資料,...