• 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的正则表达式中不支持 这类的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 是闭区间的。

  • 相关阅读:
    ASIHttpRequest封装
    算法6-6:哈希表应用之字典应用
    代码杂记(三)
    拥塞避免算法
    使用Unity制作的一个望远镜特效,在狙击手游戏中非经常见
    Ubuntu Linux下安装Oracle JDK
    Java输入输出流(2)
    软考之路--小桥流水人家
    [Java]LeetCode116. 填充同一层的兄弟节点 | Populating Next Right Pointers in Each Node
    [Swift]LeetCode115. 不同的子序列 | Distinct Subsequences
  • 原文地址:https://www.cnblogs.com/vanwoos/p/5928121.html
Copyright © 2020-2023  润新知