zoukankan      html  css  js  c++  java
  • DDL数据定义语句

    DDL语句:create alter rename truncate drop
    1.修改表和约束alter
    create table t_user(
        id number,
        name varchar2(50) constraint user_name_nn not null,
        email varchar2(50),
        gender char(1),
        age number,
        birthday date,
        constraint user_id_pk primary key(id),
        constraint user_email_un unique(email),
        constraint user_gender_ck check(gender in('f','m'))
    );
    alter关键字:
     
      添加新列:
        alter table t_user add birthday date;
      删除一列:
        alter table t_user drop column birthday;
      给列添加约束
        alter table t_user add constraint user_name_un unique(name);
      删除表中的约束
        alter table t_user drop constraint user_name_un ;   
      修改表中某列的类型
        alter table t_user modify (name varchar2(20))
      修改表名(rename关键字仅仅可以修改表名,不可以用来修改列名)
        rename t_user to test;
      使表中的约束失效
        alter table t_user disable constraint user_id_pk cascade;
      让失效的主键再次生效
        alter table t_user enable constraint user_id_pk;
      //这种操作的关键在于,数据是否可以通过验证
      //当表中有数据的的时候,若要启用一个约束,就要先看看该表中的当前数据是否满足这个约束

    alter table 表名
    add     添加新列,给列添加约束
    drop    作用于表,列,约束
    modfiy  作用于表中的某一列 
    disable 作用于约束
    enable  作用于约束
    rename  作用于表

    截取表中的数据(不需要提交,默认已经提交,执行后无法回滚):
      truncate table t_user;
      相当于:
      delete from t_user;
      commit;
     
    注释:
    给表加注释
      comment on table is 'good';
    给列加注释
      comment on column t_user.name is 'good';
    查看表注释    
      select * from user_tab_comments where
      table_name=upper('t_user');
    查看列注释    
      select * from user_col_comments where
      comments is not null;
      and 
      table_name=upper('t_user');

    注意:在使用了DDL语句之后,事务是会提交的。
  • 相关阅读:
    让mysql的id字段变成表的主键
    nginx 反向代理是url带后缀
    蓝鲸-监控 排错思路
    蒲公英v5p%n搭建局域网后用nginx做代理的配置 + nginx日志分片 切割
    DevExpress12、DocumentManager
    DevExpress06、Popup Menus、RadialMenu、XtraTabControl、SplitContainerControl、GroupControl
    DevExpress05、TileControl、AlertControl
    SQL Server(00):一行字段串拆分成多行显示或者多行数据合并成一行
    SQL Server(00):使用 CROSS APPLY 与 OUTER APPLY 连接查询
    SQL Server(00):行列转换PIVOT与unPIVOT
  • 原文地址:https://www.cnblogs.com/Magic-Li/p/12774844.html
Copyright © 2011-2022 走看看