最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL腳本批量自動(dòng)插入數(shù)據(jù)及數(shù)據(jù)可按條件插入實(shí)現(xiàn)

 更新時(shí)間:2024年01月16日 11:34:46   作者:溫水煮小杜  
在初始化數(shù)據(jù)庫或者導(dǎo)入一些數(shù)據(jù)時(shí),常常會(huì)用到批量的操作,本文主要介紹了MySQL腳本批量自動(dòng)插入數(shù)據(jù)及數(shù)據(jù)可按條件插入實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下

1.MySQL腳本批量自動(dòng)插入數(shù)據(jù)(數(shù)據(jù)相同)

要自動(dòng)插入100條數(shù)據(jù),你可以使用循環(huán)來重復(fù)執(zhí)行插入語句。以下是一個(gè)示例腳本:

INSERT INTO 表名 (列1, 列2, 列3, ...) VALUES (值1, 值2, 值3, ...);

具體步驟如下:

  • 將 "表名" 替換為你要插入數(shù)據(jù)的目標(biāo)表的名稱。
  • 將 "列1, 列2, 列3, ..." 替換為需要插入值的目標(biāo)列的名稱列表。
  • 將 "值1, 值2, 值3, ... " 替換為你要插入的具體值。如果有多個(gè)列需要插入不同的值,可以使用循環(huán)生成對(duì)應(yīng)的值。

以下是一個(gè)示例:

-- 假設(shè)有一個(gè)名為 "employees" 的表,表中有 id、name、age 和 salary 四個(gè)列

DELIMITER //

CREATE PROCEDURE InsertData()
BEGIN
   DECLARE i INT DEFAULT 1;
   WHILE i <= 100 DO
      INSERT INTO employees (id, name, age, salary) VALUES (i, CONCAT('John', i), 30, 5000);
      SET i = i + 1;
   END WHILE;
END //

DELIMITER ;

CALL InsertData();

在上述示例中,我們定義了一個(gè)存儲(chǔ)過程 InsertData(),然后使用循環(huán)從1到100插入100條數(shù)據(jù)到 "employees" 表中。

請(qǐng)注意,你需要先創(chuàng)建存儲(chǔ)過程,然后調(diào)用該存儲(chǔ)過程來自動(dòng)插入數(shù)據(jù)。確保已經(jīng)連接到正確的數(shù)據(jù)庫,并具有合適的權(quán)限來執(zhí)行插入操作。

2.MySQL腳本批量自動(dòng)插入數(shù)據(jù)(數(shù)據(jù)不相同)

如果每條數(shù)據(jù)不一樣,你可以使用循環(huán)來生成不同的值,并在每次循環(huán)中使用 INSERT INTO 語句插入新的數(shù)據(jù)。

以下是一個(gè)示例腳本:

-- 假設(shè)有一個(gè)名為 "employees" 的表,表中有 id、name、age 和 salary 四個(gè)列

DELIMITER //

CREATE PROCEDURE InsertData()
BEGIN
   DECLARE i INT DEFAULT 1;
   WHILE i <= 100 DO
      SET @employeeId = i;
      SET @employeeName = CONCAT('John', i);
      SET @employeeAge = FLOOR(RAND()*(65-18+1))+18; -- 隨機(jī)生成18到65歲的年齡
      SET @employeeSalary = FLOOR(RAND()*(10000-3000+1))+3000; -- 隨機(jī)生成3000到10000的工資
      
      INSERT INTO employees (id, name, age, salary) VALUES (@employeeId, @employeeName, @employeeAge, @employeeSalary);
      
      SET i = i + 1;
   END WHILE;
END //

DELIMITER ;

CALL InsertData();

在上述示例中,我們定義了一個(gè)存儲(chǔ)過程 InsertData(),使用循環(huán)生成不同的值,然后在每次循環(huán)中使用 INSERT INTO 語句插入新的數(shù)據(jù)到 "employees" 表中。

請(qǐng)注意,你需要先創(chuàng)建存儲(chǔ)過程,然后調(diào)用該存儲(chǔ)過程來自動(dòng)插入數(shù)據(jù)。在示例中,我們使用了 RAND() 函數(shù)來生成隨機(jī)的年齡和工資值。確保已經(jīng)連接到正確的數(shù)據(jù)庫,并具有合適的權(quán)限來執(zhí)行插入操作。

3.MySQL腳本批量自動(dòng)插入數(shù)據(jù)(數(shù)據(jù)按條件生成) 

