Oracle数据库之DML(数据库管理语言)

DML(数据库管理语言)

插入数据 Insert into

  • 插入一整行的数据

    insert into UserInfo  values('0001','Tom','M');
    insert into UserInfo(*)  values('0002','Misa','F');
    
  • 向指定列插入数据

    Insert into UserInfo(UserInfoID , NickName)  values('0003','Jobs');
    

更新数据 Update ……. set …….

  1. 更新一竖列

    Update  UserInfo  set  sex = 'M' ;
    
  2. 更新指定列

    Update  UserInfo  set  sex = 'M' 
    		where UserInfoID = '0003';
    		
    Update  UserInfo  set  sex = 'M' 
    		where NickName like 'M%';		
    

删除行 Delete

  1. 删除指定行

    Delete UserInfo where  UserInfoID = '0003' ; 
    
    Delete UserInfo where  NickName = 'Misa' ; 
    

  1. 删除所有行(整个表)

    Delete   UserInfo  ;   ----删除整个表,但会保留有日志。
    

E-R模型

E-R模型,全称叫实体关系模型(Entity - relationship model ,被广泛应用于设计数据库的概念模型。

实体

实体相当于表.

属性

属性相当于字段。比如用户昵称,真名,公司名称,岗位发布时间。

关系

关系描述了实体之间的关联关系,该关系在语义上可以理解为拥有,也可以理解为事物之间的从属关系。

表约束

定义

  • 类型 名称 作用 应用案例
    NOT NULL 非空约束 不为空(必填) 注册时的用户名,密码。
    DEFAULT 默认约束 默认值 比如签名中的“这家伙很懒……”,给数值类型列赋零值,字符串列赋空字符
    UNIQUE 唯一约束 唯一性 账号的唯一性P
    PRIMARY KEY 主键约束 确保行唯一 比如微信注册ID
    FOREIGN KEY 外键约束 降低冗余 比如朋友关系中的所有者编号和朋友编号
    CHECK 检查约束 格式和精度 比如年龄必须在0~150之间,手机号码的长度及格式。

非空约束

  • 
    drop table person ; 
    
    create table person
    (
    	pid  varchar2(18),
        name  varchar2(200)  not null ,
        age  number(3)  not null,
        birthday  date,
        sex  varchar2(4)  default '男',
        constraint  person_pid_pk primary key(pid)
    );
    
    -- 插入数据
    insert into person(pid , name , age , birthday , sex)  values('0001',Null , 38 ,to_date('1976-02-13','yyyy-mm-dd'))  -- 失败  无法将空值插入name
    
    
    

默认约束

  • default 默认值

  • create table person 
    (
    	pid  varchar2(18) primary key,  --主键
        name  varchar2(200)  not null , --非空
        mobile varchar2(12) default '-' unique, --电话号码是唯一的
        sex  varchar2(4) default '男' not null  check(sex = '男' or sex = '女'),   
        age  number(3)  default 0 check(age between 0 and 150) not null,
        sign varchar2(64) default '这家伙很懒......',
    );
    
  • comment on column person.pid is '个人编号';
    comment on column person.name is '昵称';
    comment on column person.mobile is '手机号';
    comment on column person.sex is '性别';
    comment on column person.age is '年龄';
    comment on column person.sign is '个性签名';
    
    

检查约束

  • 列级检查

  • 表级检查

唯一约束

unique

主键约束

施加了主键约束的列,不能插入重复值和空值。

  • 使用主键

  • -- 使用主键
    drop table person ; 
    
    create table person
    (
    	pid  varchar2(18) primary key,
        
        name  varchar2(200)  not null ,
        age  number(3)  not null,
        birthday  date,
        sex  varchar2(4)  default '男',
       
    );
    
  • 指定一列作为主键

    constraint  person_pid_pk primary key(pid)
    
    drop table person ; 
    
    create table person
    (
    	pid  varchar2(18),
        name  varchar2(200)  not null ,
        age  number(3)  not null,
        birthday  date,
        sex  varchar2(4)  default '男',
        constraint  person_pid_pk primary key(pid)  -- 表约束
    );
    
  • 联合主键
    指定多列为主键

外键约束

  • 案例一
  • 在这里插入图片描述
  • 父子表 删除
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_37079157/article/details/109101712