Oracle数据库学习(二)

基本数据类型及SQL语法

Oracle 中用于访问数据库的主要查询工具有 SQL*Plus、iSQL*Plus 和企业管理器

Pl/SQL Developer的使用

Oracle 服务器由Oracle 数据库和 Oracle 实例组成

Oracle 中的 SYSTEM 用户和 SYS 用户具有管理权限,而 SCOTT 用户只有基本的权限

SQL语言的组成

    DDL(数据定义语言):维护(定义、修改、删除)SQL模式对象

    DML(数据操纵语言):包括数据查询和数据更新(增删改查)

    DCL(数据控制语言):对数据的访问控制(授予权限、取消权限)

    TCL(事务控制语言):对事务的控制(提交、回滚、保存点)

SQL应用

    通过SQL可以实现与Oracle服务器的通信;

    Oracle使用该语言存储和检索信息

Oracle数据类型

      字符、数值、日期时间、LOB

Oracle数据类型---数值型

      1、可以存储整数、浮点数和实数

      2、最高精度为38位,默认是18位

      3、范围-1*10130——9.999…99*10125

      

Oracle数据类型---日期时间型

    日期时间数据类型存储日期和时间值,包括年、月、日,小时、分钟、秒

    主要的日期时间类型有: DATE - 存储日期和时间部分,精确到整个的秒

                                            TIMESTAMP - 存储日期、时间和时区信息,秒值精确到小数点后6位

     获得当前系统日期:select  sysdate  from  dual;

                             select  systimestamp  from  dual;

Oracle数据类型 ---大对象

   LOB称为“大对象”数据类型,可以存储多大4GB的非结构化信息,例如:声音剪辑和视频文件等

   LOB数据类型允许对数据进行高效、随机、分段的访问

Oracle数据类型---伪列

     Oracle中伪列就像一个表列,但是它并没有存储在表中

     伪列可以从表中查询,但不能插入、更新、删除他们的值

     常用的伪列有rownum和rowid

     rowid是表中行的存储地址,该地址可以唯一地标识数据库中的一行,可以使用rowid伪列快速地定位表中地一行

     rownum是查询返回地结果集中行的序号,可以使用它来限制查询返回的行数

DDL(数据库定义语言)

    创建表   create  table 

    修改表结构   alter  table  表名   add/modify/drop(增加/修改/删除)列名  类型名(增加/修改时写出)或增加/修改/删除约束

    增加字段:ALTER TABLE   t_student   Add   f_address  char(50);

    修改字段:ALTER TABLE   t_student   Modify   f_address  varchar2(50);

    删除字段:ALTER TABLE   t_student   Drop   column  f_address  ;

    添加约束: ALTER TABLE  t_student   Add  constraint  uk_Sname Unique(Sname);

    截断:Truncate  table  基本表名

     注: 1、截断表是将表中所有记录删除,但保留表结构,并且不写日志

             2、trancate table 是DDL语言,delete from table_name 是DML语言

    删除表:drop  table  基本表名

    DROP  TABLE  t_student; 

数据完整性

      实体完整性

     约束方法:唯一约束、主键约束

    

     域完整性

     约束方法:限制数据类型、检查约束、默认值、非空约束

     

     参照完整性(引用完整性)

     约束方法:外键约束

     

      自定义完整性

      约束方法:规则、存储过程、触发器

     

完整性总结:数据存放在表中,数据完整性的问题大多是由于设计表引起的,创建表的时候,就应该保证以后数据输入是正确的,错误的数据不允许输入

DML(数据操纵语言)

     insert命令的基本语法

     insert  into  基本表名[(columns_list)]  values(values_list)

     插入日期类型的值

      日期类型默认格式为“DD-MON-RR”

       INSERT INTO t_student VALUES(‘10014’, ‘许文强’, ‘m’, ‘25-5月-88’, ‘13202010118',1);

      使用TO_DATE函数转换

      INSERT INTO t_student(SID,Sname,Ssex,Sbirthday) VALUES (‘10015’,‘冯程程','f',TO_DATE('1990-10-18', 'YYYY-MM-DD'));

      插入来自其他表中的记录(相当于复制表结构)

       CREATE  TABLE  t_stutemp  AS  SELECT  *  FROM  t_student  WHERE 1=2;

       INSERT  INTO  t_stutemp  SELECT  *  FROM  t_student  WHERE  Sclass=3;

       INSERT INTO  t_stutemp(SID,Sname,Stel)   SELECT SID,Sname,Stel  FROM  t_student WHERE Sclass=2;

      update命令

      UPDATE <table_name> SET column_name = value [, column_name = value,……] [WHERE condition];

      delete命令

      DELETE [FROM] <table_name> [WHERE condition];

TCL(事务控制语言)

事务是最小的工作单元,作为一个整体进行工作

保证事务的整体成功或失败,称为事务控制

用于事务控制的语句有: COMMIT - 提交并结束事务处理

                                        ROLLBACK - 撤销事务中已完成的工作

                                        SAVEPOINT – 标记事务中可以回滚的点

DCL(数据控制语言)

     数据控制语言为用户提供权限控制命令

     用于权限控制的命令有:grant  授予权限

                                            revoke  撤销已授予的权限

     GRANT SELECT ON t_student TO user1 WITH GRANT OPTION;

     REVOKE SELECT, UPDATE ON t_student FROM user1;

猜你喜欢

转载自www.cnblogs.com/Java-125/p/9151595.html