Oracle-1

来源:互联网 发布:小清新记账软件 编辑:程序博客网 时间:2024/06/05 20:17

数据库简介

  1. DB和DBMS
    DB:数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。
    DBMS:数据库管理系统(DataBase Management System),管理数据库的软件。

  2. 关系数据库简介:
    关系:描述两个元素的关联或对应关系。
    使用关系模型把数据组织到二维数据表中(Table)。
    产品化:Oracle,MySQL,DB2

  3. 表的概念:
    一个关系数据库有多个数据表组成,数据表是关系数据库的基本存储结构。
    表是二维的,由行和列组成。
    表与表之间存在关联关系。

SQL概述

  1. SQL概述:
    sql:结构化查询语言。
    sql是在关系数据库上执行数据操作,检索及维护所使用的标准语言,可以用来查询数据,操纵数据,定义数据,控制数据。
    sql可分为:
    —数据定义语言:DDL;
    —数据操纵语言:DML;
    —数据控制语言:TCL;
    —数据查询语言:DQL;
    —数据控制语言:DCL;

  2. 数据定义语言:DDL
    用于建立、修改、删除数据库对象。
    包括:
    —CREATE:创建表或其他对象的结构。
    —ALTER:修改表或其他对象的结构。
    —DROP:删除表或其他对象的结构。
    —TRUNCATE:删除表数据,保留表结构。

  3. 数据操纵语言:DML
    用于改变数据表中的数据
    和事物相关,执行完后需要经过事物控制语句提交后才真正改变应用到数据库中。
    包括:
    —INSERT:将数据插入到数据表中;
    —UPDATE:更新数据表中已经存在的数据;
    —DELETE:删除数据表中的数据。

  4. 事物控制语言:TCL
    用来维护数据一致性的语句。
    包括:
    —COMMIT:提交,确认已经进行的数据改变;
    —ROLLBACK:回滚,取消已经进行的数据改变;
    —SAVEPOINT:保存点,使当前的事物可以回退到指定的保存点,便于取消部分改变。

  5. 数据查询语言:DQL
    用来查询所需要的数据
    SELECT语句。

  6. 数据控制语言:DCL
    用于执行权限的授予和收回操作
    包括:
    —GRANT:授予,用于给用户或角色授予权限
    —REVOKE:用于收回用户或角色的权限
    —CREATE USER:创建用户

Oracle数据类型

  1. NUMBER:表示数字类型
    经常被定义成NUMBER(P,S)
    形式,其中:
    –p表示数字的总位数
    –s表示小数点后面的位数
    如:sal NUMBER(6,2)

  2. CHAR:固定长度的字符类型
    经常被定义成 CHAR(N)的形式,N表示占用的字节数。
    如: ename CHAR(20),表示ename列中最多可以存储20个字节的字符串,并且这个长度是固定的。

  3. VARCHAR2:变长的字符类型
    定义格式为 VARCHAR2(N),N表示最多可占用的字节数。
    如: ename VARCHAR2(20),表示ename列中最多可以存储20个字节的字符串,并且这个长度是可变的,即字符串实际长度为多少就用多少。

  4. DATE:定义日期时间的数据
    默认格式是:DD-MON-RR
    如:11-APR-71

创建表

  1. CREATE语句:创建表

    CREATE TABLE emp(empno NUMBER(4,0),enname VARCHAR2(10),job VARCHAR2(9),mgr NUMBER(4,0),hiredate DATE,sal NUMBER(7,2),comm NUMBER(7,2),depton NUMBER(2,0)
  2. DESC语句:查看表结构
    DESC emp
    这里写图片描述

  3. DEFAULT语句:给列指定默认值

    CREATE TABLE emp(id NUMBER(4,0),ename VARCHAR2(10),sal NUMBER(7,2),gender CHAR(1) DEFAULT 'M')
  4. NOT NULL语句:
    非空约束,确保该字段值部位空;
    默认情况下,任何猎都可以为空;
    当某个字段被设置为NOT NULL,该字段必须保存有效值;
    当执行插入语句时,必须为该列提供数据,否则会报错;
    当执行更新操作时,不能给这个列设置NULL。

    CREATE TABLE emp(id NUMBER(4,0),ename VARCHAR2(10),sal NUMBER(7,2),   NOT NULLgender CHAR(1) DEFAULT 'M')

修改表

  1. 修改表名
    使用RENAME语句实现修改表名

    RENAME old_name TO new_name
  2. 增加列
    给表增加列可以通过使用 ALTER TABLE 的ADD子句实现
    如:给emp增加hiredate列,默认为sysdate

    ALTER TABLE emp ADD (hiredate DATE DEFAULT sysdate)
  3. 删除列
    使用ALTER TABLE 的DROP 语句删除不需要的列。
    如:删除日期那一列

    ALTER TABLE emp DROP(hiredate)
  4. 修改列
    建表之后可以改变表中列的数据类型,长度和默认值
    修改表仅仅对插入以后的数据有效
    如果把长度改小有可能不成功
    如:修改表中job,并增加默认值

    ALTER TABLE empMODIFY (job VARCHAR2(40) DEFAULT 'CKERK')

DML语句

  1. INSERT语句:
    给数据表增加记录
    如:给emp表插入数据,注意,可以不同时把所有的字段的数据都插进去,但是NOT NULL 的必须要有。

    insert into emp(empno,enname,job,mgr,hiredate,sal,depton)values(7902,'ford','analyst',7566,TO_DATE('1981_12_03','YYYY-MM-DD'),3000,20)

    执行DML语句后,需要在执行commit语句,才算真正确认了此操作。

  2. UPDATE语句
    更新表中记录
    语法格式:
    UPDATE table_name
    SET column=value[column=value]…
    [WHERE condition]
    如果没有WHERE 语句,则表示该表中所有的数据都会更新。
    如:更新职员ROSE的薪水为7000

    UPDATE emp SET salary=7000WHERE name='ROSE'
  3. DELETE 语句:
    删除表中记录

    DELETE FROM empWHERE job is null

    如果没有WHERE 语句,则删除全表。