DBA-1-3 数据导入导出

本文详细介绍了MySQL中数据的导入与导出操作。在MySQL 5.7及以上版本,导入数据时文件需位于特定路径下。数据导入涉及创建对应表结构、使用LOAD DATA INFILE命令,并注意字段分隔符和数据类型匹配。通过示例演示了如何导入系统文件到数据库表,以及在导入过程中遇到的问题及解决方案,如调整表结构以避免数据范围错误。此外,还讲解了数据导出,包括使用SELECT INTO OUTFILE命令将查询结果保存到文件,以及自定义字段和行间隔符。
摘要由CSDN通过智能技术生成

========================================================================
    【【  数据库 03day  】】
数据导入,导出
数据导入:把系统文件的内容存储到数据库的表里。
把文件的内容存储到数据库的表里,对这个文件是有要求的 ,有规律的 有一定的格式。
步骤: 
1.创建一个存储文件内容的表,(这个表 的字段,什么类型的 约束   是根据你要存储数据文件内容的而建的)
2.执行导入数据的sql命令  (格式一定要记住)
3. 在mysql 5.7这个版本的这个软件里面  它在导入数据的时候  它要求系统文件必须在默认的导入数据的路径下才可以,5.7之前的版本是没有这个要求的。
show variables like "secure_file_priv";    (看一下mysql的变量variables 像 。。。。) 

设置搜索路径
• 查看默认使用目录及目录是否存在
mysql> show variables like "secure_file_priv";
+------------------+-----------------------+
| Variable_name    | Value                 |
+------------------+-----------------------+
| secure_file_priv | /var/lib/mysql-files/ |
+------------------+-----------------------+
1 row in set (0.01 sec)

### 如果你想把系统文件 存储到数据库表里;首先你要先把那个文件拷贝到 /var/lib/mysql-files/ 路径下 才可以    默认时候你装软件包的时候,路径已经创建好了!  这个路径目录是可以修改的。
----------------------------
数据导入
• 基本用法
– LOAD DATA INFILE “ 目录名 / 文件名”
INTO TABLE 表名
FIELDS TERMINATED BY “ 分隔符”
LINES TERMINATED BY “\n”;
• 注意事项
– 字段分隔符要与文件内的一致
– 指定导入文件的绝对路径
– 导入数据的表字段类型要与文件字段匹配
– 禁用 SElinux

##  示例演示::--->>   把/etc/passwd  导入到数据库中

1 ##  把需要导入数据库 的文件  拷贝到 指定的路径下!

[root@host50 mysql-files]# ls /etc/passwd
/etc/passwd
[root@host50 mysql-files]# head /etc/passwd     ## 看一下这个文件的规律, 每一行都是7列  都是用: 号分隔的! 每一行就像表中的一条记录。
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
[root@host50 mysql-files]# 
[root@host50 mysql-files]# pwd
/var/lib/mysql-files
[root@host50 mysql-files]# cp /etc/passwd ./    ## 把目标文件拷贝到 该路径下!!

[root@host50 mysql-files]# head -2 passwd    ## 看一下文件内容的格式,及相关的规律!
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
[root@host50 mysql-files]# 

2## 建表!!
mysql> use db1;
Database changed
mysql>                     ##: 根据passwd内容创建一个表
mysql> create table user(
    -> name char(30),
    -> password char(1),
    -> uid smallint(2),
    -> gid smallint(2),
    -> comment char(100),
    -> homedir char(150),
    -> shell char(50),
    -> index(name)
    -> );
Query OK, 0 rows affected (0.39 sec)

mysql> show create table user;            ## 查看一下创建表的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值