mysql實現插入數據到分表

来源:http://www.cnblogs.com/NiceTime/archive/2017/04/04/6664516.html
-Advertisement-
Play Games

use mysql;/*創建原始數據表*/DROP TABLE IF EXISTS `articleinfo`;CREATE TABLE `articleinfo`(`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,`title` VA ...


use mysql;
/*創建原始數據表*/
DROP TABLE IF EXISTS `articleinfo`;
CREATE TABLE `articleinfo`(
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
`title` VARCHAR(20) DEFAULT NULL,
`content` VARCHAR(20) DEFAULT NULL,
`comment_time` VARCHAR(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;

/*創建存儲過程來新增部分數據到原始數據表*/
delimiter $$
drop procedure if exists proc_articleinfo;
create procedure proc_articleinfo()
begin
declare i int;
set i=1;
while(i<=32) do
insert into articleinfo(title,content,comment_time)
values (concat('資料庫基礎',i),concat('努力學習基礎知識',i%4),DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%S'));

set i=i+1;
end while;
end;
$$
delimiter ;

/*調用存儲過程*/
call proc_articleinfo();


/*創建分表 */
DROP TABLE IF EXISTS `tb_articleinfo_0`;
CREATE TABLE `tb_articleinfo_0`(
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
`title` VARCHAR(20) DEFAULT NULL,
`content` VARCHAR(20) DEFAULT NULL,
`comment_time` VARCHAR(20) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
CREATE TABLE `tb_articleinfo_1` LIKE `tb_articleinfo_0`;
CREATE TABLE `tb_articleinfo_2` LIKE `tb_articleinfo_0`;
CREATE TABLE `tb_articleinfo_3` LIKE `tb_articleinfo_0`;


/*創建主表*/
DROP TABLE IF EXISTS `tb_articleinfo`;
CREATE TABLE `tb_articleinfo`(
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
`title` VARCHAR(20) DEFAULT NULL,
`content` VARCHAR(20) DEFAULT NULL,
`comment_time` VARCHAR(20) DEFAULT NULL,
index(`id`)
) ENGINE=MRG_MYISAM UNION=(`tb_articleinfo_0`,`tb_articleinfo_1`,`tb_articleinfo_2`,`tb_articleinfo_3`) INSERT_METHOD=LAST DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;


/*插入數據到分表*/
insert into tb_articleinfo_0(title,content,comment_time)
select title,content,comment_time from articleinfo where id%4=0;

insert into tb_articleinfo_1(title,content,comment_time)
select title,content,comment_time from articleinfo where id%4=1;

insert into tb_articleinfo_2(title,content,comment_time)
select title,content,comment_time from articleinfo where id%4=2;

insert into tb_articleinfo_3(title,content,comment_time)
select title,content,comment_time from articleinfo where id%4=3;

commit;

/*查詢數據*/
select * from articleinfo;
select * from tb_articleinfo_0;
select * from tb_articleinfo_1;
select * from tb_articleinfo_2;
select * from tb_articleinfo_3;


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 身為一個iOS程式員,雖然iOS相關技術十分重要,但是bash也是不可不瞭解的,因為技能的成長,除了深度,還需要廣度。下麵就來介紹下bash。 Shell是C語言編寫的,所以他是解釋性語言,運行在Linux系統下,在Mac下,一般使用的是bashell。 bashell都是運行在Terminal下, ...
  • Android 編程時我們少不了使用FindIdByView函數,在Xamarin Android開發時也需要如此。這個工作很無聊且煩人。在常規Android開發中,人們已經發明瞭一些方法免除這項工作,例如Android數據綁定,還有butterknife,都可以解決這個問題。關於它們我不去細說了。 ...
  • 總是用模擬器,小破本的渣記憶體無法承受,同時模擬器的版本大多停在4.4,無法體現Android 5.0、6.0 的版本特性,因此決定利用 Android Studio 的插件實現真機無線調試。 步驟如下: 1. 手機開啟 USB 調試模式 :把手機通過 USB 數據線連接到電腦,開啟 USB調試,步驟 ...
  • 作者:Antonio Leiva 時間:Mar 28, 2017 原文鏈接:https://antonioleiva.com/lambdas-kotlin-android/ 雖然,我在其它文章講過一點Lambda表達式,我願意更深層次解釋Kotlin中Lambda表達式是怎樣工作的,以及當我們用Ja ...
  • 一、推流 1. 概念 推流,就是將採集到的音頻,視頻數據通過流媒體協議發送到流媒體伺服器。 2. 推流過程 推流前的工作:採集,處理,編碼壓縮 推流中做的工作: 封裝,上傳 3. 推流框架介紹 LFLiveKit (推薦):由Adobe公司開發。框架已經實現了 後臺錄製、美顏功能,支持H264(視頻 ...
  • Base class for maintaining global application state. You can provide your own implementation by creating a subclass and specifying the fully-qualified ...
  • 2017-04-02 鍵 類型 值 說明 Localization native development region String China/Canada/Japan/United State等 本地化,設成相應的值後,App中的顯示語言等信息變為相應國家的語言 Bundle display n ...
  • mysql主從複製原理 1)在mysql主庫上,將改變記錄到二進位日誌(binary log)中。 2)在mysql從庫上,IO線程將mysql主庫上二進位日誌(binary log)複製到中繼日誌(replay log)中。mysql從庫上開啟1個IO線程,併在mysql主庫上打開一個連接,然後開 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...