資料定義語言(DDL)
阿新 • • 發佈:2020-08-17
資料定義語言
所有語句都是基於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;