mysql数据库动态创建表_MySQL
bitsCN.com
mysql数据库动态创建表 大家一般可能很少有这种需求吧,我以前也没有遇到过,但这次做项目需要这么做。 就是表的字段名和字段数都不是固定的,要根据需要来创建。 这是我的创建形成过程,大家照着演示一下就知道了我的动态表的来龙去脉了。 第一步.创建相关表 /*---建立所有指标信息的临时表---*/ drop table if exists INTERBANKBONDQUOTE_SClass; create table INTERBANKBONDQUOTE_SClass ( Name varchar(50) not null, id int Primary key, Parent int, Value varchar(50) );
insert into INTERBANKBONDQUOTE_SClass(Name,id,Value)values('最新成交', 0,''); insert into INTERBANKBONDQUOTE_SClass(Name,id,Value)values('买入信息', 1,''); insert into INTERBANKBONDQUOTE_SClass(Name,id,Value)values('买卖价差', 2,''); insert into INTERBANKBONDQUOTE_SClass(Name,id,Value)values('卖出信息', 3,''); insert into INTERBANKBONDQUOTE_SClass(Name,id,Parent,Value)values('中债最新估值', 4, -1,''); insert into INTERBANKBONDQUOTE_SClass(Name,id,Value)values('含权债行权指标', 5,''); insert into INTERBANKBONDQUOTE_SClass(Name,id,Value)values('基础指标', 6,''); insert into INTERBANKBONDQUOTE_SClass(Name,id,Value)values('双边报价笔数', 7,''); insert into INTERBANKBONDQUOTE_SClass(Name,id,Parent,Value)values('报价方', 8, 1, 'col4'); insert into INTERBANKBONDQUOTE_SClass(Name,id,Parent,Value)values('报价方会员号', 9, 1, 'col5'); insert into INTERBANKBONDQUOTE_SClass(Name,id,Parent,Value)values('报价时间', 10, 1, 'col6'); insert into INTERBANKBONDQUOTE_SClass(Name,id,Parent,Value)values('匿名', 11, 1, 'col7'); 第二步:/*---建立显示数据表格标题的表---*/ drop table if exists INTERBANKBONDQUOTE_T; create table INTERBANKBONDQUOTE_T as select concat('/'',a.Name,',',b.Name,'/' __TITLE__',b.Value); 第三步: 这里有两种实现方法。因为在mysql中,这时的变量长度受到了限制 ,本来应该longtext足够长的,可实际只返回了限制长度的。如果字段太多了,就要用第二种方法。 存储过程A: 这里变量返回值长度受限,字段不多时可以。 DELIMITER $$ DROP PROCEDURE IF EXISTS `dzhappdb_bond`.`INTERBANKBONDQUOTE_TSP`$$ CREATE PROCEDURE INTERBANKBONDQUOTE_TSP () BEGIN DECLARE objs1 TEXT; DECLARE objs TEXT; SELECT GROUP_CONCAT(col1) INTO objs1 FROM T; SET objs =CONCAT('CREATE TABLE Title AS SELECT ',objs1); SET @sql_txt = objs;
PREPARE stmt FROM @sql_txt; EXECUTE stmt; DEALLOCATE PREPARE stmt; END$$ call INTERBANKBONDQUOTE_TSP; 存储过程B:这样不管字段多少,只要数据库支持就可以创建成功。但不如第一个方法简洁。 DROP PROCEDURE IF EXISTS INTERBANKBONDQUOTE_TSP_Title; drop table if EXISTS Title; CREATE PROCEDURE INTERBANKBONDQUOTE_TSP_Title() proc:begin DECLARE add_sql LONGTEXT; DECLARE insert_sql LONGTEXT; DECLARE nhh_sql varchar(200); DECLARE column_name varchar(100); DECLARE column_value varchar(100); DECLARE mycount int; DECLARE len int; DECLARE strlen int; DECLARE cursor_Title CURSOR for select col1 from INTERBANKBONDQUOTE_T; create table Title(mid int); insert into Title values (100); select count(col1) into @mycount from INTERBANKBONDQUOTE_T; OPEN cursor_Title; REPEAT FETCH cursor_Title INTO nhh_sql; begin set @mycount=@mycount-1; set @strlen=CHARACTER_LENGTH(nhh_sql); set @len=INSTR(nhh_sql,' '); set @column_name=RIGHT(nhh_sql,@strlen-@len); set @column_value=LEFT(nhh_sql,@len); set @add_sql=CONCAT('ALTER table Title add COLUMN ',@column_name,' varchar(100)'); set @insert_sql=CONCAT('update Title set ',@column_name,'=',@column_value,' where mid=100'); PREPARE stmt1 FROM @add_sql; EXECUTE stmt1; PREPARE stmt2 FROM @insert_sql; EXECUTE stmt2; DEALLOCATE PREPARE stmt1; DEALLOCATE PREPARE stmt2; end; until @mycount

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

