Bagaimana untuk menggunakan semasa untuk memasukkan data dalam kumpulan dalam storan mysql

WBOY
Lepaskan: 2023-05-27 10:07:45
ke hadapan
1385 orang telah melayarinya

    Penyerahan kelompok

    semasa menulis penyata:

        while '条件' do
                循环体语句;
        end while;
    Salin selepas log masuk

    Selesaikan penulisan

    rreee

    Lihat dan padam prosedur tersimpan:

    drop procedure if exists test_insert;
    delimiter $$
    create procedure test_insert(n int)
        begin
        declare v int default 0;
        set AUTOCOMMIT = 0;
        while v < n
            do
                    insert into test(second_key, text, field_4,status, create_date)
                    values ((v*10),
                    concat(&#39;t&#39;,v),
                    substring(md5(rand()), 1, 10),
                    &#39;good&#39;,
                    adddate(&#39;1970-01-01&#39;, rand(v) * 10000));
            set v = v + 1;
         end while;
          set AUTOCOMMIT = 1;
    end$$
    delimiter ;
    Salin selepas log masuk

    Buat jadual

    mysql> show procedure status like &#39;test_insert&#39;;
    mysql> show create procedure test_insert\G;
    mysql> drop procedure if exists test_insert;
    Salin selepas log masuk

    Masukkan 1 juta keping data

    CREATE TABLE test (
    id INT NOT NULL AUTO_INCREMENT,
    second_key INT,
    text VARCHAR(20),
    field_4 VARCHAR(20),
    status VARCHAR(10),
    create_date date,
    PRIMARY KEY (id),
    KEY idx_second_key (second_key)
    ) Engine=InnoDB CHARSET=utf8;
    Salin selepas log masuk

    Serahan tunggal

    Kaedah penulisan lengkap

    mysql> call test_insert(1000000);
    Query OK, 0 rows affected (31.86 sec)
    Salin selepas log masuk

    Sisipkan 10 keping data

    drop procedure if exists test_insert;
    delimiter $$
    create procedure test_insert(n int)
        begin
        declare v int default 0;
        while v < n
            do
                    insert into test(second_key, text, field_4,status, create_date)
                    values ((v*10),
                    concat(&#39;t&#39;,v),
                    substring(md5(rand()), 1, 10),
                    &#39;good&#39;,
                    adddate(&#39;1970-01-01&#39;, rand(v) * 10000));
            set v = v + 1;
         end while;
    end$$
    delimiter ;
    Salin selepas log masuk

    Buka tetingkap lain untuk melihat

    mysql> call test_insert(10000);
    Query OK, 1 row affected (1 min 8.52 sec)
    Salin selepas log masuk

    Atas ialah kandungan terperinci Bagaimana untuk menggunakan semasa untuk memasukkan data dalam kumpulan dalam storan mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Label berkaitan:
    sumber:yisu.com
    Kenyataan Laman Web ini
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
    Tutorial Popular
    Lagi>
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan