• DDL(数据定义语言)


    1.Oracle中常见的数据类型分类:(A)

    1.number(x,y) 数字类型,x表示最大长度,y表示精度
    对应java中除char外所有基本数据类型(byte、short、int、long、float、double、boolean)
    2.varchar2(x) 可变字符串,x表示最大长度。对应java中String
    3.char(x) 定长字符串,x表示最大长度。 对应java中String
    4.long 长字符串,最大2G。对应java中String
    5.Date,日期(年月日时分秒)对应java.sql.Date和java.sql.Time
    6.TIMESTAMP 时间戳,精确到微秒 对应javal.sql.Timestamp

    2.DDL的概念:(C)

    数据定义语言DDL( Data definition language ):是SQL语言的一个分类,用于对数据库对象(表、视图序列等)进行创建、修改、删除等操作。
    通过以下几个关键字实现:
    CREATE(新建)、 ALTER(修改) DROP(删除) RENAME(重命名) TRUNCATE(截断)

     

    3.create关键字:(A)

    3.1 作用:

    用于创建数据库对象(表、视图、序列等)。

    3.2 语法:

    语法1:create table 表名(列1 数据类型, 列2 数据类型,...,列N 数据类型)
    例:

    --直接创建一张新的表
    create table t_user (id number,username varchar2(30),password varchar2(30));

        

    语法2:create table 表名 as 子查询
    例:

    --创建一个表查询结果的复制表
    --因为where条件1=2始终不成立,所以只复制表结构
    create table t_emp as (select * from emp where 1=2);
    --如需复制整张表不写where子句即可

    4.alter 关键字:(A)

    4.1 作用:

    用于修改数据库对象(表、视图、序列等)。

    4.2 语法:

    alter table 表名 [modify/add/drop] (列 数据类型)
    modify:修改/add:增加/drop:删除
    例:

    --modif 一般用于修改列的数据类型或长度
    alter table t_emp modify (ename varchar2(10));
    
    --add 用于添加列
    alter table t_emp add(phone varchar2(11));
    
    --drop 用于删除列,因为删除不用管数据类型,所以不用指定数据类型
    alter table t_emp drop(phone);

    5.drop 关键字

    5.1作用:

    用来删除数据库的对象(表,视图,序列,索引等)

    5.2语法:

    drop table 表名
    例:

    drop table t_emp;

    6.视图:(B)

    6.1 概念:

    视图(view),也称虚表, 不占用物理空间,这个也是相对概念,因为视图本
    身的定义语句还是要存储在数据字典里的。视图只有逻辑定义。每次使用
    的时候, 重新执行调用视图定义语句中的SQL语句。

    6.2 作用:

    将一些查询复杂的SQL语句变为视图,便于查询。

    6.3 语法:

    create [or replace] view v$_name
    as 子查询
    [with read only]

    or replace:覆盖原有视图,一般不添加
    with read only:只读,一般建议添加

    6.4需要注意的点:

    1.视图也可以从视图中产生
    2.我们把用于产生视图的表称之为基表
    3.我们对视图进行数据修改就是对基表进行数据修改,反之亦然
    4.不能对多张表的数据,通过视图进行修改。

    7.序列(B)

    7.1 概念:

    序列是oracle中专有的对象,它用来产生一个自动递增的数列。

    7.2创建序列的语法:

    create sequence 序列名
    increment by n --每次递增n
    start with m --从m开始
    例:

    --从1开始每次递增1
    create sequence seq_emp_temp
    increment by 1
    start with 1

    7.3 使用序列:

    序列名.nextval :下一个值
    序列名.currval : 当前值
    例:

    insert into emp_temp(empno) values(seq_emp_temp.nextval)
  • 相关阅读:
    前后端分离后的前端时代
    解决input[type=file]打开时慢、卡顿问题
    es6快速入门
    jsonp的原理和实现
    减少前端代码耦合
    【css技能提升】css高级技巧
    vetur插件提示 'v-for' directives require 'v-bind:key' directives.错误的解决办法
    ES6的开发环境搭建
    netCore webapi Uow实现方式
    netcore webapi统一配置跨域问题
  • 原文地址:https://www.cnblogs.com/gaojinshun/p/10740414.html
Copyright © 2020-2023  润新知