亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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)生成對應(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" 表中。

請注意,你需要先創(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" 表中。

請注意,你需要先創(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 列。其他列的生成邏輯與之前的示例相同。

請確保已經(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Mysql性能優(yōu)化之索引下推

    Mysql性能優(yōu)化之索引下推

    這篇文章主要介紹了Mysql性能優(yōu)化之索引下推,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • MySQL中join語句的基本使用教程及其字段對性能的影響

    MySQL中join語句的基本使用教程及其字段對性能的影響

    這篇文章主要介紹了MySQL中join語句的基本使用及其字段對性能的影響,舉了實(shí)例來觀測join所作用的不同字段字符集編碼所造成的性能差異,需要的朋友可以參考下
    2015-12-12
  • MySQL數(shù)據(jù)庫高級數(shù)據(jù)操作之新增數(shù)據(jù)

    MySQL數(shù)據(jù)庫高級數(shù)據(jù)操作之新增數(shù)據(jù)

    這篇文章主要介紹了MySQL數(shù)據(jù)庫高級數(shù)據(jù)操作之新增數(shù)據(jù),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-06-06
  • MySQL Count函數(shù)使用教程

    MySQL Count函數(shù)使用教程

    這篇文章主要介紹了MySQL Count函數(shù),COUNT()是一個(gè)聚合函數(shù),返回指定匹配條件的行數(shù)。開發(fā)中常用來統(tǒng)計(jì)表中數(shù)據(jù),全部數(shù)據(jù),不為NULL數(shù)據(jù),或者去重?cái)?shù)據(jù)
    2022-12-12
  • sql和MySQL的語句執(zhí)行順序分析

    sql和MySQL的語句執(zhí)行順序分析

    本文就sql和mysql的語句執(zhí)行順序問題向大家作了詳細(xì)介紹,小編覺得挺不錯(cuò)的,這里分享下,供大家參考。
    2017-10-10
  • mysql 數(shù)據(jù)庫取前后幾秒 幾分鐘 幾小時(shí) 幾天的語句

    mysql 數(shù)據(jù)庫取前后幾秒 幾分鐘 幾小時(shí) 幾天的語句

    這篇文章主要介紹了mysql 數(shù)據(jù)庫中取前后幾秒 幾分鐘 幾小時(shí) 幾天的語句,需要的朋友可以參考下
    2018-01-01
  • Mysql中STR_TO_DATE函數(shù)使用(字符串轉(zhuǎn)為日期/時(shí)間值)

    Mysql中STR_TO_DATE函數(shù)使用(字符串轉(zhuǎn)為日期/時(shí)間值)

    這篇文章主要給大家介紹了關(guān)于Mysql中STR_TO_DATE函數(shù)使用的相關(guān)資料,STR_TO_DATE函數(shù)的主要功能是字符串轉(zhuǎn)為日期/時(shí)間值,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • 基于Redo Log和Undo Log的MySQL崩潰恢復(fù)解析

    基于Redo Log和Undo Log的MySQL崩潰恢復(fù)解析

    這篇文章主要介紹了基于Redo Log和Undo Log的MySQL崩潰恢復(fù)流程,點(diǎn)進(jìn)來的小伙伴不要錯(cuò)過奧
    2021-08-08
  • 基于MySql的擴(kuò)展功能生成全局ID

    基于MySql的擴(kuò)展功能生成全局ID

    本文借用 MySQL的擴(kuò)展功能 REPLACE INTO 來生成全局id,REPLACE INTO和INSERT的功能一樣,但是當(dāng)使用REPLACE INTO插入新數(shù)據(jù)行時(shí),如果新插入的行的主鍵或唯一鍵(UNIQUE Key)已有的行重復(fù)時(shí),已有的行會(huì)先被刪除,然后再將新數(shù)據(jù)行插入
    2015-12-12
  • MySQL中使用SHOW PROFILE命令分析性能的用法整理

    MySQL中使用SHOW PROFILE命令分析性能的用法整理

    這篇文章主要介紹了MySQL中使用show profile命令分析性能的用法整理,show profiles是數(shù)據(jù)庫性能優(yōu)化的常用命令,需要的朋友可以參考下
    2015-11-11

最新評論