zoukankan      html  css  js  c++  java
  • Oracle基础知识【1】

    目录:

      1、Oracle创建库、表

      2、Oracle数据怎删查改操作

      3、Oracle数据约束条件 

    Oracle创建库、表:

    create user user05 identified by 123456 --创建Oracle新用户
    grant CONNECT,RESOURCE,DBA TO user05 --GRANT语句授予user05用户权限
    drop user user04;--删除用户

    alter user user01 identified by 111111;--修改用户密码

    CONNECT user05/123456   --连接创建用户

    select * from CLASSINFO; --查询数据
    INSERT into CLASSINFO(CLASSNAME) values('明');--插入数据
    update classinfo set CLASSID=2.0,CLASSNAME='大' where CLASSID=1.0 --修改数据
    delete from classinfo where id=1;--删除数据
    drop table classinfo;--删除表
    drop sequence seq_stu;--删除序列

    --创建表

    create table classinfo(

    id number primary key ,
    classname varchar(10) not null
    );

    增加列

    3、删除列

    4、修改列的类型

    5、复制表

     相当于新建一张表,只有表名和原有的表不一样

    表约束:

    1、非空约束 Not Null 限定表种某些值不能为空的约束

    写法1:create table stu2(sid number,name varchar2(255) constraint nu not null,age number)

    写法2:create table stu3(sid number,name varchar2(255) not null, age number)

    删除非空约束

    唯一约束UNIQUE(限定某一列的值不能重复)

     写法:create table stu6(sid number,name varchar2(255) unique,age number)

    主键约束Primary Key  【主键不会重复】

    写法

    create table stu9(sid number primary key,name varchar2(255),age number)

    给已有的表添加主键约束

     

    外键约束foreign key

     写法:

    create table worker(wid number primary key,name varchar2(255),jobid number,

    constraint fk_worker foreign key(jobid) references job(jid) on delete cascade

    )

     给已有的表添加外键约束

     创建检查约束第一种方式:  (aabb为约束名字,随意赋予)

    写法:

    create table stu(sid number,name varchar2(255),age number check(age > 20 and age <90))

    实列:Oracle实现自增标识

    create table dectuser(
    userid integer primary key, /*主键*/
    name varchar2(20),
    sex varchar2(2)
    );

    create sequence dectuser_tb_seq minvalue 1 maxvalue 99999999
    increment by 1
    start with 1; /*步长为1*/

    create or replace trigger dectuser_tb_tri
    before insert on dectuser    /*触发条件:当向表dectuser执行插入操作时触发此触发器*/
    for each row         /*对每一行都检测是否触发*/
    begin             /*触发器开始*/
    select dectuser_tb_seq.nextval into :new.userid from dual;
                  /*触发器主题内容,即触发后执行的动作,在此是取得序列dectuser_tb_seq的下一个值插入到表dectuser中的userid字段中*/
    end;
    insert into dectuser(name,sex) values ('feng','男');
    insert into dectuser(name,sex) values ('feng','男');
    insert into dectuser(name,sex) values ('feng','男');
    select * from dectuser;

    学着把生活的苦酒当成饮料一样慢慢品尝, 不论生命经过多少委屈和艰辛, 我们总是以一个朝气蓬勃的面孔, 醒来在每一个早上。
  • 相关阅读:
    Linux下一个patch补丁命令
    资本中国人物-金融
    深入浅出JMS(一)——JMS简要
    在JBuilder8在使用ANT
    mysql存储引擎
    Linux系统监控
    SIEM
    mysql主从数据库复制
    JVM中可生成的最大Thread数量
    磁盘IO性能监控(Linux 和 Windows)
  • 原文地址:https://www.cnblogs.com/yhm9/p/11269137.html
Copyright © 2011-2022 走看看