• Oracle-SQL 建表


    建立员工分类表;

    员工分类表结构、内容分别如下图:

     

    一、使用PL/SQL Dev 这类可视化工具直接创建表

    1.建立表结构

    新建-table-名称(egrade)

       

    然后 列:创建表结构

    2. 输入表数据

    有两种方式

    ①右击关键字 egrade ,选择编辑数据,手动添加数据

    1.

    2.

    3.

    ② sql 语句输入数据

    insert into hr.egrade(e_grade, hire_start, hire_end) values ('B',to_date('20030101','yyyymmdd'),to_date('20041231','yyyymmdd'));

    运行结果:

    3.删除表数据

    再运行以下语句,得到完整的员工分类表

     insert into hr.egrade(e_grade, hire_start, hire_end) values ('C',to_date('20050101','yyyymmdd'),to_date('20061231','yyyymmdd'));
    
     insert into hr.egrade(e_grade, hire_start, hire_end) values ('D',to_date('20070101','yyyymmdd'),to_date('20081231','yyyymmdd'));

    ①假设最后一个语句运行两次,D分类重复了:

    输入 语句:

    select *
    from hr.egrade for update;

    然后把锁打开,- 去重复行,打完对勾,把锁带上

    结果如上。

    ② 把整个表删除

    drop table hr.egrade

    二、使用 create table 语句创建表

    举例说明:

    1.创建person表
    -id 主键
    -name 唯一
    -sex 默认值男
    -age 0-100
    -birthday
    -address 不能为空

     1 create table person
     2        (ps_id          number(4) ,
     3         ps_name        varchar2(25),
     4         ps_sex         varchar2(25)    default '',    
     5         ps_age         number(2),
     6         ps_bir         varchar2(25),
     7         ps_add         varchar2(50)    not null,
     8         constraint ps_id_pk primary key(ps_id),
     9         constraint ps_name_uk unique(ps_name),
    10         constraint ps_age_range check(ps_age>=0 and ps_age<=100)
    11        )

    查询

    select * from sys.person

    插入一条数据

    1 insert into sys.person(ps_id, ps_name, ps_age, ps_bir, ps_add)
    2 values (1001,'jiaxinwei',20,to_date('19980104','yyyymmdd'),'NY,CN')

    删除某条数据

    delete sys.person where ps_id = 1001

    删除表内所有数据

    delete sys.person

    添加某个字段

    alter table sys.person 
          add(ps_love varchar2(25) default 'yes')

    修改字段

    alter table sys.person
          modify(ps_love varchar2(10) default 'no')

    (可以用MODIFY 修改一个字段,可以修改该字段的数据类型、大小、默认值;不过对默认值的修改只会影响后来插入表的数据)

    删除字段

    alter table sys.person
          drop(ps_love)

    处于安全考虑,无法删除sys 中的列。但是此语法可以删除其他用户表中的列。

  • 相关阅读:
    「NOIP 2017」列队
    java基础-略知一二
    重磅发布!阿里云推PostgreSQL 10 高可用版
    双11奇迹背后的大数据平台,不喧哗,自有声!
    深度解析双十一背后的阿里云 Redis 服务
    双11大考 POLARDB分钟级弹性让企业轻松扩展
    双十一流量洪峰 支撑阿里核心业务的云数据库揭秘
    双十一高并发场景背后的数据库RDS技术揭秘
    直击KubeCon 2018 |云原生正在改变你的衣食住行
    一文带你领略虚拟化领域顶级技术会议KVM Forum 2018
  • 原文地址:https://www.cnblogs.com/jiaxinwei/p/10255623.html
Copyright © 2020-2023  润新知