zoukankan      html  css  js  c++  java
  • Oracle学习第二天--约束

    --0. 创建学生表:学号、姓名、性别、年龄、生日、邮箱、电话
    create table student
    (
    stuno int,
    stuname varchar2(50),
    sex char(1),
    age int,
    birthday date,
    email varchar2(50),
    telephone varchar2(20)
    );

    ---------------------1. 主键约束------------------------
    -- 方式一:不推荐的方式,第一种方式主键的名字是由系统自定义的,不好区别
    create table student
    (
    stuno int primary key,
    stuname varchar2(50),
    sex char(1),
    age int,
    birthday date,
    email varchar2(50),
    telephone varchar2(20)
    );
    -- 方式二:推荐
    create table student
    (
    stuno int,
    stuname varchar2(50),
    sex char(1),
    age int,
    birthday date,
    email varchar2(50),
    telephone varchar2(20),
    constraint pk_stuno primary key(stuno)
    );
    -- 方式三:推荐,当表创建成功之后,写一条语句新增主键
    alter table student add constraint pk_stuno primary key(stuno);

    -----------------------------2. 唯一约束----------------------------
    -- 方式一:不推荐
    create table student
    (
    stuno int primary key,
    stuname varchar2(50),
    sex char(1),
    age int,
    birthday date,
    email varchar2(50) unique,
    telephone varchar2(20) unique
    );
    -- 方式二:推荐
    create table student
    (
    stuno int,
    stuname varchar2(50),
    sex char(1),
    age int,
    birthday date,
    email varchar2(50),
    telephone varchar2(20),
    constraint pk_stuno primary key(stuno),
    constraint uq_email unique(email),
    constraint uq_telephone unique(telephone)
    );
    -- 方式三 alert(js)
    alter table student add ....


    -----------------------------3. 非空约束--------------------------
    -- 方式一:推荐
    create table student
    (
    stuno int,
    stuname varchar2(50),
    sex char(1),
    age int,
    birthday date not null,
    email varchar2(50),
    telephone varchar2(20),
    constraint pk_stuno primary key(stuno),
    constraint uq_email unique(email),
    constraint uq_telephone unique(telephone)
    );
    -- 方式二:看看
    alter table student modify age not null;


    ----------------------------4. 默认约束--------------------------
    --推荐方式:默认约束,当插入的值为null的时候,用默认值代替
    create table student
    (
    stuno int,
    stuname varchar2(50),
    sex char(3) default '男',
    age int,
    birthday date not null,
    email varchar2(50),
    telephone varchar2(20),
    constraint pk_stuno primary key(stuno),
    constraint uq_email unique(email),
    constraint uq_telephone unique(telephone)
    );


    -------------------------5. 检查约束----------------------
    --check约束:检查值是否符合范围
    --方式一:
    create table stuinfo
    (
    stuno int,
    stuname varchar2(50),
    sex varchar2(10) check (sex in ('男','女')),
    sex1 varchar2(10) check (sex1 = '男' or sex1 = '女'),
    age int check(age >0 and age<=100),
    age1 int check(age1 between 0 and 100)
    )
    --方式二:
    create table stuinfo
    (
    stuno int,
    stuname varchar2(50),
    sex varchar2(10) check (sex in ('男','女')),
    sex1 varchar2(10) check (sex1 = '男' or sex1 = '女'),
    age int check(age >0 and age<=100),
    age int check(age between 0 and 100),
    constraint ck_sex check(sex in ('男','女'))
    )
    --方式三
    alter table stuinfo add constraint....


    ------------------------------6. 外键约束---------------------------------
    --外键一定是另外一张表的主键
    alter table stuinfo add constraint fk_stuno foreign key(stuno) references student(stuno)

    -- 插入语句
    -- sysdate:获取当前系统时间
    insert into student(stuno,stuname,age,email,telephone,birthday)
    values(2,'lucy',12,'lucy@126.com','110',sysdate);
    insert into student(stuno,stuname,age,email,telephone,birthday)
    values(3,'jack',12,'jack@126.com','111',sysdate);
    insert into student(stuno,stuname,age) values(1,'lucy',12);

    -- 删除表
    drop table student;
    select * from student;

    -- 修改数据
    update student set stuname = 'jack',sex='男',age=21,email = 'jack@163.com' where stuno=2;

    -- 删除数据
    delete from student where stuno=2
    -- 删除所有
    delete from student
    -- 删除所有
    truncate table student

  • 相关阅读:
    HTML DOM 06 节点关系
    HTML DOM 05 事件(三)
    HTML DOM 05 事件(二)
    HTML DOM 05 事件(一)
    html DOM 04 样式
    html DOM 03 节点的属性
    html DOM 02 获取节点
    html DOM 01 节点概念
    JavaScript 29 计时器
    JavaScript 28 弹出框
  • 原文地址:https://www.cnblogs.com/javaWHL/p/10308882.html
Copyright © 2011-2022 走看看