如果你想要限定 pay_date_time 列的值在最近五個(gè)月內(nèi),可以使用 DATE_SUB 函數(shù)和 INTERVAL 關(guān)鍵字來生成日期值。
如果 fac_id 列只能為指定的值 167、171、178、179、177、181、182 和 180,你可以使用 CASE WHEN 語句來生成隨機(jī)選擇的值。

以下是一個(gè)相應(yīng)的示例腳本:

INSERT INTO pay_msg (fac_id, pay_type, biz_order_no, order_no, amount, status, channel_pay_time, pay_date_time, buyer_biz_user_id, termrefnum, channel_fee, extend_info, accttype, pay_interface_out_trade_no, termauthno, cus_id, pay_interfacetrxcode, trx_amt, acct, app_id, deleted)
SELECT
   CASE FLOOR(RAND() * 8)
       WHEN 0 THEN '167'
       WHEN 1 THEN '171'
       WHEN 2 THEN '178'
       WHEN 3 THEN '179'
       WHEN 4 THEN '177'
       WHEN 5 THEN '181'
       WHEN 6 THEN '182'
       ELSE '180'
   END,
   CASE FLOOR(RAND() * 3)
       WHEN 0 THEN 'Alipay'
       WHEN 1 THEN 'WeChat Pay'
       ELSE 'Credit Card'
   END,
   CONCAT('KE', FLOOR(RAND()*1000000+100000)),
   CONCAT('PY', FLOOR(RAND()*1000000+100000)),
   FLOOR(RAND() * 1000 + 1),
   CASE FLOOR(RAND() * 2)
       WHEN 0 THEN 'Success'
       ELSE 'Failed'
   END,
   NOW() - INTERVAL FLOOR(RAND() * 30) DAY,
   DATE_SUB(NOW(), INTERVAL FLOOR(RAND() * 4 + 1) MONTH), -- 限定在最近五個(gè)月內(nèi)
   CONCAT('User', FLOOR(RAND()*1000+1)),
   CONCAT('REF', FLOOR(RAND()*1000000+100000)),
   FLOOR(RAND() * 10 + 1),
   CONCAT('Extend', FLOOR(RAND()*1000+1)),
   CASE FLOOR(RAND() * 6)
       WHEN 0 THEN '00'
       WHEN 1 THEN '01'
       WHEN 2 THEN '02'
       WHEN 3 THEN '03'
       WHEN 4 THEN '04'
       WHEN 5 THEN '05'
       ELSE '99'
   END,
   CONCAT('TNO', FLOOR(RAND()*1000000+100000)),
   CONCAT('TAN', FLOOR(RAND()*1000000+100000)),
   CONCAT('CUS', FLOOR(RAND()*1000000+100000)),
   CONCAT('PTC', FLOOR(RAND()*1000+1)),
   FLOOR(RAND() * 1000 + 1),
   CONCAT('ACCT', FLOOR(RAND()*1000000+100000)),
   CONCAT('APP', FLOOR(RAND()*1000000+100000)),
   0 -- 邏輯刪除設(shè)為0,表示未刪除
FROM
   information_schema.tables
LIMIT 50;

在上述示例中,使用 DATE_SUB 函數(shù)和 INTERVAL 關(guān)鍵字限定 pay_date_time 列的值在最近五個(gè)月內(nèi)。使用 FLOOR(RAND() * 4 + 1) 生成一個(gè) 1 到 5 的隨機(jī)整數(shù),作為 INTERVAL 的參數(shù);使用 CASE WHEN 語句來從指定的值中隨機(jī)選擇一個(gè)值賦給 fac_id 列。其他列的生成邏輯與之前的示例相同。

請(qǐng)確保已經(jīng)連接到正確的數(shù)據(jù)庫,并具有合適的權(quán)限來執(zhí)行插入操作。

