• 1.8 Oracle数据库学习教程-创建和管理表


    Oracle数据库学习教程

    创建和管理表

    数据库的对象:表、视图、索引、序列、同义词、存储过程、存储函数、触发器、包、包体、数据库链路(datalink)、快照。(12个)

    • 表:基本的数据存储集合,由行和列组成。
    • 视图:从表中抽出的逻辑上相关的数据集合。
    • 序列:提供有规律的数值。
    • 索引:提高查询的效率
    • 同义词:给对象起别名

    表的基本操作

    基本的数据存储集合,由行和列组成。表名和列名遵循如下命名规则:

    • 必须以字母开头
    • 必须在 1–30 个字符之间
    • 必须只能包含 A–Z, a–z, 0–9, _, $, 和 #
    • 必须不能和用户定义的其他对象重名
    • 必须不能是Oracle 的保留字
    • Oracle默认存储是都存为大写
    • 数据库名只能是1~8位,datalink可以是128位,和其他一些特殊字符

    1. 创建表create table

    • 必须拥有create table的权限,还有存储空间

    20211007155628
    rowid:行地址 ——伪列:创建索引用

    create table test1 (tid number, tname varchar2(20), hiredate date default sysdate)
    default的作用是,当向表中插入数据的时候,没有指定时间的时候,使用默认值sysdate。

    create table emp20 as select * from emp where deptno=20
    这样emp20在创建之初就有数据.where条件为假时,只拷贝表结构.

    创建视图和创建表基本一样.只是把table换成view.

    2.修改表alter table

    alter table test1 add image blob;
    追加一列blob类型的image列

    alter table test1 modify tname varchar2(40)
    改tname列varchar类型大小

    alter table test1 drop column image;
    删除image列

    alter table test1 rename column tname to username;
    将列tname改名为username.

    删除列drop table

    不能回滚,但支持闪回

    drop table emp10;
    可以去回收站找回.
    drop table test1 purge;
    彻底删除.

    Oracle回收站:show recyclebin;,不是emp10,要使用复杂长的名字

    清空回收站:purge recyclebin;

    20211007163026
    20211007163043

    重命名表

    rename emp10 to emp9;

    约束

    数据库约束有五种:

    • 主键约束(PRIMARY KEY)
    • 唯一性约束(UNIQUE)
    • 非空约束(NOT NULL)
    • 外键约束(FOREIGN KEY)
    • 检查约束(CHECK)
    1. 主键约束:唯一且非空
      1. 内联约束:create table demo(id NUMBER primary key,name varchar(20))
      2. 外约束:create table demo(id NUMBER,name varchar(20),constraint pk_demo primary key(id));
        1. pk_demo是约束名,任取,删除主键约束:alter table demo drop constraint pk_demo
        2. 可以多个列项一起组成复合主键
        3. 如果需要将大量数据插入表中,可以暂时禁用约束,alter table demo disable constraint pk_demo,启用时用enable
    2. 唯一性约束
      1. 内联约束:create table demo(id NUMBER unique,name varchar(20))
      2. 使用方法类同主键约束
    3. 非空约束
      1. create table demo (id number,name varchar(20) not null);
      2. alter table demo modify(name not null);
      3. 删除:alter table demo modify(name null);
    4. 外键约束:表与表的关系(子表某列的值只能在父表某列中取)
      1. create table child(... constraint fk_name foreign key(列1..) references parent(列a..) on delete [cascade/set null]);
        1. cascade:如果父项的一行被删,子表对应的都删除
        2. set null:如果父项一行被删,子表对应的都设null
      2. 删除,禁用,启用同上
    5. 检查约束:
      1. 添加检查约束后,插入数据时,只有符合条件才能正常插入.
      2. create table demo ( name varcher(20) check(条件),...);
      3. constraint check_name check (条件);
      4. 例子:create table parts(...,price NUMBER(price > 100))
      5. 检查约束可添加到表上,ALTER TABLE table_name ADD CONSTRAINT check_constraint_name CHECK(expression);

    这部分没有深入学习.有需要得再进行学习.

    本文来自博客园,作者:Ovins,转载请注明原文链接:https://www.cnblogs.com/ovins/p/15412944.html

    喜欢请点关注❤️ ❤️ ❤️
  • 相关阅读:
    python的函数
    Python的条件语句和循环语句
    Python的输入与输出
    Python变量和类型
    Python的运算符
    Python的注释
    pycharm基本使用
    推特史上最大规模黑客入侵案:17岁问题少年的隐秘人生
    进程和线程的区别及线程的介绍
    python接口自动化42
  • 原文地址:https://www.cnblogs.com/ovins/p/15412944.html
Copyright © 2020-2023  润新知