Oracle数据库操作
本例使用oracle数据库,使用PL/SQL可视化工具:
--查询员工表数据 (emp为pl/sql自带的表,也可自己新建)
select * from emp;
--创建表空间
create tablespace sp_java1608
datafile 'e:\data\data1.mdf' size 100 M;
--修改表空间
--空间变为200M
alter tablespace sp_java1608
add datafile 'e:\data\data2.mdf' size 100 M;
--删除表空间
drop tablespace sp_java1608 including contents and datafiles;
--创建用户(create user username identified by password)设置默认表空间
create user java1608
identified by java1608
default tablespace sp_java1608;
--删除用户
drop user java1608;
--赋予权限:
--connect :可以登录Oracle,不可以创建实体,不可以创建数据库结构。
--session 创建会话的权限
--DBA:拥有全部特权
--RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构
grant create session to java1608;
grant create connect to Java1608;
grant resource to java1608;
--回收权限
revoke resource from java1608;
--rowID,rownum 都是伪列
--rowid在数据库中具有唯一性,在同一个数据库中是不会重复的,而rownum则可以理解为行号。
--常用于数据库分页
--如下例子:3当前是第几页,2代表每页显示几条数据
select * from
(
select rownum as eid,emp.* from emp
) tmp where eid between (3*2)+1 and (3+1)*2;
--单表查询
--select 列名1,列名2,... from 表名 where 条件
select * from emp;
select ename,sal from emp;
select * from emp where empno = 7369;
--distinct 除去列名重复
select distinct job from emp;
--oracle默认是隐式事务
--插入数据
insert into emp values(1000,'张三','CLERK',7698,to_date('2000/01/01','yyyy/mm/dd'),300.5,100.6,20);
insert into emp values(1001,'lisi','CLERK',7698,to_date('2000/01/01','yyyy/mm/dd'),300.5,100.6,20);
--rollback为撤回行为 与之相对的为commit提交事务
rollback;
--计算列
select ename,sal+comm as totalsal from emp where comm is not null;
select * from emp where ename like '%E%';
select * from emp where ename like '%E_';-- _伟%
--连接运算符
--dual 是为了让查询语法完成而存在的关键字
select 'a' || 'b' from dual;
--聚合函数,数据库通用函数
select min(sal) from emp;
select job, max(sal) from emp group by job having max(sal)>=2000;
select avg(sal) from emp;
select sum(sal) from emp;
select count(*) from emp;
--创建表
create table t_student
(
sno char(10),
name nvarchar2(6),
sex char(1),
address varchar2(200),
birthday date
);
select * from t_student;
insert into t_student(sex) values('m');
--数据完成整性
--修改表/增加列
alter table t_student
add mphone char(11);
--修改表/修改列
alter table t_student
modify mphone char(12) not null;
--修改表/删除列
alter table t_student
drop column mphone;
--表改名
alter table t_student_1
rename to t_student;
--删除表
drop table t_student;
--实体完整性\域完整性\引用完整性(约束来实现)
--主键约束(非空,唯一,聚焦索引)
alter table t_student
add constraint pk_student_sno primary key (sno);
--非空约束
alter table t_student
modify name varchar2(6) not null;
alter table t_student
modify sex not null;
--默认值约束
alter table t_student
modify sex default 'm';
--唯一性约束
alter table t_student
add constraint un_student_name unique (name);
--检查性约束
--between为前后闭区间
alter table t_student
add constraint ck_student_sex check (sex='m' or sex ='f');
alter table t_student
add constraint ck_student_birthday check (birthday between to_date('1900/01/01','yyyy/mm/dd') and to_date('2016/11/27','yyyy/mm/dd'));
--外键约束
--主键(主表);外键 (从表)
alter table t_score
add constraint fk_score_sno foreign key (sno) references t_student(sno);
create table t_score
(
sid int primary key,
math int not null,
chenese int not null,
sno char(10)
) ;
select * from t_score;
--删除表所有数据
delete from t_score;
--关联表数据一一对应
insert into t_score values(1,20,30,'s001');
insert into t_score values(2,20,30,'s002');
insert into t_score values(3,20,30,'s003');
insert into t_score values(4,20,30,'s004');
insert into t_student(sno,name,sex,birthday) values('s001','zhang','f',to_date('1900/01/01','YYYY/MM/DD'));
insert into t_student(sno,name,sex,birthday) values('s002','li','m',to_date('1900/01/01','YYYY/MM/DD'));
insert into t_student(sno,name,sex,birthday) values('s003','zhao','f',to_date('1900/01/01','YYYY/MM/DD'));
insert into t_student(sno,name,sex,birthday) values('s004','wang','m',to_date('1900/01/01','YYYY/MM/DD'));
select * from t_student;
delete from t_student;
Oracle数据库操作的更多相关文章
- 基于OCILIB的oracle数据库操作总结及自动生成Model和Dao的工具
基于OCILIB的oracle数据库操作总结 1. 类图 2. 基类BaseOCIDao的设计与实现 BaseOCIDao.h头文件 #pragma once /* ----- ...
- C# Oracle数据库操作类实例详解
本文所述为C#实现的Oracle数据库操作类,可执行超多常用的Oracle数据库操作,包含了基础数据库连接.关闭连接.输出记录集.执行Sql语句,返回带分页功能的dataset .取表里字段的类型和长 ...
- (转)C# Oracle数据库操作类
原文地址:http://www.cnblogs.com/haibing0107/p/6143922.html using System;using System.Data;using System.C ...
- C# Oracle数据库操作类
using System; using System.Data; using System.Collections.Generic; using System.Configuration; using ...
- 循序渐进Python3(十二) --2-- web框架之django简单实现oracle数据库操作
在 Django 中构建 Oracle 数据库支持的 Web 应用程序 了解如何配置 Django 以便与 Oracle 数据库交互,并使用 ORM 进行数据库连接. 产能在软 ...
- Java从入门到精通——数据库篇之JAVA中的对Oracle数据库操作
在Java中对Oracle数据库的操作分为两种:一.查询.二.非查询. 下面是我对其进行总结: 一.查询数据 /** * 根据用户代码查询 * @param userId * @return 如果存在 ...
- Oracle数据库操作---入门(一)
由于工作原因,近期可能会开始多复习一些数据库相关的知识了,想深入了解的,也可以一起复习.学习~ 前期先巩固一下基础操作,后期会一点点的加深向运维方向深入.开篇主要介绍一些数据库理论知识,不感兴趣的可以 ...
- Oracle数据库操作类及连接方法
创建DataBaseAccess引用库下面包括DBConnectionString.cs,DBType.cs ,SysName.cs 三个类 DBConnectionString: using Sys ...
- oracle数据库 操作clob对象
clob类型,但对于这个类型处理起来还是比较麻烦的,varchar2长度为4000bytes,如果varchar2能满足楼主的需求,建议使用varchar2,下面提供了在Java 中读取clob类型的 ...
- 二十三、java连接oracle数据库操作:jdbc
1.jdbc 1) 含义:JDBC是java语言连接数据库,Java Date Base Connectivity2) jdbc的本质:在编程时java程序会去连接不同的数据库,而每个数据库的底层的实 ...
随机推荐
- webstorm添加*.vue文件代码提醒支持webstorm支持es6vue里支持es6写法
本文转自:http://www.lred.me/2016/01/07/webstorm%E6%B7%BB%E5%8A%A0-vue%E6%96%87%E4%BB%B6%E6%94%AF%E6%8C%8 ...
- 51nod1135(求最小原根)
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1135 题意:中文题诶- 思路:设m是正整数,a是整数,若a模 ...
- 小白请教几个关于Java虚拟机内存分配策略的问题
最近在看周志明所著的<深入理解Java虚拟机>,有几个问题不太明白,希望对虚拟机有研究的哥们儿帮我解答一下.先说一下我进行试验的环境: 操作系统:Mac OS X 10.11.6 EI C ...
- jQuery对象与dom对象相互转换
核心提示:jquery选择器得到的jquery对象和标准的 javascript中的document.getElementById()取得的dom对象是两种不同的对象类型,一般情况下,如S('#id' ...
- 第三十二篇:在SOUI2.0中像android一样使用资源
SOUI2.0之前,在SOUI中使用资源通常是直接使用这个资源的name(一个字符串)来引用.使用字符串的好处在于字符串能够表达这个资源的意义,因此使用字符串也是现代UI引擎常用的方式. 尽管直接使用 ...
- ASP.Net Core 里是如何把一个普通的 Action 返回类型转换为某种 IActionResult 的
秘密在于这个类型: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker 在它的 CreateActionResult 方法里会将相关类型 ...
- Asp.net中延长session失效时间(2点注意web.config和IIS)
一个是软件系统中的web.config: 配置文件web.config 的<system.web>下加上<sessionState mode="InProc" ...
- 【CentOS】LAMP
文章需要整合,学习需要归纳,博主把一连四篇的LAMP合并成为一片长篇的大部头,并梳理了一下他们的关系,希望对各位有所帮助 最近一次更新:2016年12月21日21:38:31 本文为博主JerryCh ...
- CSS中使用text-transform实现首字母大写
CSS中首字母大写怎么实现?日常生活中需求方对英文的要求比较多,有的时候需要让英文单词或拼音首个字母大写;有的时候需要让全文中英文单词全大写或小写.这时候我们就需要text-transform属性了. ...
- SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
java日期格式大全 format SimpleDateFormat(转) SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH ...