返回顶部
首页 > 资讯 > 数据库 >MySQL数据导入导出(用于个人学习与回顾)
  • 164
分享到

MySQL数据导入导出(用于个人学习与回顾)

2024-04-02 19:04:59 164人浏览 安东尼
摘要

该实例将练习Mysql的导入导出操作实例:将/etc/passwd文件导入userdb库user表并给每条记录加编号将userdb库user表中UID小于100的前10条记录导出,存为/mydata/use

该实例将练习Mysql的导入导出操作


实例:

  1. 将/etc/passwd文件导入userdb库user表并给每条记录加编号

  2. 将userdb库user表中UID小于100的前10条记录导出,存为/mydata/user1.txt文件


  • 新建userdb库,切换到userdb库,并且设置如下字段;

mysql> create database userdb;
Query OK, 1 row affected (0.00 sec)
mysql> use userdb;
Database changed
mysql> create table user(
    -> username varchar(24) not null,
    -> passWord varchar(48) default 'x',
    -> uid int(5) not null,
    -> gid int(5) not null,
    -> fullname varchar(48),
    -> homedir varchar(64) not null,
    -> shell varchar(24) not null
    -> );
Query OK, 0 rows affected (0.01 sec)
mysql> desc user;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| username | varchar(24) | NO   |     | NULL    |       |
| password | varchar(48) | YES  |     | x       |       |
| uid      | int(5)      | NO   |     | NULL    |       |
| gid      | int(5)      | NO   |     | NULL    |       |
| fullname | varchar(48) | YES  |     | NULL    |       |
| homedir  | varchar(64) | NO   |     | NULL    |       |
| shell    | varchar(24) | NO   |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
7 rows in set (0.01 sec)


  • 注:在MySQL 5.7.6版本之后,导入文件只能在secure_file_priv指定的文件夹下。如果直接导入会报错。执行show variables like '%secure%'命令显示文件目录:

mysql> load data infile '/etc/passwd' into table user fields terminated by ':';
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
mysql> show variables like '%secure%';
+--------------------------+-----------------------+
| Variable_name            | Value                 |
+--------------------------+-----------------------+
| require_secure_transport | OFF                   |
| secure_auth              | ON                    |
| secure_file_priv         | /var/lib/mysql-files/ |
+--------------------------+-----------------------+
3 rows in set (0.00 sec)
  •     执行导入操作

-将/etc/passwd文件复制到/var/lib/mysql-files/目录下,

-读取/var/lib/mysql-files/passwd文件内容,以“:”为分隔,导入到user表中:

[root@host50 ~]#cp /etc/passwd /var/lib/mysql-files/
mysql> LOAD DATA INFILE '/var/lib/mysql-files/passwd'
-> INTO TABLE user
-> FIELDS TERMINATED BY ':';
Query OK, 42 rows affected (0.11 sec)
Records: 42  Deleted: 0  Skipped: 0  Warnings: 0

注:上述操作中省略了行分隔 LINES TERMINATED BY '\n',因为这是默认的情况(每行一条原始记录),除非需要以其他字符分割行,才需要用到这个。


  • 确认导入结果

mysql> select count(*) from user;
+----------+
| count(*) |
+----------+
|       42 |
+----------+
1 row in set (0.00 sec)

mysql> select * from user limit 10;
+----------+----------+-----+-----+----------+-----------------+----------------+
| username | password | uid | gid | fullname | homedir         | shell          |
+----------+----------+-----+-----+----------+-----------------+----------------+
| 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  |
+----------+----------+-----+-----+----------+-----------------+----------------+
10 rows in set (0.00 sec)
  • 为user表中的每条记录添加自动编号,并验证自动编写结果

