数据库

DDL 数据库表定义语言

2020-03-09  本文已影响0人  风中小酌

数据库定义语言,用于创建、修改、删除数据库对象,如表、视图、索引、序列等。
create
alter
drop
rename

用户表

由用户自己创建和维护的表的集合,包含用户信息。

数据字典

由数据库创建和维护的表的集合,包含用户信息。
常见的数据字典有:

SQL> select distinct object_type from user_objects;
OBJECT_TYPE
-------------------
SEQUENCE
PROCEDURE
TRIGGER
TABLE
INDEX
VIEW
6 rows selected
CREATE TABLE 创建表
SQL> create table dept as select em.employee_id, em.last_name name, em.salary, em.hire_date from employees em where job_id='IT_PROG';
SQL> s
Table created
ALTER TABLE 修改表

增加、修改或删除列

SQL> alter table dept ADD(remark varchar2(255), job_id number(3) default 10);
Table altered
SQL> desc dept;
Name        Type          Nullable Default Comments 
----------- ------------- -------- ------- -------- 
EMPLOYEE_ID NUMBER(6)     Y                         
NAME        VARCHAR2(25)                            
SALARY      NUMBER(8,2)   Y                         
HIRE_DATE   DATE                                    
REMARK      VARCHAR2(255) Y                         
JOB_ID      NUMBER(3)     Y        10  
SQL> alter table dept MODIFY(name varchar2(40));
Table altered

SQL> desc dept;
Name        Type          Nullable Default Comments 
----------- ------------- -------- ------- -------- 
EMPLOYEE_ID NUMBER(6)     Y                         
NAME        VARCHAR2(40)                        
SALARY      NUMBER(8,2)   Y                         
HIRE_DATE   DATE                                    
REMARK      VARCHAR2(255) Y                         
JOB_ID      NUMBER(3)     Y        10      

修改列的默认值

SQL> alter table dept MODIFY(name varchar2(40) default '');
Table altered

SQL> desc dept;
Name        Type          Nullable Default Comments 
----------- ------------- -------- ------- -------- 
EMPLOYEE_ID NUMBER(6)     Y                         
NAME        VARCHAR2(40)           ''               
SALARY      NUMBER(8,2)   Y                         
HIRE_DATE   DATE                                    
REMARK      VARCHAR2(255) Y                         
JOB_ID      NUMBER(3)     Y        10               

删除列的默认值
SQL> alter table dept MODIFY(name varchar2(40) default null);
Table altered

SQL> desc dept;
Name        Type          Nullable Default Comments 
----------- ------------- -------- ------- -------- 
EMPLOYEE_ID NUMBER(6)     Y                         
NAME        VARCHAR2(40)           null             
SALARY      NUMBER(8,2)   Y                         
HIRE_DATE   DATE                                    
REMARK      VARCHAR2(255) Y                         
JOB_ID      NUMBER(3)     Y        10               

DROP COLUMN 删除列

SQL> alter table dept drop column date_hire;
Table altered

SQL> alter table dept RENAME column hire_date to date_hire;
Table altered

SQL> desc dept;
Name        Type          Nullable Default Comments 
----------- ------------- -------- ------- -------- 
EMPLOYEE_ID NUMBER(6)     Y                         
NAME        VARCHAR2(40)           null             
SALARY      NUMBER(8,2)   Y                         
DATE_HIRE   DATE                                    
REMARK      VARCHAR2(255) Y                         
JOB_ID      NUMBER(3)     Y        10   
RENAME 修改表

rename 原表名 to 新表名

SQL> rename dept to departs;
Table renamed
TRUNCATE TABLE 清空表中数据

truncate table 表名
数据删除效率高于delete,删除时不记录回滚日志。

SQL> truncate table emp;
Table truncated
DROP TABLE 删除表

drop table 表名

SQL> drop table emp;
Table dropped
上一篇下一篇

猜你喜欢

热点阅读