zoukankan      html  css  js  c++  java
  • DML DDL

    DDL

    1.SQL分为5大类:
    DDL:数据定义语言
    DCL:数据控制语言
    DML:数据操纵语言
    DTL:数据事务语言
    DQL:数据查询语言

    2.DDL(data definition language):create,drop,alter,rename to

    创建表格分为两个步骤:
    a.定义列和数据类型
    b.添加约束

    数据类型:
    1.数字类型,可以做所有的数学运算
    number
    number(4)代表整数,最大能存9999
    number(7,2)代表double类型,整数长度为5,小数位2

    2.字符型,可以做拼接运算
    char(20) 定长
    varchar2(20) 不定长,表示字符窜最长是20
    注意:字符串在数据库中用''

    3.日期类型,可以做加减运算
    Date 年月日时分秒
    Time 时分秒
    Timestamp 年月日时分秒,还有小时位,如1.2秒

    4.大数据类型
    clob character large object 大字符型对象,最大可存4G
    blob binary large object 大二进制对象,最大可存4G
    注意:大数据类型不支持查看结果






    约束(constraint)
    作用:约束表格中是数据,相对于数据类型而言,用来进一步限定表中的数据,使得添加到表中的数据都是合法有效的,符合业务需求的数据,不会出现无效数据


    3.Oracle中的5种约束类型
    primary key PK 含义:主键约束,非空唯一(表中最多只能含有一个主键约束)
    not null NN 含义:非空
    unique UK 含义:唯一
    check CK 含义:自定义约束(往往用来定义业务的约束,如分数不能为负)
    foreign key FK 含义:外键约束(表示此列的值是引用自己的或其他表的主键)
    注意:能够被外键所引用的列,其本身也必须是主键约束或唯一性约束


    4.创建表格的第一种方法:
    语法:
    create table 表名(
    列名 数据类型(默认值) 约束,
    列名 数据类型(默认值) 约束,
    列名 数据类型(默认值) 约束
    );

    例:
    --创建用户表(无约束)
    create table tbl_user(
    id number(6),
    name varchar2(25),
    password varchar2(25)
    );

    注意:在创建表格时,如果不定义约束的名字,则数据库会给约束提供默认名字,并且把这些内容存储到数据库字典中

    添加约束名的语法:
    constraint 约束名 约束类型;
    约束名的命名规范:
    表名_列名_约束类型缩写;

    --创建用户表(有约束)

    DML(insert,update,delete)

    1.插入数据
    insert into 表名(列,列...)values(值,值...)
    //当插入的数据与表格一一对应时,列可以省略
    insert into 表名 values(值,值...)

    例如:--给tbl_user表中添加一条记录
    insert into tbl_user values (22,'刘强东','123456');


    2.更新数据
    update 表名 set 列=新值 where 条件;

    例如:--修改tbl_user表中第二行记录的用户名
    update tbl_user username = '章泽天' where id = 2;


    注意:修改操作千万要注意条件!!!

    3.删除数据
    delete 表名 where 条件

    例如:删除用户表格第三行
    delete tbl_user where id = 4;

    --删除用户表格第三行的密码

    注意:此处不能违反约束

    --------------------------------------------
    DML语句和DDL语句的差别
    1.DML语句不会自动提交,也就是说当运行完DML语句后,数据库中真实的数据还没有发生变化,当前自己事务中看到的仅仅是内存中的情况,所以此时,另外一个事务是无法看到修改结果的。
    如果要把修改后的结果同步到数据库中,则必须手动使用如下命令:
    --提交数据,把内存中的数据提交同步到数据库中
    commit;

    即:一个事务无法读取到另一个事务还没有提交的数据!!!

    注意:plsql中默认情况下DML 语句会自动提交

    --回滚操作,撤销还没有提交的操作
    rollback 回滚点名字;

    --设置回滚点【不需要掌握】
    savepoint 回滚点名字


    2.DDL语句是自动提交的

  • 相关阅读:
    JavaWeb 之 表单重复提交问题
    JavaWeb 之 验证码
    JavaScript 之 AJAX 请求
    JavaWeb 之 i18N 国际化
    JavaWeb 之 Gson 的使用
    JavaScript 之 JSON 对象
    JavaWeb 之 由 Tomcat 展示友好的错误信息页面
    【LeetCode-动态规划】完全平方数
    【LeetCode-递归】至少有K个重复字符的最长子串
    【LeetCode-设计】常数时间插入、删除和获取随机元素
  • 原文地址:https://www.cnblogs.com/Heng23/p/7799792.html
Copyright © 2011-2022 走看看