一、有时候,操作返回的列数非常多,屏幕不能一行显示完,显示折行,试试”\G”,把列数据逐行显示
二、大批量数据插入
最高效的大批量插入数据的方法:
如果没有办法先生成文本文件或者不想生成文本文件,可以一次插入多行:
注意一条sql语句的最大长度是有限制的。如果还不想这样,可以试试MySQL的prepare,应该都会比硬生生的逐条插入要快许多。
如果数据表有索引,建议先暂时禁用索引:
插入完毕之后再激活索引:
对MyISAM表尤其有用。避免每插入一条记录系统更新一下索引。
三、MYSQL中复制表结构的几种方法:
delete from newtable;
来删除。
不过这种方法的一个最不好的地方就是newtable中没有了oldtable的pri key、Extra(auto_increment)等属性。需要自己用"alter"添加,而且容易搞错。
二、大批量数据插入
最高效的大批量插入数据的方法:
load data infile ‘/path/to/file’ into table tbl_name;
如果没有办法先生成文本文件或者不想生成文本文件,可以一次插入多行:
insert into tbl_name values (1,2,3),(4,5,6),(7,8,9)…
注意一条sql语句的最大长度是有限制的。如果还不想这样,可以试试MySQL的prepare,应该都会比硬生生的逐条插入要快许多。
如果数据表有索引,建议先暂时禁用索引:
alter table tbl_name disable keys;
插入完毕之后再激活索引:
alter table tbl_name enable keys;
对MyISAM表尤其有用。避免每插入一条记录系统更新一下索引。
三、MYSQL中复制表结构的几种方法:
1、create table newtable select * from oldtable;
这种方法会将oldtable中所有的内容都拷贝过来,当然我们可以用
delete from newtable;
来删除。
不过这种方法的一个最不好的地方就是newtable中没有了oldtable的pri key、Extra(auto_increment)等属性。需要自己用"alter"添加,而且容易搞错。
2、show create table oldtable;
这样会将oldtable的创建命令列出。我们只需要将该命令拷贝出来,更改table的名字,就可以建立一个完全一样的表。
3、mysqldump
用mysqldump将表dump出来,改名字后再导回去或者直接在命令行中运行。