• 【SQL】数据定义语言(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;
    
    悲观者正确,乐观者成功
  • 相关阅读:
    沟通,你都做了什么
    Markdown,你只需要掌握这几个
    一周心态-情景联想
    一周心态-漫谈计划之死
    我的Git之旅(1)---git安装、github注册以及一些基本命令
    我的20132014
    Python 笔记——4 条件控制
    Python 笔记——3 数据类型
    Python 笔记——1语法分析
    纯CSS实现兼容ie6以上的圆角头像
  • 原文地址:https://www.cnblogs.com/freebule/p/13516869.html
Copyright © 2020-2023  润新知