Oracle常用数据库表操作
配置数据库:
user:orcl.passward:71911.Hao
全局数据库名:orcl。、
解锁数据库用户名,SCOTT,SYSTEM,SYS,
PWD:71911.Hao
输入sqlplus,然后提示输入用户名,直接输入user/password@database就可以了,然后出来sql>,就可以输入各种语句了
sqlplus scott/tiger@orcl, 后面要指定是连接哪个库(密码不显示,没事)
sqlplus sys/719118Ha as sysdba
desc table;
tablespace 表空间名
add constraint PK_IICL_ALT primary key (ID)//添加主键
using index 可以指定存在的索引 pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);//SQL code tablespace 表空间 --指定建立对象的表空间 pctfree 10 --块预留10%空间用于以后数据更新 initrans 1 --初始化事务槽数 maxtrans 255 --最大事务槽数 storage --下面是存储参数 ( initial 64K --初始化扩展区为64k next 1M --下次扩展1m minextents 1 --最小区数为1 maxextents unlimited --最大区数无限制 );
alter user scott account unlock;
配置主键和唯一性约束:
alter table test add constraint pk_id primary key(id);
ALTER TABLE dm_pk_transgap_analysis ADD CONSTRAINT UQ_DTAC_CODE UNIQUE(CODE);
三种配置外键方法:
1 categoryId number(10) not null references Category(id)
2 ALTER TABLE books ADD CONSTRAINT FK_Book_categoryid FOREIGN KEY(categoryId ) REFERENCES Category(id);
3 CONSTRAINT FK_LOCATION_ZONE FOREIGN KEY(ZONE_CODE) REFERENCESCALM_ZONE_INFORMATION(ZONE_CODE)
联合主键:
alter table zcz add constraints zcz_name_age primary key (name,age);
alter table AdItem drop constraint AdOrder_AdItem_FK1
联合唯一约束(下面该条sql的作用是name和age不能同时相等):
CREATE UNIQUE INDEX zcz_name_age ON zcz(NVL2(name,age,NULL),NVL2(name,name,NULL));
ALTER TABLE DM_ADMISSION_PERMIT_USER ADD CONSTRAINT UQ_DAPU_CHECK_ORG UNIQUE(CHECK_ORG,TYPE);
修改表名: alter table gld_STA_INFLOW_REPORT rename to STA_INFLOW_REPORT;
重命名字段和修改字段属性:
ALTER TABLE CALM_BUSINESS_UNIT RENAME COLUMN BU_REMARK TO REMARK;
ALTER TABLE CALM_BUSINESS_UNIT MODIFY REMARK VARCHAR2(100);
增加和删除列:
ALTER TABLE table_name ADD column_name datatype
ALTER TABLE table_name DROP COLUMN column_name
创建序列:
CREATE SEQUENCE 序列名
[INCREMENT BY n] --每次加几
[START WITH n] --序列从几开始
[{MAXVALUE/ MINVALUE n|NOMAXVALUE}] --最小值、最大值的限制
比如CREATE SEQUENCE s_test start with 1 increment by 1; --就是建立了额一个从1开始每次加1的序列。
访问序列时,用 序列名称.nextval的语法。
比如对于上表,如果想要id字段实现自增。则在每次插入记录时,使用下面类似的语法(前提是表和序列已经建好)。
insert into test values (s_test.nextval,'张三');
可见在Windows默认情况下,VARCHAR2(2) 就等于是 VARCHAR2(2 BYTE) 一个汉字占2个字节
可见在Linux默认情况下,VARCHAR2(2) 就等于是 VARCHAR2(2 BYTE) 一个汉字占3个字节
INSERT INTO TEST VALUES('测试');分别需要4个字节和6个字节。
--备份或者修改表字段:
create table contract_basis_bakas as select * from contract_basis;
DELETE from contract_basis;
ALTER TABLE contract_basis modify cont_name nvarchar2(300);
ALTER TABLE contract_basis modify cont_relative_name nvarchar2(300);
insert into contract_basis select * from contract_basis_bakas2;
DROP TABLE contract_basis_bakas;
--备份表结构:
create table MP_APP_ROLE_R_WELL as select * from MP_APP_ROLE_R_RESOURCE where 1=2;
Oracle常用数据库表操作的更多相关文章
- Oracle 10g数据库备份与恢复操作手册
Oracle 10g数据库备份与恢复操作手册 目录 Oracle 10g数据库备份与恢复操作手册... 前言... 文档目的... 文档范围... 目标读者... 其他说明... 冷备份... 热备份 ...
- ORACLE常用数据库字段类型
ORACLE常用数据库字段类型 常用的数据库字段类型如下: 字段类型 中文说明 限制条件 其它说明 CHAR 固定长度字符串 最大长度2000 bytes VARCHAR2 可变长度 ...
- 关于Oracle.ManagedDataAccess数据库表加字段后,必须重启的问题
关于Oracle.ManagedDataAccess数据库表加字段后,必须重启的问题,解决方法如下:在数据库连接字串中,增加一个参数:Metadata Pooling=false如“Data Sour ...
- Database学习 - mysql 数据库 表操作
mysql 数据库 表操作 创建数据表 基本语法格式: 创建数据表: create table 表名( 字段名 datatype 约束, 字段名 datatype 约束, ...... ) 修改表名 ...
- --oracle删除数据库表(无主键)中重复的记录
--oracle删除数据库表(无主键)中重复的记录 1, CREATE TABLE newtable as SELECT distinct * FROM T_SYSTEM_MENU_PRIV; 2, ...
- ORACLE常用数据库类型(转)
oracle常用数据类型 1.Char 定长格式字符串,在数据库中存储时不足位数填补空格,它的声明方式如下CHAR(L),L为字符串长度,缺省为1,作为变量最大32767个字符,作为数据存储在ORAC ...
- 传智播客JavaWeb day09-mysql入门、数据库操作、数据库表操作、数据行操作
不知不觉已到了第九天了,今天主要讲了关系数据库的基本概述.安装.数据库.表和数据行的操作 1. 基本概述 1.1 数据库就是用来存储数据的.早期是存在文件里面的操作起来效率低而且不是很安全. 1.2 ...
- Oracle常用数据库对象(片段)
1:用户和权限 1.1 用户的创建 a)语法--- create user 用户名 identified by 密码: b)创建用户abcd,并设定密码为abcd;---注意:操作数据库对象是 ...
- Oracle常用数据库系统表单以及SQL的整理
因为最近涉及到了一些数据库的归档,备份等工作,所以一部分的重心放在了数据库上,毕竟之前对数据库的了解也只停留在了一般的建表,查询,最多最多再写一写触发器之类的东西. 通常都是自己瞎搞搞,也就懂一点皮毛 ...
随机推荐
- Lighttpd 服务器的安装
https://www.cnblogs.com/rongfengliang/articles/3503228.html
- 自定义table样式
.tableWrap { width: 100%; border-collapse:collapse; border-top:1px solid #e9e9e9; border-left:1px so ...
- idea修改变量及其引用
idea 修改某一变量及其引用 选中变量 shift+f6(shift+fn+f6), ctrl+R的当前页面全局替换, ctrl+shift+R 项目中的全局替换
- JDK动态代理理解精髓
1.Java动态代理的关键是:Proxy类要和InvocationHandler的接口实现类,要用同一个目标target对象class,所以精髓是InvocationHandler和Proxy是一 ...
- Go -- 如何使用gcore工具获取一个core文件而不重启应用?
问题: 当调试一个程序的时候,理想状态是不重启应用程序就获取core文件. 解决: gcore命令可以使用下面步骤来获取core文件: 1. 确认gdb软件包已经被正确安装. 2. 使用调试参数编译程 ...
- 【Android开发—智能家居系列】(三):手机连接WIFI模块
版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 概述 实现连接WIFI的功能会用到一个工具类,源码可以点击链接下载.网上这些类似的工具类里的代码差不多是一样的.连接无线网主要有 ...
- linux 文件属性、权限、所有人、所属组
Linux命令行模式下,文件还是需要通过ls -l来查看 可以通过ll查看长文件,会有如下类型显示drwxr-xr-x 2 root root 4096 Nov 10 2010 conf 总共有7 ...
- keras常见问题解答
https://keras.io/zh/getting-started/faq/ https://keras.io/zh/ https://github.com/keras-team/keras/tr ...
- time is always a factor, time is always now!!!!
https://www.linkedin.com/pulse/time-always-now-joe-alderman ---------------------------------------- ...
- 用 centrifugo 搭建 消息推送服务器 docker + rancher 搭建
关于消息推送服务器 目前有很多第三方的开放成熟的推送服务.鉴于项目需要 我们项目需要自己搭建 自己的推送服务. 我们的推送应用场景 聊天消息 项目内部消息提醒 移动设备接受消息 应用到的相关软件工具知 ...