ORACLE基本操作
Posted 沿海地带
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ORACLE基本操作相关的知识,希望对你有一定的参考价值。
1.创建table
create table test01( id int not null primary key, name varchar(8) not null, gender varchar2(2) not null, age int not null, address varchar2(20) default ‘地址不详’ not null, regdata date );
约束
非空约束 not null
主键约束 primary key
外键约束
唯一约束 unique
检查约束 check
联合主键 constraint pk_id_username primary key(id,username); 查看数据字典 desc user_constraint 修改表时重命名 rename constraint a to b; --修改表删除约束-- 禁用约束
disable constraint 约束名字; 删除约束
drop constraint 约束名字;
drop primary key;直接删除主键
外键约束 create table typeinfo(typeid varchar2(20) primary key, typename varchar2(20)); create table userinfo_f( id varchar2(10) primary key,username varchar2(20),typeid_new varchar2(10) references typeinfo(typeid)); insert into typeinfo values(1,1); 创建表时设置外键约束 constraint 名字 foregin create table userinfo_f2 (id varchar2(20) primary key,username varchar2(20),typeid_new varchar2(10),constraint fk_typeid_new foreign key(typeid_new) references typeinfo(typeid)); create table userinfo_f3 (id varchar2(20) primary key,username varchar2(20),typeid_new varchar2(10),constraint fk_typeid_new1 foreign key(typeid_new) references typeinfo(typeid) on delete cascade); 外键约束包含 删除外键约束 禁用约束 disable constraint 约束名字; 删除约束 drop constraint 约束名字; 唯一约束 与主键区别 唯一约束可以有多个,只能有一个null create table userinfo_u( id varchar2(20) primary key,username varchar2(20) unique,userpwd varchar2(20)); 创建表时添加约束 constraint 约束名字 unique(列名); 修改表时添加唯一约束 add constraint 约束名字 unique(列名); 检查约束 create table userinfo_c( id varchar2(20) primary key,username varchar2(20), salary number(5,0) check(salary>50)); constraint ck_salary check(salary>50); /* 获取表:*/ select table_name from user_tables; //当前用户的表 select table_name from all_tables; //所有用户的表 select table_name from dba_tables; //包括系统表 select table_name from dba_tables where owner=’zfxfzb’ /*
2.修改表
alter table test01 add constraint s_id primary key; alter table test01 add constraint CK_INFOS_GENDER check(gender=’男’ or gender=’女’) alter table test01 add constraint CK_INFOS_AGE(age>=0 and age<=50) alter table 表名 modify 字段名 default 默认值; //更改字段类型 alter table 表名 add 列名 字段类型; //增加字段类型 alter table 表名 drop column 字段名; //删除字段名 alter table 表名 rename column 列名 to 列名 //修改字段名 rename 表名 to 表名 //修改表名
3.删除表格
truncate table 表名 //删除表中的所有数据,速度比delete快很多,截断表 delete from table 条件// drop table 表名 //删除表
4.插入语句
insert into 表名(值1,值2) values(值1,值2);
5.修改语句
update 表名 set 字段=值 [修改条件] update t_scrm_db_app_user set password = :pwd where login_name = :user
6.查询语句
带条件的查询 where 模糊查询 like % _ 范围查询 in 对查询结果进行排序 order by desc||asc
7.case when
select username,case username when ‘aaa’ then ‘计算机部门’ when ‘bbb’ then ‘市场部门’ else ‘其他部门’ end as 部门 from users; select username,case username=’aaa’ then ‘计算机部门’ when username=’bbb’ then ‘市场部门’ else ‘其他部门’ as 部门 from users;
8.运算符和表达式
算数运算符和比较运算符
distinct 去除多余的行
column 可以为字段设置别名 比如 column column_name heading new_name
decode 函数的使用 类似于case…when
select username,decode(username,’aaa’,’计算机部门’,’bbb’,’市场部门’,’其他’) as 部门 from users;
9.复制表
create table 表名 as 一个查询结果 //复制查询结果
insert into 表名 值 一个查询结果 //添加时查询
10.查看表空间
desc test01;
11.创建表空间
永久表空间 create tablespace test1_tablespace datafile ‘testfile.dbf’ size 10m; 临时表空间 create temporary tablespace temptest1_tablespace tempfile ‘tempfile.dbf’ size 10m; desc dba_data_files; select file_name from dba_data_files where tablespace_name=’TEST1_TABLESPACE’;
以上是关于ORACLE基本操作的主要内容,如果未能解决你的问题,请参考以下文章
Client / Server Interoperability Support Matrix for Different Oracle Versions (Doc ID 207303.1)(代码片段
Oracle 数据库 - 使用UEStudio修改dmp文件版本号,解决imp命令恢复的数据库与dmp本地文件版本号不匹配导致的导入失败问题,“ORACLE error 12547”问题处理(代码片段
Oracle数据库从RMAN备份集片段还原指定单个归档日志进行日志挖掘分析
续:纠正:ubuntu7.04可以安装,而且完美的安装 ! for《Oracle-10.2.0.1,打补丁10.2.0.5:在 debian 版本4不含4以上,及 ubuntu 7.04不含(代码片段