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 ...
随机推荐
- JS仿淘宝星星评价
//直接复制过去就可以了(你也可以吧css和js封装成css和js文件导入). <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transit ...
- 局域网内利用gitlab,jenkins自动生成gitbook并发布(nginx)
安装了GitBook,内网使用,没法用上gitbook的网页. 用gitbook serve只能展示一本书,而且也不利于长期维护. 于是使用gitlab,jenkins,和nginx配合gitbook ...
- ComboSelect 下拉筛选
Jquery Combo Select下拉筛选 http://www.dowebok.com/179.html
- 掌握Thinkphp3.2.0----标签库
1.什么是内置标签?什么是标签扩展库? Cx.class.php 和 Html.class.php 2.怎么加载非内置标签,怎么使用? 两种方式加载 3.怎么扩展自定义的标签? 仿照Html.clas ...
- JAVA枚举的作用与好处
枚举是一种规范它规范了参数的形式,这样就可以不用考虑类型的不匹配并且显式的替代了int型参数可能带来的模糊概念 枚举像一个类,又像一个数组.Enum作为Sun全新引进的一个关键字,看起来很象是特殊的c ...
- Nodejs:Glob对象
模块Glob: glob主要用处为筛选文件 API样例: var globInstance = new glob.Glob("@(a|a1|b).js",{nonull:true, ...
- 过滤关键字防止XSS攻击
public static string ClearXSS(string str) { string returnValue = str; if (string.IsNullOrEmpty(retur ...
- TiD大会学习心得之沟通交流
沟通交流是敏捷成功的关键要素,据相关调查阻碍敏捷的主要原因都与人有关:例如缺乏领导支持.团队缺乏协作精神.公司文化与敏捷相冲突等等:同时沟通交流也是团队建设.教练自身成长的重要支柱.下面结合在< ...
- 在mvc中将session的值绑定在页面上
第一步,在SqlServer数据库中创建存储过程,查询的是用户名(员工姓名)所扮演的角色: if exists(select * from sys.objects where name='proc_s ...
- Javascript基础知识总结一
Javascript基础知识总结一 <!DOCTYPE html> <html> <head lang="en"> <meta chars ...