最近做的一個項目,數據庫用的是MySql,對于MySql不是很熟練,只是會簡單的應用,畢竟簡單的sql語句還是相通的,但是隨著項目的深入復雜的sql語句開始慢慢多起來,其中一個小難點就是要根據當天的日期動態創建表,并且向其中插入數據。
具體邏輯可以理解為,先去數據庫查詢有沒有當天的記錄表,如果沒有則創建表,然后執行當天的日志寫入。
Mysql的可視化工具我們用的是navicat,相對來說還是比較好用,當然沒有sqlserver 那么人性化(很多快捷鍵不支持,操作累贅)。下面我就來說一說用navicat如何動態創建數據庫表并且插入數據。
一:創建存儲過程
二:用concat函數拼接動態創建表的語句并執行
三:同樣用concat函數拼接向動態創建的表寫入數據的語句并執行
因為數據庫表都是固定前綴加當前日期的形式,所以無論創建表還是寫入數據其實都是根據動態表來的,所以不能向原來那種固定表一樣來寫簡單的insert 語句,另外,傳給存儲過程的參數id,并不能直接傳給存儲的insert語句,會報sql語句錯誤,所以需要引入局部參數,可能并不是最好的辦法,但是目前作者還沒找到更好的寫法,如果大家有什么更好的或者覺得哪里可以改進的希望多多交流。
對于mysql,我們不可忽視其強大,mysql還有很多需要學習的,接下來既然每天都動態生成記錄表了,那么肯定需要一個job,來按照一定的時間規律來清除或者備份數據庫表,接下來就要研究mysql的job,慢慢來,要學的還很多。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com