oracle学习笔记(六)

1.创建一个表

不加约束

create table t_user(

id number,--类型是number类型

name varchar2(20),--varchar2()可以变化

gender char(2),

birthday date default sysdate 默认是当前日期

)

加上约束

create table t_user2(

id number ,

name varchar2(20) check(length(name)>2),

gender char(2) check(gender in(‘男‘,‘女‘)),

birthday date default sysdate

)

-- 建表并插入数据。

create table t_emp as select * from emp;

--建表不插入数据

create table t_emp2 as select * from emp where 1=2;

--建表只插入某些列 如果插入有表达式必须指定列名

create table t_emp3 as select ename,sal,sal*12 totalSal from emp where 1=2;

约束:

表 t_user

id :主键

name :非空

regDate:默认值为当前时间

cardnum :非空、唯一

age :检查,应大于等于0

deptno :外键,引用dept.deptno

创建表t_user:

create table t_user(

id number constraint PK_USER_ID primary key,

name varchar2(20) constraint NOTNULL_USER_NAME not null,

regDate date default sysdate,

cardnum varchar2(20) constraint NOTNULL_USER_CARDNUM not null

constraint UNIQUE_CARDNUM unique,

age number constraint CHECK_AGE check(age>0),

depno number constraint FK_USER_DEPTNO references dept(deptno)

)

查看本表中的所有的约束:

select * from user_constraints where table_name=‘T_USER‘;

-- 创建视图,默认是可以对那种对应真实列的字段进行DML操作。

create view myview

as

select empno, ename, sal, (sal * 12) AS total from emp

-- 只读的视图

create view myview

as

select empno, ename, sal, (sal * 12) AS total from emp

with read only;

-- 创建视图,注意这里有deptno=10的条件。

-- 这时可以通过视图插入deptno=20记录。

create or replace view myview

as

select empno, ename, sal, (sal * 12) AS total, deptno from emp where deptno=10

使用视图不可以提高性能,因为视图就一个事先存储好的SQL查询。

创建序列:

create sequence myseq;

修改:

alter sequence myseq

maxvalue 25

cache 10

cycle;//设置循环序列 就是序列到达最大值 25 的时候又从1开始

删除:

drop sequence myseq;

查询:

select myseq.nextval from dual;

select myseq.currval from dual;

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-15 20:54:06

oracle学习笔记(六)的相关文章

Oracle学习笔记六 SQL常用函数

函数的分类 Oracle 提供一系列用于执行特定操作的函数 SQL 函数带有一个或多个参数并返回一个值 以下是SQL函数的分类: 单行函数对于从表中查询的每一行只返回一个值 可以出现在 SELECT 子句中和 WHERE 子句中 单行函数可以大致划分为: 1.日期函数 2.数字函数 3.字符函数 4.转换函数 5.其他函数 单行函数 日期函数 日期函数对日期值进行运算,并生成日期数据类型或数值类型的结果 日期函数包括: 1.ADD_MONTHS 2.MONTHS_BETWEEN 3.LAST_D

oracle学习笔记 存储及raid技术概述

oracle学习笔记 存储及raid技术概述 本课以oracle数据库所运行的环境,讲一下存储和raid技术. 一)oralce生产环境里的结构 先说一下oracle所在的环境. 有一种结构: 两个服务器.两个光纤存储交换机.两个存储, 它们通过网线相互连接在一起. 每个服务器接两个交换机, 每个交换机连两个服务器同时连两个存储, 每个存储和两个交换机有连接. 这是oracle数据库相对比较典型的正规的运行环境. 每个服务器上都装Linux和oracle数据库软件, oracle数据库建在存储上

oracle学习笔记 SQL语句执行过程剖析讲课

oracle学习笔记 SQL语句执行过程剖析讲课 这节课通过讲述一条SQL语句进入数据库 和其在数据库中的整个的执行过程 把数据库里面的体系结构串一下. 让大家再进一步了解oracle数据库里面的各个进程.存储结构以及内存结构的关联关系. 首先来讲整个体系中有客户端.实例和数据库 数据库里有三类文件 控制文件ctl.数据文件dbf.日志文件log 实例中SGA有六大池子 第一大内存区shared pool即共享池 第二大内存区buffer cache 第三块是redo log 我们主要讲上面的三

oracle学习笔记 swap

oracle学习笔记 swap 这节课老师讲了很多,虽说看起来很多都没有用,但老师讲的仔细,我们应该认真了解一下. 这节课主要内容是硬盘的工作机制,工作原理, 以一些系统性能分析工具为线,并附带讲了系统中cpu.内存的工作机制. 对以后进行orace的优化,操作系统的学习非常有帮助. 此前讲过计算机的工作机制. 程序在硬盘上,执行时首先被调入内存成为进程,cpu按照时间片循环的轮回的执行各个进程. 表面上看各个进程都在运行,实际上很多进程都被时间片阻挡在cpu之外. 从宏观上看多个进程同时在执行

python之raw_input()(学习笔记六)

python之raw_input()(学习笔记六) 我们经常使用raw_input()读取用户的输入,如下例子所示: >>> name = raw_input('please input your name:'),截图如下: 下面简单说下,raw_input()与if搭配使用,脚本如下: #!/usr/bin/env python # -*- coding:utf-8 -*- birth = raw_input('birth:') if birth < 2000: print '0

Oracle 学习笔记 17 -- 异常处理(PL/SQL)

程序在执行过程中出现异常是正常的,在程序的编写过程中出现异常也是不可避免的.但是要有相应的异常处理的机 制,来保证程序的正常执行.PL/SQL程序执行过程中出现的错误,称为异常.一个优秀的程序都应该能够正确处理 各种出错的情况,并尽可能的从错误中恢复.PL/SQL提供了异常处理机制. 概念: 异常处理(exception)是用来处理正常执行过程中未预料的事件,程序块的异常处理定义的错误和自定义的错误, 由于PL/SQL程序块一旦产生异常而没有指出如何处理时,程序就会异常的终止. 有三种类型的错误

oracle学习笔记之用户管理-3

用户权限机制 1.不同用户表权限的赋予 grant select on scott.emp to software; ---当前登录用户为表所有者,则表名前不用指定所属用户 2.用software登录后 select * from scott.emp; ---software才有权限查询到scott的emp表 方案(schema) 当用户创建好后,如果该用户创建了一个数据对象(如表),此时dbms会创建一个对应的方案与改用户对应,并且该方案的名称和用户名称一致. system与scott都拥有自

【Oracle学习笔记】

内容主要包含: (1)三种循环及其简化 (2)游标的使用 (3)异常处理 (4)存储过程 (5)存储函数 (6)触发器 (7)其他pl/sql操作 ---------------loop循环定义变量-------------------- declare cursor c1 is select * from emp;# rec emp%rowtype;# i numeber:=1; # v_count number;begin# select count(*) into v_count from

oracle学习笔记(二)

设置归档模式(mount状态) ALTER database ARCHIVELOG; //关闭数据库 shutdown immediate //启动数据库到mount状态 startup mount alter database archivelog; //查看归档状态 archive log list; SQL> archive log list; 数据库日志模式 存档模式 自动存档 启用 存档终点 USE_DB_RECOVERY_FILE_DEST 最早的联机日志序列 1 下一个存档日志序列