• oracle中如何更改一个表的一个字段属性(名称,类型)


    修改字段的属性,名称方法

    --修改某一个字段的类型,当该字段不为null时
    alter table 表名add 字段NUMBER(11,0default 0 not null;--添加表一个字段

    ALTER TABLE 表名 ADD  字段 NUMBER(11,0) ; --新创建一列,期待的字段类型

    UPDATE 表名 SET 字段_bak= 字段;COMMIT--复制旧字段值到新字段,dml的都需要提交

    ALTER TABLE 表名DROP COLUMN 字段;--删除掉旧字段

    ALTER TABLE 表名RENAME COLUMN 字段_bakTO 字段;--修改新字段的名称

    alter table 表名drop column 字段; --删除表一个字段

    comment on  column t_evaluation.bonus_addition(table.字段) is 'xxx'';commit;

    ALTER TABLE 表名 modify 字段名字  VARCHAR2(4000);

    alter table 表名 add constraint  主键名 PRIMARY KEY ("字段1", "字段2", "字段3");

    alter table 表名 modify 字段名 default 默认值;

    操作过程中遇到的问题

    场景:
      作为一个小白,刚接触数据库操作,今天在oracle中使用sql语句执行了deleteupdate命令,在本地数据库中已执行成功,兴致冲冲的向老大汇报任务时,但是他那边查看并没有删除成功或更新数据库,很是尴尬,为什么会出现这种不一致的情况呢?

    原来是因为我执行命令后没有commit提交,那么更新的内容只是被保存到内存中,而不是提交到数据库中,将不会被其他Session(对话)看到,其他对话看到的是更新前的数据。当用户退出对话时,Oracle才会自动commit

    SQL语言分为五大类:
    DDL(数据定义语言) - CreateAlterDrop 这些语句自动提交,无需用Commit提交。

    DQL(数据查询语言)- Select查询语句不存在提交问题。

    DML(数据操纵语言) - InsertUpdateDelete 这些语句需要Commit才能提交。

    DTL(事务控制语言) - CommitRollback 事务提交与回滚语句。

    DCL(数据控制语言) - GrantRevoke 授予权限与回收权限语句。

    执行完DML语句,若没有commit再执行DDL语句,也会自动commit未被commit的数据。

    如果打开自动提交,DML操作后也不需要手动提交:SET AUTOCOMMIT ON;

    sqlDevelop导出表的方法

    https://blog.csdn.net/xgq8217/article/details/61194355
    需要注意的时导出的编码,如果只需要导出结构,可以取消勾选insert上面的复选框
  • 相关阅读:
    Python基础总结之第三天开始重新认识‘字符串’(新手可相互督促)
    Python基础总结之第二天从变量开始(新手可相互督促)
    Python基础总结之第一天(新手可相互督促)
    简析 Golang IO 包
    简析 Golang net/http 包
    Elasticsearch Query DSL 语言介绍
    Golang Context 包详解
    解读 kubernetes client-go 官方 examples
    ACM学习之路___HDU 1385(带路径保存的 Floyd)
    ACM学习之路___HDU 2066 一个人的旅行
  • 原文地址:https://www.cnblogs.com/xiaoshahai/p/11463223.html
Copyright © 2020-2023  润新知