日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql sqlite 语法_浅谈sqlite与mysql的数据库语法差异_沃航科技

發布時間:2023/12/20 数据库 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql sqlite 语法_浅谈sqlite与mysql的数据库语法差异_沃航科技 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

由于一些原因,小沃將自己的官方網站從原來的阿里云遷移到了justg的vps上,服務器配置也從原理的1核1G變為了1核512M。雖然服務器性能所有下降,但是畢竟小沃的官網是使用了百度的cdn的,因此應付高并發還是沒有什么問題的??紤]到服務器性能的下降,小沃決定做一件一直想做但是又沒有做的事情---將網站從使用mysql數據庫改為使用sqlite數據庫。至于為什么要做這個調整,主要是考慮到置于cdn后的網站并發本來就不可能高,而且sqlite數據庫在idle狀態下消耗內存是0,對于內存降低的小沃所用官網服務器,還是比較合適的。

由于小沃官網原來連接數據庫用的就是pdo,因此從mysql改為sqlite基本沒什么難度,下面介紹下mysql與sqlite的語法差異。

1、left join與left out join

在mysql中有內連接,左連接,右連接,交叉連接4種連接,但是sqlite中沒有右連接。并且寫法有所不同。

可以直接寫成out join或是left out join,但是mysql中最長用的left join卻無法被識別。

2、不支持md5等加密函數

在mysql中可以直接使用MD5這個函數由數據庫幫我們計算,但是sqlite中,這個函數原生不支持。因此最好不要直接使用這個函數。

3、沒有NOW()函數,CURRENT_TIMESTAMP也是格林時間的表達方式

當使用datetime類型的時候,常常將默認值設置為NOW()或是CURRENT_TIMESTAMP,但是你會發現,生成的默認時間永遠比實際使用晚8小時。因此遇到這個問題,官方的建議是將默認值設置為datetime('now', 'localtime'),具體設置方式如下:create?table?log(

logtime?TIMESTAMP?NOT?NULL?DEFAULT?(datetime('now',?'localtime')

)

4、創建表時主鍵不能用unsigned big int

在mysql中,主鍵一般會設置為自增長,并且類型使用unsigned big int,但是在sqlite中,要想自增長就必須設置為INTEGER型。

文章作者:沃航科技

總結

以上是生活随笔為你收集整理的mysql sqlite 语法_浅谈sqlite与mysql的数据库语法差异_沃航科技的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。