到此這篇關(guān)于MySQL腳本批量自動(dòng)插入數(shù)據(jù)及數(shù)據(jù)可按條件插入實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)MySQL腳本批量自動(dòng)插入內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL內(nèi)核探秘之主鍵與唯一鍵的深度解析以及設(shè)計(jì)哲學(xué)

    MySQL內(nèi)核探秘之主鍵與唯一鍵的深度解析以及設(shè)計(jì)哲學(xué)

    主鍵和唯一鍵都是用來保證MySQL數(shù)據(jù)表中數(shù)據(jù)完整性的約束,但它們?cè)诒举|(zhì)和使用上存在一些關(guān)鍵區(qū)別,這篇文章主要介紹了MySQL內(nèi)核探秘之主鍵與唯一鍵的深度解析以及設(shè)計(jì)哲學(xué)的相關(guān)資料,需要的朋友可以參考下
    2026-04-04
  • MySQL觸發(fā)器的使用

    MySQL觸發(fā)器的使用

    觸發(fā)器用于在 MySQL 執(zhí)行插入、更新或刪除語句時(shí),自動(dòng)觸發(fā)執(zhí)行其他SQL代碼。本文講解觸發(fā)器的正確使用方式
    2021-05-05
  • MySQL優(yōu)化insert性能的方法示例

    MySQL優(yōu)化insert性能的方法示例

    對(duì)于一些數(shù)據(jù)量較大的系統(tǒng),數(shù)據(jù)庫面臨的問題除了查詢效率低下,還有就是數(shù)據(jù)入庫時(shí)間長(zhǎng)。下面這篇文章主要給大家介紹了關(guān)于MySQL優(yōu)化insert性能的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2018-06-06
  • CentOS 6、7下mysql 5.7 詳細(xì)安裝教程

    CentOS 6、7下mysql 5.7 詳細(xì)安裝教程

    這篇文章主要為大家介紹了CentOS 6、7下mysql 5.7 詳細(xì)安裝教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • MySQL中的整型類型示例詳解

    MySQL中的整型類型示例詳解

    MySQL數(shù)據(jù)庫支持多種數(shù)據(jù)類型,其中數(shù)值類型用于存儲(chǔ)數(shù)字?jǐn)?shù)據(jù),這篇文章主要介紹了MySQL中整型類型的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-10-10
  • 深入mysql慢查詢?cè)O(shè)置的詳解

    深入mysql慢查詢?cè)O(shè)置的詳解

    本篇文章是對(duì)mysql慢查詢?cè)O(shè)置進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • 簡(jiǎn)單學(xué)習(xí)SQL的各種連接Join

    簡(jiǎn)單學(xué)習(xí)SQL的各種連接Join

    sql語句中join是一種高效的語句,下面小編來帶大家詳細(xì)了解一下它的詳細(xì)情況
    2019-05-05
  • centos7環(huán)境下二進(jìn)制安裝包安裝 mysql5.6的方法詳解

    centos7環(huán)境下二進(jìn)制安裝包安裝 mysql5.6的方法詳解

    這篇文章主要介紹了centos7環(huán)境下二進(jìn)制安裝包安裝 mysql5.6的方法,詳細(xì)分析了centos7環(huán)境下使用二進(jìn)制安裝包安裝 mysql5.6的具體步驟、相關(guān)命令、配置方法及操作注意事項(xiàng),需要的朋友可以參考下
    2020-02-02
  • MySQL?數(shù)據(jù)庫創(chuàng)建存儲(chǔ)過程及使用場(chǎng)景全解析

    MySQL?數(shù)據(jù)庫創(chuàng)建存儲(chǔ)過程及使用場(chǎng)景全解析

    在MySQL數(shù)據(jù)庫管理中,存儲(chǔ)過程是一種預(yù)先編譯的SQL語句集合,它可以接受參數(shù)、執(zhí)行復(fù)雜的操作,并且可以被多次調(diào)用,本文將詳細(xì)介紹如何在MySQL中創(chuàng)建存儲(chǔ)過程,感興趣的朋友跟隨小編一起看看吧
    2025-09-09
  • 深入探討MySQL分詞查詢與全文索引技術(shù)

    深入探討MySQL分詞查詢與全文索引技術(shù)

    中小項(xiàng)目中的一些簡(jiǎn)單的分詞搜索功能,其實(shí)可以試試 MySQL 分詞查詢,本文將深入探討 MySQL 的分詞查詢技術(shù),從基礎(chǔ)使用到中文處理全面解析,感興趣的可以了解一下
    2025-07-07

最新評(píng)論

台东市| 泾阳县| 宁明县| 泉州市| 万年县| 松原市| 临桂县| 手游| 颍上县| 彭阳县| 平度市| 江阴市| 桂平市| 溧水县| 德昌县| 马龙县| 南通市| 陈巴尔虎旗| 古丈县| 舞钢市| 怀柔区| 巩留县| 平遥县| 枞阳县| 蒲城县| 四川省| 迁西县| 同德县| 长治县| 昭平县| 鄢陵县| 洛宁县| 梅河口市| 临湘市| 蛟河市| 缙云县| 友谊县| 鸡西市| 沈丘县| 洞头县| 夹江县|