加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Oracle常用数据库表操作

发布时间:2020-12-12 13:45:27 所属栏目:百科 来源:网络整理
导读:配置数据库: ?user:orcl.passward:71911.Hao 全局数据库名:orcl。、 解锁数据库用户名,SCOTT,SYSTEM,SYS,?? PWD:71911.Hao 输入sqlplus,然后提示输入用户名,直接输入user/[email?protected]就可以了,然后出来sql,就可以输入各种语句了 sqlplus scott/[e

配置数据库:

?user:orcl.passward:71911.Hao
全局数据库名:orcl。、
解锁数据库用户名,SCOTT,SYSTEM,SYS,??
PWD:71911.Hao
输入sqlplus,然后提示输入用户名,直接输入user/[email?protected]就可以了,然后出来sql>,就可以输入各种语句了
sqlplus scott/[email?protected],后面要指定是连接哪个库(密码不显示,没事)
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;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读