快速上传数据
这个应该是比inset into values更快的插入数据的办法了。
不过要求挺苛刻的,数据要整理成和表格一致,也就是说每条数据都是完整的一条,而不是一部分。
下面的示例我以***
为分割符划分字段,以 '\n'
来分割每条数据。
LOAD DATA LOCAL INFILE 'your_data.txt' INTO TABLE your_table FIELDS TERMINATED BY '***' LINES TERMINATED BY '\n';
这里有一个痛点,我踩了好次坑,在某条数据结束前的这个字段值后面也要加上分隔符***
要不可能就会发生下面例子这种情况,我这里在终端运行,如下的错误找了好一会儿:
最后一个字段值如果是str类型的会有缺失,再去用它作为关联查询的中枢可能找不到数据。具体这块我还没去翻文档,属于试出来的错误和解决方案哈,后面我看了文档再补上。
如果上面快速上传出错
show variables like '%local%';
show global variables like 'local_infile';
执行上面这个语句,如果和我的截图一样就找其他原因去吧;如果下面这个你没开是OFF,请执行以下这条语句:
set global local_infile=1;
ubuntu进入mysql
sudo mysql --local-infile
执行本地sql文件
source \home\your_path\your.sql
查询时记得limit
如果数据库里面存放大量数据的话,直接查询出来是一件不愉快的事情。
select * from table limit 1,10;
怕错可以提前备份
数据库备份,注意用户名和密码要紧贴着u和p
mysqldump -u用户名 -p密码 数据库名 >备份文件名.sql
删库
删库是有快感的,当mysql删除数据后查询会变慢,这时候如果数据量不大而且提取有了备份 建议直接删库心情好
drop database your_db_name;
查看表的详细信息
想确定一下数据类型的时候,可以查看以下建表语句
SHOW CREATE TABLE table_name;
查看mysql进程
ps -ef| grep mysql