Oracle学习笔记

来源:互联网 发布:李钟硕李敏镐网络剧 编辑:程序博客网 时间:2024/06/15 15:36
1.Oracle中,很少建立数据库,但是可以建立多用户共同访问一个数据库,不同用户对同一数据库有不同的操作权限。


2.Oracle为管理员预置了两个用户:SYS,SYSTEM.同时为程序测试提供了一个普通用户SCOTT


3.链接Oracle服务器的命令是: conn 用户名/密码 as 连接身份@服务器连接字符


4.SYS用户必须用sysdba身份才能登陆,system用户可以同普通身份登陆


5.启动Oracle必须是sys用户,命令格式: startup open
Oracle服务关闭命令:shutdown immediate


6.创建用户 : create user 用户名 identified by 口令 [account lock|unlock]
                   lock|unlock创建用户时是否锁定,默认为锁定状态。锁定的用户无法正常登陆进行数据库操作
         例子:
              SQL>create user lv identified by 123456 account unlock;


7. 用户的权限,分为系统权限和数据库对象权限。系统权限可以有相应的系统操作的权限。比如create session,create table
                                             数据库对象权限 对表的增删查改。


8.数据库角色就是若干个系统权限的集合。
             connect角色,主要用在临时用户,不需要建表的用户。
             resource角色,提供胡勇另外的权限以创建他们自己的表,序列,过程,触发器,索引等
             dba角色,拥有所有的系统权限,包括无限制的空间限额和给其他用户授予各种权限的能力。System用户拥有dba角色


9.一般情况下,一个普通用户拥有connect和resource两个角色即可进行常规的数据库开发工作


10.授权语句: grant角色|权限 to 用户(角色)
            例子:
                 SQL>grant connect to jerry;
                 SQL>grant resource to jerry;
    回收权限: revoke 角色|权限 from 用户(角色)
    修改用户密码: alter user 用户名 identified by 新密码
    修改用户的锁定状态: alter user account lock|unlock


11.Oracle常见数据类型:
    char(length):存储固定长度的字符串,可用空格代替字符,默认长度是1,最长不超过2000字节
    
    varchar2(length)存储可长度的字符串。length最大长度,默认长度是1,最长不超过4000字符


    number(p,s)即可存储浮点鼠,也可以存储整数,p表示数字的最大位数(如果是小数则包括整数部分和小数部分加小数点)s是指小数点的位数


    date 时间
    timestamp date的扩展类型,包含时区和秒后6位
    
    clob 存储大的文本,比如存储非结构化的xml文档


    blob 存储二进制对象,比如图形,视频,声音等。****


12.Oracle中创建表和mysql差不多,但是多了一个约束条件,(还是自己以前没接触到mysql的约束?)
    约束语法: 
             alter table 表明 add constraint 约束名 约束内容
          例子:
             create table user_info(
              u_id varchar2(7) not null,
              u_name varchar2(10) not null,
              sex varchar2(2) not null
             )
             /
             
             alter table user_info add constraint pk_user_info primary key(u_id)
             /
             
             alter talbe user_info add constraint ck_sex check(sex='男' or sex='女')
             /


            每条约束语句后都有/
            "/" 执行缓存区中的语句


13.外键约束: alter table 表名 add constraint  约束名 foreign key(列名) references 表名(列名)


14. 简单查询 :select *|列名|表达式 from 表名 where 条件 order by 列名


15. 根据结果创建表: create table 表名 as select 语句
                     create talbe user_info1 as select * from user_info;


16.数据插入 : insert into 表名(列名1,列名2......) values(值1,值2.......)




17.Oracle date:YYYY-MM-DD HH24:MI:SS ;


18.Oracle中尅向表中插入一个结果集,
          insert into user_info2 select * from user_info;


19.更新数据: update 表名 set 列名1=值,列名2=值.....where 条件


20.操作数据库后记得commit。


21.删除数据:delete from 表名 where 条件
       全部删除: truncate table 表名


22. 消除重复行 distinct: 
        select distinct 列名 from 表名


23.like 模糊查询:
            通配符: %:表示零个或多个任意字符
                     _:代表一个任意字符


24.插入多条数据union:


           insert into user_info3 
           select * from user_info
           union
           select * from user_info2
           /






25.Oracle中外连接用(+)表示
           select a.name,b.name from user_info a,user_info2 b where a.name(+)=b.name
      (+):Oracle 专用链接符,在条件中出现在左边指右外连接,出现在右边指左外链接


26.





0 0