Oracle表字段的增删改、表的重命名及主键的增删改
一、表字段的增删改:
添加字段的语法:alter table tablename add (column datatype [default value][null/not null],….);
修改字段的语法:alter table tablename modify (column datatype [default value][null/not null],….);
删除字段的语法:alter table tablename drop (column);
注:添加、修改、删除多列的话,用逗号隔开。
表字段的重命名:alter table tablename rename column FIELD_NAME to NEW_FIELD_NAME;
二、表的重命名:
alter table tablename rename to new_table_name;
三、主键的增删改查:
查找表约束:select constraint_name from user_cons_columns a where a.table_name='tablename';
增加表约束:alter table tablename add constraint pk_name primary key(column);
删除表约束:alter table tablename drop constraint constraint_name----(SYS_C002715);
修改表约束:1)禁用表主键:alter table tablename disable primary key;
2)启用表主键:alter table tablename enable primary key;
3)重命名表主键:alter table tablename rename constraint pk_id to new_pk_id;
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持我们!
相关推荐
-
Oracle 查询表信息获取表字段及字段注释
获取表字段: select * from user_tab_columns where Table_Name='用户表' order by column_name 获取表注释: select * from user_tab_comments where Table_Name='用户表' order by Table_Name 获取字段注释: select * from user_col_comments where Table_Name='用户表' order by column_name /*
-
Oracle 创建主键自增表示例代码
前言 本篇文章给大家主要介绍的是在oracle中如果创建自增长表的方法,这里要用到序列.下面话不多说,我们来看示例代码. 示例代码 create table tb_student ( id NUMBER(10) not null, createtime DATE not null, constraint PK_tb_student primary key (id) ); comment on table "tb_student" is '学生表'; comment on column
-
Oracle创建主键自增表(sql语句实现)及触发器应用
1.创建表 复制代码 代码如下: createtableTest_Increase( useridnumber(10)NOTNULLprimarykey,/*主键,自动增加*/ usernamevarchar2(20) ); 2.创建自动增长序列 复制代码 代码如下: CREATESEQUENCETestIncrease_Sequence INCREMENTBY1--每次加几个 STARTWITH1--从1开始计数 NOMAXVALUE--不设置最大值,设置最大值:maxvalue9999 NO
-
Oracle 数据库针对表主键列并发导致行级锁简单演示
本文内容 •软件环境 •简单演示 Oracle 数据库并发导致行级锁 本文简单演示针对表主键并发导致的行级锁.并发是两个以上的用户对同样的数据进行修改(包括插入.删除和修改).锁的产生是因为并发.没有并发,就没有锁.并发的产生是因为系统需要,系统需要是因为用户需要. 软件环境 -------------------------------------------------------------------------------- •Windows 2003 Server •Oracle 1
-
oracle删除表字段和oracle表增加字段
添加字段的语法:alter table tablename add (column datatype [default value][null/not null],-.); 修改字段的语法:alter table tablename modify (column datatype [default value][null/not null],-.); 删除字段的语法:alter table tablename drop (column); 添加.修改.删除多列的话,用逗号隔开. 使用alter
-
Oracle表字段的增删改、表的重命名及主键的增删改
一.表字段的增删改: 添加字段的语法:alter table tablename add (column datatype [default value][null/not null],-.); 修改字段的语法:alter table tablename modify (column datatype [default value][null/not null],-.); 删除字段的语法:alter table tablename drop (column); 注:添加.修改.删除多列的话,用逗
-
Springboot+MybatisPlus+Oracle实现主键自增的示例代码
上周周一,本来刚过完周末,高高兴兴,老大突然安排了个活,要在一天内把项目的MySQL数据库换成Oracle数据库,我们都知道这是不可能完成的任务,但是,秉承着"没有困难的工作,只有不努力的打工人"的精神,我们马上投入了工作,第一步当然是先配置数据库.oracle建表,这个解决调试了一上午,然后下午卡到oracle主键了,所有人网上找方法,一直到第二天凌晨3点半都还没解决,网上方法很多,试了好多都不管用,终于第二天才找到了满足的方法. 废话不多说,下面贴出. application.ym
-
Oracle 触发器实现主键自增效果
触发器的作用 触发器的作用类似拦截器.把一些针对数据库的DML操作(insert/update/delete/select)进行拦截,符合业务要求的进行操作,不符合要求的操作可以通过抛出异常来阻止 说白了就是数据确认(after)与安全性检查(before),此外触发器不针对select操作 1.首先创建表testUser Oracle设置为不区分大小的,所以table名,言简意赅即可. CREATE TABLE testUser ( id NUMBER ( 11 ) prima
-
django自定义非主键自增字段类型详解(auto increment field)
1.django自定义字段类型,实现非主键字段的自增 # -*- encoding: utf-8 -*- from django.db.models.fields import Field, IntegerField from django.core import checks, exceptions from django.utils.translation import ugettext_lazy as _ class AutoIncreField(Field): description =
-
基于django 的orm中非主键自增的实现方式
我们知道django的orm想实现自增,可以直接使用AutoField字段既可以实现,但是这种情况必须要求此字段是主键,但是我们知道主键只能是一个. 如果我已经有了一个主键,但是又需要另外一个字段为唯一自增字段,这该如何实现呢? 本人的解决办法如下,供大家参考,也欢迎大家提供更多的实现方式,互相学习. class ProductSpu(models.Model): """ 商品表 """ _database = 'payment' id = mo
-
sqlserver主键自增的实现示例
建表,主键自增 create table aaa( id bigint identity(1,1) not null PRIMARY key, name nvarchar(255) ); navicat没办法给主键列,加identity,只能用sql建表 赋值时,identity列不能赋值,报错 一.identity的基本用法 1.含义 identity表示该字段的值会自动更新,不需要我们维护,通常情况下我们不可以直接给identity修饰的字符赋值,否则编译时会报错 2.语法 列名 数据类型
-
MySQL中的主键自增机制详情
目录 主键自增 自增主键保存在哪里 自增值修改机制 自增值的修改时机 如何修改自增主键值 主键自增 MySQL 提供了主键自增机制 AUTO_INCREMENT. 对主键使用, 保证了主键的唯一性. 注意:自增长必须与主键字段配合使用. 默认的主键的起始值为 1, 每次增量为 1, 也可以手动指定其自增起始值 auto_increment_offset 和自增步长 auto_increment_increment. -- 设置主键自增 CREATE TABLE USER( id INT UNSI
-
MySQL主键自增会遇到的坑及解决方法
目录 1. 为什么不用 UUID 2. 主键自增的问题 2.1 数据插入的三种形式 2.2 innodb_autoinc_lock_mode 2.3 实践 3. 小结 在上篇文章中,松哥和小伙伴们分享了 MySQL 的聚簇索引,也顺便和小伙伴们分析了为什么在 MySQL 中主键不应该使用随机字符串.但是主键不用随机字符串用什么?主键自增?主键自增就是最佳方案吗?有没有其他坑?今天我们就来讨论下这个话题. 1. 为什么不用 UUID 经过上篇文章的介绍,我们知道在 MySQL 中,主键索引就是聚簇
-
Mybatis-plus实现主键自增和自动注入时间的示例代码
mybatis-plus依赖导入 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.3.2</version> </dependency> 建议使用3.3.0后的版本. 导入mybatis-plus就不用导入mybatis了,冲突! 连接数据库 sp
-
解决mysql的int型主键自增问题
引入 我们在使用mysql数据库时,习惯使用int型作为主键,并设置为自增,这既能够保证唯一,使用起来又很方便,但int型的长度是有限的,如果超过长度怎么办呢? 暴露问题 我们先创建一个测试表,创建语句如下: CREATE TABLE test1 ( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20) ) 然后我们插入两条数据: INSERT INTO test1 VALUES(NULL,'小牛'); INSERT INTO test1 VAL
随机推荐
- jQuery+HTML5实现图片上传前预览效果
- jQuery实现frame之间互通的方法
- [PHP]常用正则表达式收集
- Js sort排序使用方法
- ASP.net 验证码实现代码(C#)
- C#异常处理总结及简单实例
- mysql中insert与select的嵌套使用解决组合字段插入问题
- python实现类的静态变量用法实例
- Python 中 list 的各项操作技巧
- jQuery中toggleClass()方法用法实例
- 利用node.js本地搭建HTTP服务器
- Sql Server 死锁的监控分析解决思路
- Android程序开发ListView+Json+异步网络图片加载+滚动翻页的例子(图片能缓存,图片不错乱)
- ISA Server 的故障排除工具(3)
- C语言函数语法详解
- 常用SQL功能语句
- 基于JavaScript 性能优化技巧心得(分享)
- android实现直播点赞飘心动画效果
- 详解vue-router数据加载与缓存使用总结
- 易语言写GTA金币修改软件