一、开始前的准备

1.启动Oracle

    启动监听服务:OracleOraHome90TNSListener

    启动实例服务:OracleServiceOrac

2.Oracle系统用户

     Oracle三大系统用户

    默认用:system/welcome

    超级用户:sys/welcome   权限最大

    普通用户:scott/tiger

 3.登录Oracle的方式

    Windows窗口下的sqlplus的操作    运行->sqlplusw.exe 
     DOS下的sqlplus的操作               运行-> sqlplus.exe    
    
登录Oracle但不连接数据库           运行->sqlplusw /nolog
     connect 用户名/密码@主机连接字符串  连接到指定用户

4.Oracle常用操作
show user 查看当前用户   select * from tab where tabtype='TABLE'  查看当前用户下的表
desc dept             察看表dept的结构
quit/exit             退出
clear screen          清除屏幕
set linesize 200      设置一行显示200个字符
set pagesize 20       设置每页显示20行
spool 文件名 (spool c:\abc.txt) 作日志文件命令         spool off
alter session set nls_date_format = 'yyyy-mm-dd'; 改日期的默认格式
conn /as sysdba     select * from v$version;查看当前Oracle的版本
conn system/welcome select * from v$tablespace; 查看表空间

5.表空间  用户 表三者的关系
   一个用户可以使用一个或多个表空间,一个表空间也可以供多个用户使用   
   用户和表空间没有隶属关系。
   表空是一个用来管理数据存储逻辑概念,表空间只是和数据文件发生关系,数据文件是物理的,
   一个表空间可以包含多个数据文件,而一个数据文件只能隶属一个表空间

                                                        二、常规操作

1.DDL语句(数据定义语言) Data Define Language
   create   alter    drop   truncate 开头的语句 truncate table <表名>
      特点:<1>建立和修改数据对象
             <2>建立和修改直接存入库中,直接生效
 创建表空间:Create tablespace Product  datafile 'D:\test\aa.DBF' size 100M
 删除表空间:Drop tablespace Product

 创建用户: Create user zhangsan identified by "welcome" default tablespace Product
 修改用户: Alter  user zhangsan identified by "Hello"
授予用户连接的权限:  grant connect to zhangsan;
撤销用户连接权限:   revoke connect from zhangsan;
授予用户在表空间创建对象的权限  
grant unlimited tablespace to zhangsan;
grant resource  to zhangsan;  
     
系统特权:unlimited tablespace表示用户可以在任意表空间中创建对象,且此权限只能授予用户而不能授予角色
     resource角色:给用户RESOUCE权限后,用户就拥有在所有表空间上建表权限
授予用户zhangsan对Emp表增、删、查、改的权限
grant  select  on scott.empa to y2;
          delete
          update
          insert
          all  (=select,delete,update,insert)

with grant option 授予用户权限,则接受权限的用户可以将此权限授予其他用户.
(1).建表,并指定表空间
  示例: Create table tab1
          (
             no number(4),
             name varchar2(10)
          )tablespace Product;

 学生表  Student
       Create table student
       ( 
         xh number(4) primary key, --学号
         name varchar2(10) not null, --姓名
         sex  char(2)  check (sex in ('男','女')),--性别
         birthday date,--生日
         sal number(7,2), --奖学金
         classid number(2) references class(classid) --班级         
       );
 班级表class
         Create table class
         (
          classid number(2), --班级编号
          cname varchar2(20) --班级名字
         );

 外键引用的列一定是主键或有unique约束的列
  drop table student;  删除表的结构和数据
  delete from student; 只删除数据,速度慢,数据可以恢复
  truncate table student; 删除记录的 速度快 数据不能恢复

  添加字段(学生所在班级classid)
      alter table student add (classid number(2));
  修改字段的长度
      alter table student modify (xm varchar2(12)) ;
  修改字段的类型(不能有记录的)
      alter table student modify (xh varchar2(5));
  删除一个字段
      alter table student drop column sal;
  删除表
      drop table student;
  表的名字修改
      rename student to stu;
  字段如何改名字
      --先删除
      a)alter table student drop column sal;        
      --再添加
      b)alter table student add (salary number(7,2));

Number数据类型的存储范围
精度    存储字节数
1 - 9       5
10-19     9
20-28    13
29-38    17

posted on 2009-02-11 11:02  feiyang68  阅读(1387)  评论(0编辑  收藏  举报