1. 程式人生 > 實用技巧 >資料定義語言(DDL)

資料定義語言(DDL)

資料定義語言

所有語句都是基於oracle的HR使用者

create 建立物件,drop 刪除物件,alter 修改物件,rename 修改資料庫物件名稱

建立表

語法格式:create table 表名(列名 列資料型別)
建立示例:列與列中間用,隔開

 create table dept(deptno number(2),dname varchar2(14),loc varchar2(13));

Oracle資料庫中的表

使用者表

由使用者建立和維護的表的集合,包含使用者資訊

資料字典表

由oracle伺服器建立和維護的表,包含資料庫資訊。如:HR使用者就是oracle用來使用者練習的表。

常見的資料庫字典表

  • 查詢本使用者下所擁有的表名稱
select table_name from user_tables;
  • 檢視本使用者所擁有的不同物件型別
select distinct object_type from user_objects;

使用distinct 是由於有一些重複的列進行祛除

  • 檢視本使用者所擁有的表、檢視及序列
select * from user_catelog;

用查詢建立表

  • 表名之後使用 as 連線查詢進行建立,投影的列名就是建立的表
create table dept80 as select employee_id,last_name,salary,hire_date from employees  where department_id =80;

alter table語句

新增一個新列

語法:alter table 表名 add(具體的列名,型別);

示例:

alter table dept add(salary number(8,2));

修改一個已經存在的型別

語法:alter table 表名 modify 具體的列名 型別;

修改預設值

  • 新增預設值
 alter table dept modify salary number(8,2) default 1000;
  • 刪除預設值
 alter table dept  modify salary number(8,2) default null;

修改資料型別

alter table dept modify name vchar2(40);

修改列名(rename column)

語法:alter table 表名 rename column 原列名 to 新列名;

alter table dept rename column name to dname;

刪除一個列(drop column)

語法:alter table 表名 drop column 列名;

alter table dept drop column salary;

需要注意的是在修改列名和刪除列的時候 需要加column

修改名稱(rename)

語法:rename原表名 to 新表名;

rename dept to dept40;

截斷表(truncate table)

語法:truncate table 表名;

truncate table dept;

需要注意:

在截斷表中不需要給定條件,而delete需要給定條件;turntable 屬於隱式事務,不支援rollback,而delete支援回滾

刪除表(drop table)

語法:drop table 表名; 不支援回滾

drop table dept;