mysqlMySQL数据库

MySql数据库·数据批量处理

2023-02-02  本文已影响0人  技术老男孩

一、定义:

二、MySql检索路径:

查看默认的检索目录:

mysql> show variables like "secure_file_priv";
+------------------+-----------------------+
| Variable_name    | Value                          |
+------------------+-----------------------+
| secure_file_priv  | /var/lib/mysql-files/ |
+------------------+-----------------------+
1 row in set (0.01 sec)

自定义检索目录:

# 修改mysql配置文件,重新设定检索慕课
[root@host50 ~]# vim /etc/my.cnf
[mysqld]
# 手动添加该行,重新定义检索目录
secure_file_priv=/myload      
:wq
# 创建自定义检索目录
[root@host50 ~]# mkdir /myload
# 修改属主为mysql用户
[root@host50 ~]# chown mysql /myload/

[root@host50 ~]# setenforce 0
# 重启mysql服务生效配置
[root@host50 ~]# systemctl  restart mysqld

# 数据库管理员登录后查看
mysql> show variables like  "secure_file_priv";
+------------------+----------+
| Variable_name    | Value      |
+------------------+----------+
| secure_file_priv   | /myload/ |
+------------------+----------+
1 row in set (0.00 sec)

三、MySql数据导入导出命令:

数据导入:

mysql> load data infile "/检索目录/文件名" into table 库名.表名   
fields terminated by "文件中列的间隔符号"   
lines terminated by "\n";  # 文件中行的结束符号,一般都为“\n”

数据导出:

# 数据导出命令格式1  
mysql> select 字段名列表 from 库.表 [where 条件] 
into outfile "/检索目录/文件名" ;

# 数据导出命令格式2
# fields terminated by:文件中的列的间隔符号,不指定默认是一个 tab 键的宽度
mysql> select 字段名列表 from 库.表 [where 条件]  
into outfile "/检索命令名/文件名" 
fields terminated by "符号";
                    
# 数据导出命令格式3
# lines terminated by:文件中行间隔符号,不指定默认一条记录就是文件中的1行
mysql> select 字段名列表 from 库.表 [where 条件]
into outfile "/检索命令名/文件名" 
fields terminated by "符号"
lines terminated by "符号";

四、数据导入操作步骤:

  1. 建库
  2. 建表:根据导入文件的内容创建(表头名 表头个数 ),根据文件内容定义确定表头所使用的数据类型
  3. 把系统文件拷贝的检索目录里
  4. 导入数据
  5. 查看表记录

实操(将/etc/passwd文件导入db1库的t3表里)

第一步:创建库

# 创建db1库
mysql> create database if not exists db1;   

第二步:建表

mysql> create table db1.t3(
  name varchar(50) , 
  password char(1) , 
  uid int , 
  gid int , 
  comment varchar(200) , 
  homedir varchar(60) , 
  shell  varchar(30) 
);
mysql> desc db1.t3; 
+----------+--------------+------+-----+---------+-------+
| Field    | Type         | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| name     | char(50)     | YES  |     | NULL    |       |  # 用户名
| password | char(1)      | YES  |     | NULL    |       |  # 密码
| uid      | int(11)      | YES  |     | NULL    |       |  # UID号
| gid      | int(11)      | YES  |     | NULL    |       |  # GID号
| comment  | varchar(200) | YES  |     | NULL    |       |  # 用户说明信息
| homedir  | varchar(60)  | YES  |     | NULL    |       |  # 用户家目录
| shell    | varchar(30)  | YES  |     | NULL    |       |  # 解释器
+----------+--------------+------+-----+---------+-------+
7 rows in set (0.00 sec)

第三步:把系统文件拷贝的检索目录里

mysql> system cp /etc/passwd /myload/  

第四步:导入数据

mysql> load data infile "/myload/passwd" into table db1.t3
fields terminated by ":"  
lines terminated by "\n" ;

第五步:查看表记录

mysql> select * from db1.t3;
+----+------+----------+-----+-----+---------+---------+-----------+
| id | name | password | uid | gid | comment | homedir |   shell   |
+----+------+----------+-----+-----+---------+---------+-------+
|  1 | root |    x     |  0  |  0  | root    | /root   | /bin/bash |
...
| 22 | mysql|    x     |  27 |  27 | MySQL   | /var/lib/mysql | /bin/false |
+----+------+----------+-----+-----+---------+----------------+------------+
22 rows in set (0.00 sec)
上一篇 下一篇

猜你喜欢

热点阅读