您可以透過計算影像每秒更新的次數來衡量螢幕的更新率。 DRR 是 Windows 11 中包含的一項新功能,可幫助您節省電池壽命,同時仍提供更流暢的顯示,但當它無法正常工作時也就不足為奇了。隨著越來越多的製造商宣布計劃停止生產 60Hz 顯示器,具有更高更新率的螢幕預計將變得更加普遍。這將導致更流暢的滾動和更好的遊戲,但它會以減少電池壽命為代價。但是,此 OS 迭代中的動態更新率功能是一個漂亮的附加功能,可以對您的整體體驗產生重大影響。繼續閱讀,我們將討論如果 Windows 11 的動態更新率未

在iPhone上,Apple 的螢幕錄製功能會錄製您在螢幕上所做的事情的視頻,如果您想捕捉遊戲玩法、引導他人完成應用程式中的教程、演示錯誤或其他任何事情,這非常有用。在顯示器頂部有凹口的舊款 iPhone 上,該凹口在螢幕錄製中不可見,這是應該的。但在具有 Dynamic Island 切口的較新 iPhone 上,例如 iPhone 14 Pro 和 iPhone 14 Pro Max,Dynamic Island 動畫顯示紅色錄製指示器,這導致切口在捕獲的影片中可見。這可能會

在建立虛擬機器時,系統會要求您選擇磁碟類型,您可以選擇固定磁碟或動態磁碟。如果您選擇了固定磁碟,後來意識到需要動態磁碟,或者相反,該怎麼辦?好!你可以把一種轉換成另一種。在這篇文章中,我們將看到如何將VirtualBox固定磁碟轉換為動態磁碟,反之亦然。動態磁碟是一種虛擬硬碟,它最初具有較小的大小,隨著您在虛擬機器中儲存數據,其大小會相應增長。動態磁碟在節省儲存空間方面非常高效,因為它們只佔用所需的主機儲存空間。然而,隨著磁碟容量的擴展,可能會稍微影響電腦的效能。固定磁碟和動態磁碟是虛擬機器中常用的

如果要在Windows11中將動態磁碟轉換為基本磁碟,則應先建立備份,因為該程序將擦除其中的所有資料。為什麼要在Windows11中將動態磁碟轉換為基本磁碟?根據Microsoft,動態磁碟已從Windows中棄用,不再建議使用。此外,Windows家庭版不支援動態磁碟,因此您將無法存取這些邏輯磁碟機。如果要將更多磁碟合併到更大的磁碟區中,建議使用基本磁碟或儲存空間。在本文中,我們將向您展示如何在Windows11上將動態磁碟轉換為基本磁碟如何在Windows11中將動態磁碟轉換為基本磁碟?在開始

想像一下,您正在系統上尋找某些東西,但不確定要開啟或選擇哪個應用程式。這就是動態磁貼功能發揮作用的地方。任何支援的應用程式的動態磁貼都可以添加到桌面或Windows系統的開始功能表上,其磁貼經常變化。 LiveTiles讓應用程式小工具變得活躍起來,非常令人愉悅。不僅是為了它的外觀,甚至是為了方便。假設您在系統上使用whatsapp或facebook應用程序,如果在應用程式圖示上顯示通知數量不是很方便嗎?如果將任何此類受支援的應用程式新增為動態磁貼,則這是可能的。讓我們看看如何在Windows

微軟在Windows10中引入了快速訪問,並在最近發布的Windows11作業系統中保留了該功能。快速存取取代了檔案總管中的收藏系統。這兩個功能之間的核心區別之一是快速存取在其清單中添加了一個動態元件。有些資料夾永久顯示,而其他資料夾則根據使用情況顯示。固定資料夾顯示有一個大頭針圖標,動態資料夾沒有這樣的圖標。您可以在此處查看我的收藏夾和快速訪問之間的比較,以了解更多詳細資訊。快速存取比收藏夾更強大,但動態資料夾清單為其添加了混亂元素。可能會顯示無用或不應在檔案總管中反白顯示的文件

什麼是 Windows 11 上的動態鎖定?動態鎖定是 Windows 11 的功能,可在連接的藍牙裝置(您的手機或穿戴裝置)超出範圍時鎖定您的電腦。即使您在離開時忘記使用 Windows 鍵 + L 快捷鍵,動態鎖定功能也會自動鎖定您的 PC。 Dynamic Lock 使用任何有藍牙的連接設備,但最好使用電池電量和續航里程充足的設備,例如您的手機。一旦您的裝置在 30 秒內無法觸及,Windows 將自動鎖定螢幕。將藍牙裝置與 Windows 11 配對要讓一切正常運作,您需要先將

如何使用HTML、CSS和jQuery製作一個動態的圖片輪播在網站設計和開發中,圖片輪播是一個經常使用的功能,用於展示多張圖片或廣告橫幅。透過HTML、CSS和jQuery的結合,我們可以實現一個動態的圖片輪播效果,為網站增加活力和吸引力。本文將介紹如何使用HTML、CSS和jQuery製作一個簡單的動態圖片輪播,並提供具體的程式碼範例。第一步:設定HTML結