mysql> alter table user add sn int(4) auto_increment primary key first;
Query OK, 0 rows affected (0.03 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> select * from user limit 10;
+----+----------+----------+-----+-----+----------+-----------------+----------------+
| sn | username | password | uid | gid | fullname | homedir         | shell          |
+----+----------+----------+-----+-----+----------+-----------------+----------------+
|  1 | root     | x        |   0 |   0 | root     | /root           | /bin/bash      |
|  2 | bin      | x        |   1 |   1 | bin      | /bin            | /sbin/nologin  |
|  3 | daemon   | x        |   2 |   2 | daemon   | /sbin           | /sbin/nologin  |
|  4 | adm      | x        |   3 |   4 | adm      | /var/adm        | /sbin/nologin  |
|  5 | lp       | x        |   4 |   7 | lp       | /var/spool/lpd  | /sbin/nologin  |
|  6 | sync     | x        |   5 |   0 | sync     | /sbin           | /bin/sync      |
|  7 | shutdown | x        |   6 |   0 | shutdown | /sbin           | /sbin/shutdown |
|  8 | halt     | x        |   7 |   0 | halt     | /sbin           | /sbin/halt     |
|  9 | mail     | x        |   8 |  12 | mail     | /var/spool/mail | /sbin/nologin  |
| 10 | operator | x        |  11 |   0 | operator | /root           | /sbin/nologin  |
+----+----------+----------+-----+-----+----------+-----------------+----------------+
10 rows in set (0.00 sec)

         -以将userdb库user表中UID小于100的前10条记录导出为/myload/user2.txt文件为例

       首先,修改配置文件中存放导出导入目录及查看修改结果

[root@host50 ~]# mkdir  /myload  ;  chown  mysql  /myload
[root@host50 ~]# vim  /etc/my.cnf
[mysqld]
secure_file_priv="/myload"
[root@dbsvr1 ~]# systemctl  restart mysqld
mysql> show variables like "secure_file_priv";
+------------------+----------+
| Variable_name    | Value       |
+------------------+----------+
| secure_file_priv   | /myload/ |

      导出user表中UID小于100的前十条记录

mysql> select * from userdb.user where uid<100
    -> into outfile '/myload/user.txt'
    -> fields terminated by ":";
Query OK, 26 rows affected (0.00 sec)

      确认导出结果

[root@host50 ~]# wc -l /myload/user.txt
26 /myload/user.txt
[root@host50 ~]# tail /myload/user.txt 
25:tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
29:rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
33:gdm:x:42:42::/var/lib/gdm:/sbin/nologin
35:sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
36:avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
37:postfix:x:89:89::/var/spool/postfix:/sbin/nologin
38:ntp:x:38:38::/etc/ntp:/sbin/nologin
39:tcpdump:x:72:72::/:/sbin/nologin
41:apache:x:48:48:Apache:/usr/share/Httpd:/sbin/nologin
42:mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/false











您可能感兴趣的文档:

--结束END--

本文标题: MySQL数据导入导出(用于个人学习与回顾)

本文链接: https://lsjlt.com/news/42669.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL数据导入导出(用于个人学习与回顾)
    该实例将练习MySQL的导入导出操作实例:将/etc/passwd文件导入userdb库user表并给每条记录加编号将userdb库user表中UID小于100的前10条记录导出,存为/mydata/use...
    99+
    2024-04-02
  • Mysql索引概述(用于个人学习与回顾)
    Mysql索引概述索引介绍索引是对记录集的多个字段进行排序的方法。类似于书的目录索引类型包括:Btree,B+tree,hash索引优缺点 索引优点-通过创建唯一性索引,可以保证数据库中每一行数据的唯一性-...
    99+
    2024-04-02
  • MySql基础部署以及基本使用(用于个人学习与回顾)
    MySQL数据库介绍 最为著名、应用最为广泛的开源数据库软件        -最早隶属于瑞典的MySQL AB公司        -2008年1月,MySQL AB被SUN收购        -2009年4...
    99+
    2024-04-02
  • oracle学习笔记----数据库导入导出
    一、导入和导出      Oracle的备份是oracle操作中常见的工作,常见的备份方案包括有:     ...
    99+
    2024-04-02
  • MYSQL数据库之间的数据导出与导入
    源数据库地址: 172.16.1.7目标数据库地址: 172.16.1.51 步骤: (1) 进入172.16.1.7服务器,登录mysql数据库 mysqldump -uusername...
    99+
    2024-04-02
  • MySQL表数据的导入与导出方法
    本篇内容介绍了“MySQL表数据的导入与导出方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! LOAD...
    99+
    2024-04-02
  • mysql数据库导入导出的用法
    这篇文章主要讲解了“mysql数据库导入导出的用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql数据库导入导出的用法”吧!mysql 数据库导入导...
    99+
    2024-04-02
  • MySQL中怎么实现数据的导出与导入
    这期内容当中小编将会给大家带来有关MySQL中怎么实现数据的导出与导入,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。首先讲解mysql数据的导出。打开工具heidisql...
    99+
    2024-04-02
  • 使用HeidiSQL如何导入导出MySQL数据
    本篇文章为大家展示了使用HeidiSQL如何导入导出MySQL数据,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。①首先,选择你要导出的数据库,点击鼠标右键:如下图所...
    99+
    2024-04-02
  • 使用DataX实现mysql与hive数据互相导入导出
    一、概论 1.1 什么是DataX          DataX 是阿里巴巴开源的一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle 等)、HDFS、Hive、ODPS、HBase、FTP 等各种异...
    99+
    2023-09-26
    大数据
  • Ubuntu命令行下MySQL数据导出与导入实例
    本篇内容介绍了“Ubuntu命令行下MySQL数据导出与导入实例”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所...
    99+
    2024-04-02
  • 使用Navicat将MySql数据库导入和导出
    导出数据表 1.使用Navicat打开数据库,右键数据库,点击转储SQL文件,点击结构和数据。 2.选择生成文件的地方 3.等待生成完成 4.生成完成 导入数据库表和数据SQL文件 1....
    99+
    2023-09-04
    sql 数据库 mysql
  • MySQL数据导入和导出的方法与工具介绍
    这篇文章主要介绍“MySQL数据导入和导出的方法与工具介绍”,在日常操作中,相信很多人在MySQL数据导入和导出的方法与工具介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2024-04-02
  • Qt数据库应用之实现数据的导入与导出
    目录一、前言二、功能特点三、体验地址四、效果图五、相关代码一、前言 在经历过大大小小十几个甚至几十个纯QtWidget项目后,涉及到数据库相关的项目,几乎都有一个需求,将少量的信息数...
    99+
    2024-04-02
  • mysql如何利用Navicat 导出和导入数据库
    MySql是我们经常用到的数据,无论是开发人员用来练习,还是小型私服游戏服务器,或者是个人软件使用,都十分方便。对于做一些个人辅助软件,选择mysql数据库是个明智的选择,有一个好的工具更是事半功倍,对于MySql 的IDE 我推荐Navi...
    99+
    2016-01-21
    mysql如何利用Navicat 导出和导入数据库 数据库入门 数据库基础教程
  • mysql中怎么利用Navicat导出和导入数据库
    这期内容当中小编将会给大家带来有关mysql中怎么利用Navicat导出和导入数据库,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。  导出数据库:  打开Navicat ...
    99+
    2024-04-02
  • 如何使用批处理实现MySQL数据导入导出
    这篇文章主要为大家展示了“如何使用批处理实现MySQL数据导入导出”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用批处理实现MySQL数据导入导出”这篇文...
    99+
    2024-04-02
  • mysql如何利用Navicat导出和导入数据库的方法
    MySql是我们经常用到的数据,无论是开发人员用来练习,还是小型私服游戏服务器,或者是个人软件使用,都十分方便。对于做一些个人辅助软件,选择mysql数据库是个明智的选择,有一个好的工具更是事半功倍,对于M...
    99+
    2024-04-02
  • 怎么用telnet的方法导出、导入论坛mysql数据库
    这篇文章将为大家详细讲解有关怎么用telnet的方法导出、导入论坛mysql数据库,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1。这里介绍的方法主要适用于VB等。用TE...
    99+
    2024-04-02
  • 怎么用命令从mysql中导出/导入表结构及数据
    这篇文章给大家分享的是有关怎么用命令从mysql中导出/导入表结构及数据的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 在命令行下mysql的数据导出有个很好用命令mysqld...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作