Oracle数据库学习笔记
创建表的同时插入数据:
create table zhang3 as select * from zhang1;
create table zhang3(id,name) as select * from zhang1;
将查询数据插入到某个表中:
insert into zhang3 select * from zhang1;
insert into zhang3(id,name) select * from zhang1;
有关完整性约束,表名,列名的两个视图:
user_constraints, user_cons_columns
创建用户并为用户授权(在命令行中进行操作):
sqlplus / as sysdba
create user zfs identified by zfs;
grant dba to zfs;
oracle数据库进行定制安装,安装成功之后没有数据库,这时需要手动创建数据库(使用 database configuration assistant)。
创建数据库的过程中需要指定密码(是指定 SYS, SYSTEM, DBSNMP, SYSMAN 这几个用户的密码)。实际使用时发现随便输入密码就可以登录SYSDBA这个用户,可能这是一个特殊的用户,是用系统的身份登录的。但是 使用任意密码也可以登录 SYS 这个用户。
创建完数据库之后还未完成,现在还没有LISTENER,使用 Net configuration assistant 创建好 LISTENER。
现在还需要有 tnsnames.ora 这个文件来描述我们刚刚创建的数据库。若创建数据库之前已经创建了 LISTENER, tnsnames.ora 文件应该会自动生成。
由于数据库先于 LISTENER 创建,现在需要手动配置 tnsnames.ora。仍然使用 Net configuration assistant,选择 本地Net服务名配置,输入创建的数据库的名称,配置完成之后 tnsnames.ora 会自动生成。
关于oracle数据库对用户的管理:
不同数据库的用户应该是无法通用的,例如在一个数据库里创建了用户,该用户不能登录另一个数据库。
数据库的用户是保存在该数据库中的一个名为 user$ 的表中。该表对dba这个角色的用户是不可见的,
tnsnames.ora 描述的信息:
该文件中的每个条目应该描述的是连接一个数据库所需的信息(ip地址,端口号,所要连接的数据库的服务名,该名称由LISTENER在服务端映射到对应的数据库),连接数据库所需的用户名和密码并没有放到 tnsnames.ora 这个文件中,而是要在登录时进行输入。
所以每一次的登录会话对应的是一个数据库,若想切换到另一个数据库,则要使用 tnsnames.ora 中的另外的条目。
由于在informatica powercenter中要用到oracle的odbc驱动,所以安装oracle数据库的过程中,若以定制的方式安装,则应该选择 Oracle ODBC Driver。
查询数据库中的表:
select * from tab;
select * from user_tables;
select * from all_tables;
select * from dba_tables;
sys和system的区别:
sys是最大权限的用户,是数据库集群里面的最高管理员。 system是单个oracle实例的最高管理员.
Compares a value to each value in a list or returned by a query. Must be preceded by =,!=,>,<,<=,>=. Can be followed by any expression or subquery that returns on or more values.例子中的any可以是some
eg. SELECT * FROM employees
WHERE salary = ANY
(SELECT salary
FROM employees
WHERE department_id = 30)
ORDER BY employee_id;
关于oracle的正则表达式:
在正则表达式中,可以使用类似与 \s 这样的操作符来匹配空白字符,但是 oracle的正则表达式中不支持 \n \r \t 这类的c语言风格的转义字符,若想在正则表达式中匹配这类字符,可以直接从键盘进行输入。
Oracle Database interprets the empty string as null.
plsql的输出语句示例:
DBMS_OUTPUT.PUT_LINE('surname=' || surname);
The %TYPE attribute is particularly useful when declaring variables to hold database
values. The syntax for declaring a variable of the same type as a column is:
variable_name table_name.column_name%TYPE;
Assigning Values to Variables with the SELECT INTO Statement
A simple form of the SELECT INTO statement is:
SELECT select_item [, select_item ]...
INTO variable_name [, variable_name ]...
FROM table_name;
Oracle 中的between and 是闭区间的。
Oracle数据库学习笔记的更多相关文章
- Oracle数据库学习笔记(一)
Oracle的体系结构大体上分为两部分:Instance(实例)和Database(数据库). Instance(实例) :在Oracle Instance中主要包含了SGA以及一些进程(例如:P ...
- 吴裕雄--天生自然ORACLE数据库学习笔记:Oracle数据备份与恢复
run{ allocate channel ch_1 device type disk format = 'd:\oraclebf\%u_%c.bak'; backup tablespace syst ...
- 吴裕雄--天生自然ORACLE数据库学习笔记:过程、函数、触发器和包
create procedure pro_insertDept is begin ,'市场拓展部','JILIN'); --插入数据记录 commit; --提交数据 dbms_output.put_ ...
- 吴裕雄--天生自然ORACLE数据库学习笔记:PL/SQL编程
set serveroutput on declare a ; b ; c number; begin c:=(a+b)/(a-b); dbms_output.put_line(c); excepti ...
- 吴裕雄--天生自然ORACLE数据库学习笔记:Oracle 11g的闪回技术
alter system set db_recovery_file_dest_size=4g scope=both; connect system/1qaz2wsx as sysdba; archiv ...
- 吴裕雄--天生自然ORACLE数据库学习笔记:数据导出与导入
create directory dump_dir as 'd:\dump'; grant read,write on directory dump_dir to scott; --在cmd下 exp ...
- 吴裕雄--天生自然ORACLE数据库学习笔记:优化SQL语句
create or replace procedure trun_table(table_deleted in varchar2) as --创建一个存储过程,传入一个表示表名称的参数,实现清空指定的 ...
- 吴裕雄--天生自然ORACLE数据库学习笔记:Oracle系统调优
--修改 alter system set large_pool_size=64m; --显示 show parameter large_pool_size; select sum(getmisses ...
- 吴裕雄--天生自然ORACLE数据库学习笔记:用户管理与权限分配
create user mr identified by mrsoft default tablespace users temporary tablespace temp; create user ...
随机推荐
- javascript学习之带滚动条的图片
之前找了好久没有找到,就自已动手写了一个: <!DOCTYPE html> <html> <head> <meta charset="utf-8&q ...
- C 格式输出
1 一般格式 printf(格式控制,输出表列) 例如:printf("i=%d,ch=%c\n",i,ch); 说明: (1) “格式控制”是用双撇号括起 ...
- Java学习记录-Jdk包简单介绍
java.applet Java语言编写的一些小应用程序 java.awt AWT 是Abstract Window ToolKit (抽象窗口工具包)的缩写,这个工具包提供了一套与本地图形界面进行交 ...
- 百度网盘生成二维码api
分享出自精神,灵感来自大脑,在百度云网盘分享每一个文件,都会在页面生成一个二维码扫描的图片: 我就进一步看了该图片的地址: 发现没有,圈圈内是不是有点眼熟,就跟其他二维码api接口一样,只要盗用这段东 ...
- Linux下安装性能测试负载机LG
系统:CentOS release 6.6 (Final) x86_64 安装包: 1.LRLG_00031.iso [Load Generator Standalone (Linux 64-bit ...
- 【ipv6惹的祸】curl 超时
偶然发现 最近在公司日志平台 总是可以看到很多关于php curl的错误信息 Operation timed out after 0 milliseconds with 0 out of 0 byte ...
- 修改applicationhost.config允许外部访问
我本地修改代码的时候,可能产品啊想看看,目前实现的效果,或者让测试帮忙调调样式啥的,都需要链接到我们本地的网站. 首先打开 D:\我的文档\IISExpress\config下的 applicati ...
- iOS 因为reason: 'Pushing the same view controller instance more than once is not supported而奔溃(上)
这个问题是什么意思呢,之前遇到过几次,但程序再次打开时没有问题,也就没有重视,今天又遇到了,无法忍受啊. 控制台报的错误是:"不支持多次推入相同的视图控制器实例". 什么原因造成的 ...
- 设置默认访问项目的客户端的浏览器版本(IE版本)
在项目开发部署中,发现浏览器不兼容现象,在不处理兼容性情况下让用户更好体验(IE浏览器) 我们来设置客户端默认访问项目的浏览器版本 如下所示的是不同IE版本下的效果截图比较: IE5.IE6下: IE ...
- 10个核心的Linux面试问题与答案
http://www.geekfan.net/8571/ compgen -c,可以打印出所有支持的命令列表使用Linux 命令dirs可以将当前的目录栈打印出来.使用linux命令 ’disown ...