美文网首页数据库
DDL 数据库表定义语言

DDL 数据库表定义语言

作者: 风中小酌 | 来源:发表于2020-03-09 07:48 被阅读0次

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

用户表

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

数据字典

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

  • user_tables 本用户拥有的表名称
  • user_objects 本用户拥有的不同对象类型
SQL> select distinct object_type from user_objects;
OBJECT_TYPE
-------------------
SEQUENCE
PROCEDURE
TRIGGER
TABLE
INDEX
VIEW
6 rows selected
  • user_catalog 本用户拥有的表、视图、同义词和序列
CREATE TABLE 创建表
  • 普通创建
    CREATE TABLE 表名(
    列名1 数据类型 描述,
    列名2 数据类型,
    ...
    )
  • 使用查询创建
    CREATE TABLE 表名 AS 查询语句
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 修改表

增加、修改或删除列

  • ADD 增加列
    alter table 表名 ADD(列名1 类型, 列名2 类型, ...)
    新增加的列将保存在最后的位置
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  
  • MODIFY 修改列
    修改数据类型
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

  • RENAME 修改列名
    ALTER TABLE 表名 RENAME column 原列名 to 新列名
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

相关文章

  • 03.DDL定义语句

    DDL(Data Definition Language) DDL 数据定义语言,用来定义数据库和表结构 创建数据...

  • MySQL基础(一)

    一、分类 1、DDL(Data Definition Language):数据库定义语言,用来定义数据库对象:表...

  • MySQL基础02-数据库定义(DDL语句)

    一、简介 DDL(Data Definition Language)数据定义语言。用来定义数据库对象:数据库、表、...

  • MySQL基本操作

    SQL语句:结构化查询语言 DDL: 数据定义语言, 定义数据库对象:库、表、列、表结构 DML: 数据操作语言,...

  • mysql基础-sql分类(二)

    1.DDL (Data Definition Language)数据定义语言。用来定义数据库的对象:数据库,表,列...

  • MYSQL (基本命令)

    一,SQL 功能分类 DDL:数据定义语言,用来定义; 数据库对象:创建库,表,列 等。DML:数据库操作语言,...

  • MYSQL (基本命令)

    一,SQL 功能分类 DDL:数据定义语言,用来定义; 数据库对象:创建库,表,列 等。DML:数据库操作语言,...

  • SQL-DDL

    ​SQL功能分类 DDL:数据库定义语言,定义数据库对象,创建数据库、表、列等。 DML:数据库操作操作语言,完成...

  • MySQL基础 之DDL(数据定义)语句

    本文主要介绍MySQL的DDL(数据定义语言) sql的分类:DDL: 数据定义语言操作对象:数据库和表关键词:c...

  • 2021-01-27 SQL分类

    DDL(Data Definition Language)数据定义语言用来定义数据库对象:数据库,表,列等。关键字...

网友评论

    本文标题:DDL 数据库表定义语言

    本文链接:https://www.haomeiwen.com/subject/rgbydhtx.html