mysql快速添加百万条记录的语句
使用Insert Select语句插入记录时,必须遵循以下原则。
用Select语句选择数据时,不能从被插入数据的表中选择行。
指定插入的表后所包含的字段数目必须与Select语句中返回的字段数目相同。
指定插入的表后所包含的字段数据类型必须与Select语句中返回的字段数据类型相同或系统可以自动转换。
代码如下:
INSERT INTO ler_items( classid, title, address, zipcode )
SELECT classid, title, address, zipcode
FROM ler_items
使用上面的SQL语句,可以在很短的时间内将ler_items表添加百万记录,用于数据库的测试很有帮助
相关推荐
-
mysql中sum float类型使用小数点的方法
方法一:最好的办法是将float字段改为decimal(16,6).具体方法:可设置一个临时字段,结合MySQL的关键字binary进行准确复制等.方法二:使用binary关键字解决.具体操作为"select sum(binary 字段名(float类型))"BINARY不是函数,是类型转换运算符,它用来强制它后面的字符串为一个二进制字符串例子: 复制代码 代码如下: "select sum(a.number*binary(b.price)) as total
-
MySql日期查询语句详解
使用DATE_FORMAT方法SELECT * FROM `ler_items` WHERE DATE_FORMAT(postTime,'%Y-%m')='2013-03'注意:日期一定要用'',否则没有效果其它的一些关于mysql日期查找语句mysql> select date_format(DATE_SUB(CURDATE(), INTERVAL 7 DAY),'%y%m%d');+-------------------–+| date_format(DATE_SUB(CURDATE(),
-
MySQL Like语句的使用方法
REGEXP例1.查询字段中包含非英文的数据 复制代码 代码如下: SELECT *FROM `m_user`WHERE `emp_no`REGEXP '[^ -~]' =1 列2.这样能把所有不含英文的都搞出来 复制代码 代码如下: SELECT *FROM tableWHERE nameNOT REGEXP '[a-zA-Z0-9]+' 当然除了regexp之外还可以使用FIND_IN_SET,like来操作FIND_IN_SETmysql中如何使用FIND_IN_SET(),以及使用FIN
-
mysql获取字符串长度函数(CHAR_LENGTH)
length: 是计算字段的长度一个汉字是算三个字符,一个数字或字母算一个字符CHAR_LENGTH(str) 返回值为字符串str 的长度,长度的单位为字符.一个多字节字符算作一个单字符.对于一个包含五个二字节字符集, LENGTH()返回值为 10,而CHAR_LENGTH()的返回值为5.CHARACTER_LENGTH(str) CHARACTER_LENGTH()是CHAR_LENGTH()的同义词.BIT_LENGTH(str) 返回2进制长度.例如:可以查出用户名长度少于6个字
-
centos mysql 修改数据库目录
MySQL默认的数据文件存储目录 /var/lib/mysql,现在要把目录修改为/home/data/mysqlcd /homemkdir data //在home目录下建data目录mysqladmin -u root -p shutdown //停止MySQL服务进程:mv /var/lib/mysql /home/data/ //移动目录cp /etc/my.cnf /etc/my.cnf //在/etc/目录下找my.cnf配置文件 [如果找不到,可到/usr/share/mysql/
-
mysql优化取随机数据慢的方法
前天因为工作需要我把从一个5W记录的数据库中随机抽取几条记录了,这里我是直接使用mysql rand by函数来直接,几千条记录没关系,但如果到了几万条感觉要几秒,这个就很慢了,下面小编与大家一起来看看mysql 取随机数据慢优化过程.MySQL很多时候需要获取随机数据,举个例子,要从tablename表中随机提取一条记录,大家一般的写法就是: 复制代码 代码如下: SELECT * FROM tablename ORDER BY RAND() LIMIT 1 但是,后来我查了一下MYSQL的官
-
mysql快速添加百万条记录的语句
使用Insert Select语句插入记录时,必须遵循以下原则.用Select语句选择数据时,不能从被插入数据的表中选择行.指定插入的表后所包含的字段数目必须与Select语句中返回的字段数目相同.指定插入的表后所包含的字段数据类型必须与Select语句中返回的字段数据类型相同或系统可以自动转换. 复制代码 代码如下: INSERT INTO ler_items( classid, title, address, zipcode )SELECT classid, title, address,
-
Mysql使用存储过程快速添加百万数据的示例代码
前言 为了体现不加索引和添加索引的区别,需要使用百万级的数据,但是百万数据的表,如果使用一条条添加,特别繁琐又麻烦,这里使用存储过程快速添加数据,用时大概4个小时. 创建一个用户表 CREATE TABLE `t_sales` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(32) COLLATE utf8_bin DEFAULT NULL COMMENT '用户名', `password` varchar(64) COLLA
-
Mysql查询最近一条记录的sql语句(优化篇)
下策--查询出结果后将时间排序后取第一条 select * from a where create_time<="2017-03-29 19:30:36" order by create_time desc limit 1 这样做虽然可以取出当前时间最近的一条记录,但是一次查询需要将表遍历一遍,对于百万以上数据查询将比较费时:limit是先取出全部结果,然后取第一条,相当于查询中占用了不必要的时间和空间:还有如果需要批量取出最近一条记录,比方说:"一个订单表,有用户,订
-
Mysql快速插入千万条数据的实战教程
一.创建数据库 二.创建表 1.创建 dept表 CREATE TABLE `dept` ( `id` int(11) NOT NULL, `deptno` mediumint(9) DEFAULT NULL, `dname` varchar(20) DEFAULT NULL, `loc` varchar(13) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 2.创建emp表 CREATE TABLE
-
MYSQL中获取得最后一条记录的语句
在MySQL中,使用auto_increment类型的id字段作为表的主键,并用它作为其他表的外键,形成"主从表结构",这是数据库设计中常见的用法.但是在具体生成id的时候,我们的操作顺序一般是:先在主表中插入记录,然后获得自动生成的id,以它为基础插入从表的记录.这里面有个困难,就是插入主表记录后,如何获得它对应的id.通常的做法,是通过"select max(id) from tablename"的做法,但是显然这种做法需要考虑并发的情况,需要在事务中对主表加以
-
mysql批量更新多条记录的同一个字段为不同值的方法
首先mysql更新数据的某个字段,一般这样写: UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value'; 也可以这样用in指定要更新的记录: UPDATE mytable SET myfield = 'value' WHERE other_field in ('other_values'); 这里注意 'other_values' 是一个逗号(,)分隔的字符串,如:1,2,3 如果更新多条数据而且每条记录要更新
-
MYSQL速度慢的问题 记录数据库语句
需要开启一个慢查询输出的一个机关:log_slow_queries.可以在MySQL配置文件中(my.ini/my.cnf)中设置,也可以通过MySQL客户端临时设置.第二种方法的好处是,可以不用重启MySQL服务,而使设置生效.那就来试试这个: 首先通过客户端连接到Mysql服务器,然后输入下面的语句: SET GLOBAL log_slow_queries = ON; SET GLOBAL long_query_time = 3; 这样MySQL就会把耗时>=3秒的SQL语句给记录下来,并输
-
Mysql如何查询某条记录在分页的第几页详析
前言 在实践中我们会遇到这样的问题,知道某条记录的id,然后需要判断此条记录如果按照id进行排序分页,此条记录在第几页.今天这篇文章为大家提供一个思路. 下面话不多说了,来一起看看详细的实现方法吧 根据ID查询分页位置 根据ID来查询分页位置,比如按照ID的倒序排列,则可通过以下SQL查询出大于此ID记录数: select count(id) from user where id > 5; 示例中user为表名,5位待匹配的id.很显然,因为是倒序排序只需查找大于此id的记录数即可,如果是正序排
-
php实现只保留mysql中最新1000条记录
<?php mysql_connect("localhost","root","root"); mysql_select_db("test"); //保留最新的1000条记录 $limit=1000; $query="select `id` from `news`"; $result=mysql_query($query); $num=mysql_num_rows($result); if($num&
-
MySQL查询倒数第二条记录实现方法
有时候会用到查询倒数第二条记录 复制代码 代码如下: last=HolderChangeHistory.find_by_sql ([" SELECT * FROM holder_change_histories where treasure_id = ? order by id desc limit 1,1 ",
随机推荐
- Vue.js每天必学之构造器与生命周期
- Asp.net中通过Button打开另一个的frm
- JavaScript实现经纬度转换成地址功能
- window.location.href IE下跳转失效的解决方法
- PHPThumb图片处理实例
- php使用websocket示例详解
- 实例解析如何在Android应用中实现弹幕动画效果
- JavaScript中最常用的10种代码简写技巧总结
- vue.js+Element实现表格里的增删改查
- Java(enum)枚举用法详解
- 关于jQuery库冲突的完美解决办法
- jquery tab插件制作实现代码
- JavaScript计算某一天是星期几的方法
- 对JavaScript的全文搜索实现相关度评分的功能的方法
- 详解Android中ListView实现图文并列并且自定义分割线(完善仿微信APP)
- C#实现位图转换成图标的方法
- php中error与exception的区别及应用
- PHP+DBM的同学录程序(1)
- Email+URL的判断和自动转换函数
- Android 后台发送邮件到指定邮箱