mysql怎么往前插入 mysql导入sql

怎么给mysql中插入数据首先可以先更改两个表mysql怎么往前插入的diarygpid 为一样mysql怎么往前插入的值mysql怎么往前插入 , 建议该值要大一点mysql怎么往前插入,既diarygp.diaryid的最大值mysql怎么往前插入,同时也diarynum.diaryid的最大值,最好类型bigint,我们这里假定是1000吧,那么把两个表的自动增长值设为1001 , 这样做的目的是防止插入是出现重复diarygpid
ALTER TABLE `diarygp` AUTO_INCREMENT = 1001;
ALTER TABLE `diarynum` AUTO_INCREMENT = 1001;
//建立存储过程
DELIMITER $$
PROCEDURE`AddAccount`(_diaryname varchar(20), _uid varchar(20), diarynum int )
BEGIN
declare newID bigint;
insert into diarygp (diaryname) values (_diaryname );
select diaryid into newID from diarygp order by diaryid desc limit 1;
insert into diarynum ( diaryid,uid,diarynum ) values (newID, _uid, _diarynum);
end $$
DELIMITER ;
php执行存储过程
?php
//注意 , sql为存储过程时,要使用这两个1,CLIENT_MULTI_RESULTS 参数
$Conn = mysql_connect("Host", "Uid", "Pwd",1,CLIENT_MULTI_RESULTS);
//sql
$SQL = "AddAccount('name','_uid',2222)";
mysql_query($SQL,$Conn)
mysql_close($Conn);
?
怎么用mysql在表中插入数据?用shell脚本通过while循环批量生成mysql测试数据的方法 。
1、很多时候需要在mysql表中插入大量测试数据,下面分享一个用shell脚本通过while循环批量生成mysql测试数据的方法,你只需要根据你自己的表结构来生成sql语句即可 。
复制代码代码如下:
#!/bin/bash
i=1;
MAX_INSERT_ROW_COUNT=$1;
while [ $i -le $MAX_INSERT_ROW_COUNT ]
do
mysql -uroot -proot afs -e "insert into afs_test (name,age,createTime) values ('HELLO$i',$i % 99,NOW());"
d=$(date%M-%d\ %H\:%m\:%S)
echo "INSERT HELLO $i @@ $d"
i=$(($i 1))
sleep 0.05
done
exit 0
2、假定上面的shell脚本保存为create-data.sh,可以通过下面的命令来生成数据:
复制代码代码如下:sh create-data.sh 10000 。(参数10000是要生成的数据条数 。)
mysql怎么快速插入大量数据通过导入文件的方式插入,文件可以用其他方式先生成,比如使用java,来生成data1.txt , 然后使用下面的sql语句:
load data local infile 'd:/data1.txt' replace into table hk_acinfo lines terminated by '\\r\\n'
使用这个方法 , 我插入过1千万以上的数据,如果没有网络影响的话,每秒1M /s的速度写入,很快的
mysql 怎么样快速地插入MySQL如何快速插入大量数据
这几天尝试了使用不同的存储引擎大量插入MySQL表数据 , 主要试验了MyISAM存储引擎和InnoDB 。
下面是实验过程:
一、InnoDB存储引擎 。
创建数据库和表
Sql代码
CREATE DATABASE ecommerce;
CREATE TABLE employees (
id INT NOT NULL,
fname VARCHAR(30),
lname VARCHAR(30),
birth TIMESTAMP,
hired DATE NOT NULL DEFAULT '1970-01-01',
separated DATE NOT NULL DEFAULT '9999-12-31',
job_code INT NOT NULL,
store_id INT NOT NULL
)
partition BY RANGE (store_id) (
partition p0 VALUES LESS THAN (10000),
partition p1 VALUES LESS THAN (50000),
partition p2 VALUES LESS THAN (100000),
partition p3 VALUES LESS THAN (150000),
Partition p4 VALUES LESS THAN MAXVALUE
);
创建存储过程
Sql代码
use ecommerce;
CREATE PROCEDURE BatchInsert(IN init INT, IN loop_time INT)
BEGIN
DECLARE Var INT;
DECLARE ID INT;
SET Var = 0;
SET ID = init;
WHILE Varloop_time DO
insert into employees(id,fname,lname,birth,hired,separated,job_code,store_id) values(ID,CONCAT('chen',ID),CONCAT('haixiang',ID),Now(),Now(),Now(),1,ID);
SET ID = ID1;
SET Var = Var1;
END WHILE;
END;
调用存储过程插入数据
Sql代码
CALL BatchInsert(30036,200000)
用时:3h 37min 8sec
二、MyISAM存储引擎
创建表
Sql代码
use ecommerce;
CREATE TABLE ecommerce.customer (
id INT NOT NULL,
email VARCHAR(64) NOT NULL,
name VARCHAR(32) NOT NULL,
password VARCHAR(32) NOT NULL,
phone VARCHAR(13),
birth DATE,
sex INT(1),
avatar BLOB,
address VARCHAR(64),
regtime DATETIME,
lastip VARCHAR(15),
modifytime TIMESTAMP NOT NULL,
PRIMARY KEY (id)
)ENGINE = MyISAM ROW_FORMAT = DEFAULT
partition BY RANGE (id) (
partition p0 VALUES LESS THAN (100000),
partition p1 VALUES LESS THAN (500000),
partition p2 VALUES LESS THAN (1000000),
partition p3 VALUES LESS THAN (1500000),
partition p4 VALUES LESS THAN (2000000),
Partition p5 VALUES LESS THAN MAXVALUE
);
创建存储过程
Sql代码
use ecommerce;
DROP PROCEDURE IF EXISTS ecommerce.BatchInsertCustomer;
CREATE PROCEDURE BatchInsertCustomer(IN start INT,IN loop_time INT)
BEGIN
DECLARE Var INT;
DECLARE ID INT;
SET Var = 0;
SET ID= start;
WHILE Varloop_time
DO
insert into customer(ID,email,name,password,phone,birth,sex,avatar,address,regtime,lastip,modifytime)
values(ID,CONCAT(ID,'@sina.com'),CONCAT('name_',rand(ID)*10000 mod 200),123456,13800000000,adddate('1995-01-01',(rand(ID)*36520) mod 3652),Var%2,';fm=52gp=0.jpg','北京市海淀区',adddate('1995-01-01',(rand(ID)*36520) mod 3652),'8.8.8.8',adddate('1995-01-01',(rand(ID)
*36520) mod 3652));
SET Var = Var1;
SET ID= ID1;
END WHILE;
END;
调用存储过程插入数据
Sql代码
ALTERTABLEcustomerDISABLEKEYS;
CALL BatchInsertCustomer(1,2000000);
ALTERTABLEcustomerENABLEKEYS;
用时:8min 50sec
通过以上对比发现对于插入大量数据时可以使用MyISAM存储引擎,如果再需要修改MySQL存储
引擎可以使用命令:
Sql代码
ALTER TABLE t ENGINE = MYISAM;
【mysql怎么往前插入 mysql导入sql】关于mysql怎么往前插入和mysql导入sql的介绍到此就结束了 , 不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读