delimiter $$
CREATE PROCEDURE s_card()
BEGIN
DECLARE j INT(11)
loop1: WHILE j<=1000 DO
insert INTO `tablename`(xxxxxx) values (xxx)
SET j=j+1
END WHILE loop1
END$$
delimiter
把上面存储过程运行一下,输入 call s_card()可以循环插入1000条数据
如果要指定输入条数可以把数字从外界传入
不用INSERT INTO 难不成用UPDATE,数据导入3000条貌似不多吧
你要这么一说,还真有点难度了,因为数据类型不一样,还不能用数组,貌似没有什么绝窍
不过你可以直接用EXCEL中的CONCATENATE()函数把你的数据转换成SQL输入语句
然后把这个输入语句脚本放到一个文件中,如Iinsert.sql
接着用类似下面的代码把这个脚本导入MYSQL执行
!$db->select_db('databasename')&&exit($db->error()) //选择当前数据库if(!file_exists("./insert.sql"))exit("载入\"insert.sql\"失败!")
$import_sql=file_get_contents("pms.sql",dirname(__FILE__)) //打开SQL文件并读取
$explode = explode("",$import_sql)
$cnt = count($explode)
for($i=0$i<$cnt $i++){
!$db->query($explode[$i])&&exit("导入数据表失败!")
}
echo "已建立数据表...<br><br>\n"
把EXCEL数据导入到MYSQL吗,是不是这个要求?第一步,把EXCEL数据转换为TXT(记事本)文件
打开EXCEL,全选数据(如果第一行是标题可能不需要),复制,打开记事本,粘贴,保存为一个文件,例如ABC.TXT。
第二步,执行MYSQL语句把TXT文件导入数据库
执行MYSQL后,在>提示符下输入下面的语句就可以导入数据:
load
data
infile
'e:/insur/reser/from_cbps8/prem_y18.txt'
into
table
premium_rate
你需要修改文件名的完整路径,以及导入数据库的表名,可能之前要使用use语句选择数据库。这样的导入是把数据添加到数据库中。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)