zoukankan      html  css  js  c++  java
  • 数据库常忽略小问题汇总

    1.数据库查找信息--找不到该信息

    使用情况:在使用数据库时,在用sql进行查询时,需要注意数据库字段下的关键字的大小写,不匹配可能查不到(需要多了解各数据库知识-是否支持大小写不敏感);

    2.数据库sql插入数据失败

    需要注意数据库的主键,否则插入会出错,查询也会出错

    3.截取字符串函数substr的使用(区别于java中的substring方法,容易混淆)

    如下,这里需要注意第三个参数的含义,是截取的位数,而不是位置;

    函数中各参数含义:substr(要截取的字符串,截取的起始位置,截取的位数);

    举例:substr('1234',1,3)='123';  substr('123456789',3,4)='3456';如图:

    4.sql中的leftjoin关键字

    left join 是left outer join的简写,left join默认是outer属性的

    5.在oracle中对某一列进行排序并且取第一条

    可以使用:select code from (select * from table a order by id desc) where rownum=1;

    但是这里容易报错:如果在table 的查询过程中,使用了外面一层的字段,则会报错;

    update table b set b.x1 = (select x1 from (select * from table a where b.xs = a.xs order by a.id desc) where rownum=1);

    一般的解决问题方法就是使用max等函数直接取到排序后相应的第一条记录:

    update table b set b.x1 = (select max(x1) from (select * from table a where b.xs = a.xs));

    6.关键字判断case when的使用

    进行判断的时候,使用exists会发生错误:case when (select 1 from xxx where exists ..);这种方式会报错,需要判断直接放置判断逻辑就可以;

  • 相关阅读:
    junit单元测试踩过的坑
    Arrays.asList()需要注意的点
    oracle数据库学习笔记
    实训笔记
    spring事务学习笔记
    java锁
    jvm内存模型
    iOS 应用架构 (三)
    iOS 应用架构 (二)
    iOS 应用架构 (一)
  • 原文地址:https://www.cnblogs.com/silence-fire/p/6343681.html
Copyright © 2011-2022 走看看