程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySql存儲過程動態創建表並插入數據

MySql存儲過程動態創建表並插入數據

編輯:MySQL綜合教程

MySql存儲過程動態創建表並插入數據


MySql存儲過程動態創建表並插入數據

最近做的一個項目,數據庫用的是MySql,對於MySql不是很熟練,只是會簡單的應用,畢竟簡單的sql語句還是相通的,但是隨著項目的深入復雜的sql語句開始慢慢多起來,其中一個小難點就是要根據當天的日期動態創建表,並且向其中插入數據。

具體邏輯可以理解為,先去數據庫查詢有沒有當天的記錄表,如果沒有則創建表,然後執行當天的日志寫入。

Mysql的可視化工具我們用的是navicat,相對來說還是比較好用,當然沒有sqlserver 那麼人性化(很多快捷鍵不支持,操作累贅)。下面我就來說一說用navicat如何動態創建數據庫表並且插入數據。

一:創建存儲過程

\

二:用concat函數拼接動態創建表的語句並執行

\

三:同樣用concat函數拼接向動態創建的表寫入數據的語句並執行

\

因為數據庫表都是固定前綴加當前日期的形式,所以無論創建表還是寫入數據其實都是根據動態表來的,所以不能向原來那種固定表一樣來寫簡單的insert 語句,另外,傳給存儲過程的參數id,並不能直接傳給存儲的insert語句,會報sql語句錯誤,所以需要引入局部參數,可能並不是最好的辦法,但是目前作者還沒找到更好的寫法,如果大家有什麼更好的或者覺得哪裡可以改進的希望多多交流。

 

對於mysql,我們不可忽視其強大,mysql還有很多需要學習的,接下來既然每天都動態生成記錄表了,那麼肯定需要一個job,來按照一定的時間規律來清除或者備份數據庫表,接下來就要研究mysql的job,慢慢來,要學的還很多。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved