数据库常忽略小问题汇总
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 ..);這種方式會報錯,需要判斷直接放置判斷邏輯就可以;
轉載于:https://www.cnblogs.com/silence-fire/p/6343681.html
總結
以上是生活随笔為你收集整理的数据库常忽略小问题汇总的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 粉黛眉和雾眉哪个价位高(粉黛眉和雾眉有什
- 下一篇: 使用SQL脚本创建数据库,操作主键、外键