--创建表类型 create or replace type mytype as table of number;--如果定义成varchar--CREATE OR REPLACE type mytype as table of varchar2(4000); -- 将字符串分割成数组 function my_split(piv_str in varchar2, piv_delimiter in varchar2) --piv_str 为字符串,piv_delimiter 为分隔符 return
Mysql每天执行计划,保留最新的10条数据,其余的删除 1.Mysql 保留最新的10条数据 sql语句: DELETE tb FROM tbname AS tb,( SELECT id FROM tbname ORDER BY id desc LIMIT 9,1 ) AS tmp WHERE tb.id<tmp.id 2.新建存储过程(Navicat中) CREATE PROCEDURE test() BEGIN DELETE tb FROM testdata AS tb,( SELECT
mysql快速导入5000万条数据过程记录(LOAD DATA INFILE方式) 首先将要导入的数据文件top5000W.txt放入到数据库数据目录/var/local/mysql/data/${db_name}/ 下,并确保导入用户拥有这个txt文件的权限,否则会报Error 13错误 1.${table_name}换myisam,我们的场景对事务没啥要求,innodb引擎速度太慢了,原来导入12个小时都没导完2.导入前修改参数和禁止索引更新mysql> SET SESSION BULK_I
代码:test.sh #!/bin/bash a="one,two,three,four" #要将$a分割开,可以这样: OLD_IFS="$IFS" IFS="," arr=($a) IFS="$OLD_IFS" for s in ${arr[@]} do echo "$s" done shell编程中,经常需要将由特定分割符分割的字符串分割成数组,多数情况下我们首先会想到使用awk但是实际上用shell
由于工作需要需要处理一些以逗号分隔的字符串,每次都要现做很是麻烦,网上找了很多都没有现成的,好吧,自己动手写一个好了 )) ) BEGIN /*函数功能: 把带逗号的字符串分割取出 参数: num 要取出的字符串的索引值, 以0开始 str 以逗号分割的字符串 扩展: 将逗号替换成其他符合,即可完成不同分隔符拆分字符串,亦可以把分隔符作为参数 */ SUBSTRING( SUBSTRING_INDEX(), CASE num THEN CHAR_LENGTH( SUBSTRING_INDEX(s
本例代码下载:https://files.cnblogs.com/files/xiandedanteng/InsertMillionComparison20191012.rar 我的数据库环境是mysql Ver 14.14 Distrib 5.6.45, for Linux (x86_64) using EditLine wrapper 这个数据库是安装在T440p的虚拟机上的,操作系统为CentOs6.5. 插入一千万条数据,一次执行时间是4m57s,一次是5m. 数据表的定义是这样的: C
方法一:存储过程 1.存储过程如下: delimiter $$ DROP PROCEDURE IF EXISTS data CREATE PROCEDURE data(in i int) BEGIN DO INSERT INTO goods VALUES('','锤子手机',i); ; END WHILE; end $$ ; call proll(@id); 2.执行存储过程前将表中的数据清空 3)存储过程执行的时间需要:0.312秒 4)执行存储过程后,查看表中数据,如下图: 问题:goods