• oracle学习总结3


    1:ddl语句
    创建一张学生表

    create table stu(
    id number(6) not null,
    name varchar2(20),
    age number(3),
    gender char(1) default 'm',
    grade number(1),
    class varchar2(20) constraint stu_class_fk foreign key references class(id),
    email varchar2(50)
    );

    create table class(
    id number(4),
    name varchar2(30),
    constraint class_id_pk primary key(id)
    );

    default 'm' 该字段默认是m,如果insert语句没有向该字段插入值,那么默认是m


    2:约束类型五种:
    not null 非空约束,就是在向表中插入数据时,必须给值。
    unique 唯一性约束,插入数据时,该字段的值不能够重复
    主键 primary key:非空约束,唯一性约束,逻辑上面有意义。
    外键 foreign key:参考另外一张表的某个字段(该字段必须是主键),插入数据时,必须在被参考字段数据范围内。
    如果被参考字段数据不存在,则插不进去。
    被参考字段所在的表不能别删除,在参考表没有被删除前。
    check

    注:主键概念:能够唯一表示一行记录的字段

    3:表级约束和字段级约束

    字段级约束,只能作用于一个字段:
    create table stu(
    id number(6) constraint stu_id_uni unique, --给id字段唯一性约束
    name varchar2(20)
    );

    表级约束,如果是两个字段组合约束:
    create table stu(
    id number(6),
    name varchar2(20),
    email varchar2(50),
    constraint stu_uni unique(name,email) --给name和email这两个字段组合加约束
    );


    4:修改表结构 alter
    --向表中添加一个字段
    alter table stu add (addr varchar2(20));
    --修改表中的字段
    alter table stu modify (addr varchar2(50));
    --删除表中的字段
    alter table stu drop (addr);


    5:修改表中的约束 constraint
    alter table stu drop constraint stu_class_fk; --删除表中的外键约束
    alter table stu add constraint stu_class_fk foreign key(class) references class(id);


    6:修改表的名字
    rename old_name to new_name;

    7:oracle,数据字典表,当前用户下的所有表都在dictionary中
    select * from dictionary;
    只有两个字段:table_name comments


    --用户表user_tables,该用户下所有的表都在这个表中
    --用户视图user_view
    --用户索引user_indexes
    --用户约束user_constraint


    8:创建索引index
    索引可以提高查询效率,但是插入数据时效率降低,因为在插入数据的同时还要插入索引表
    在给字段设置主键或者唯一性约束时,索引会自动创建。
    create index idx_stu_id on stu(id); --创建索引
    drop index idx_stu_id; --删除索引

    缺点:
    1:不轻易建索引,建大量索引会占用表空间。
    2:降低修改数据的效率,插入数据时还要插入索引表。


    9:视图view 虚表
    概念:就是一张虚表,一条select语句、

    create view v$_stu as select * from stu; --创建一张视图
    drop view v$_stu; --删除一张视图

    优点:
    1:方便查询,简化查询。
    2:保护表中相关数据不被查看,保护隐私。

    不足:
    维护成本升高,如果修改原来的表结构,那么视图中的数据也要做相应的修改。
    修改视图中的数据,实际上修改的就是原表中的数据。


    10:序列
    create sequence seq1;
    insert into stu values(seq1.nextval,'','');--插入索引,一般给主键添加值

    create sequence seq2 start with 1 increment by 1; --从1开始,步长为1

    mysql:auto increment;

  • 相关阅读:
    Project Euler Problem 11: Largest product in a grid
    Project Euler Problem 10: Summation of primes
    Project Euler Problem 10: Summation of primes
    Project Euler Problem 9: Special Pythagorean triplet
    Project Euler Problem 9: Special Pythagorean triplet
    Project Euler Problem 8: Largest product in a series
    Project Euler Problem 8: Largest product in a series
    Project Euler Problem 7: 10001st prime
    Project Euler Problem 7: 10001st prime
    Project Euler Problem 48: Self powers
  • 原文地址:https://www.cnblogs.com/warrior4236/p/5380809.html
Copyright © 2020-2023  润新知