sqlloader导出数据指定分隔符_来一份数据库全家桶~

article/2025/9/19 11:54:07
♫. ♪ ~ ♬..♩~ ♫. ♪..♩~ ♫. ♪ ~ ♬..♩..♩~ ♫. ♪ ~ ♬..♩..♩~ ♫. ♪ ~ ♬..♩♫. ♪ ~ ♬..♩~ ♫. ♪..♩~ ♫. ♪ ~ ♬..♩..♩~ ♫. ♪ ~ ♬..♩..♩~ ♫. ♪ ~ ♬..♩

点击蓝字关注我们

♫. ♪ ~ ♬..♩~ ♫. ♪..♩~ ♫. ♪ ~ ♬..♩..♩~ ♫. ♪ ~ ♬..♩..♩~ ♫. ♪ ~ ♬..♩♫. ♪ ~ ♬..♩~ ♫. ♪..♩~ ♫. ♪ ~ ♬..♩..♩~ ♫. ♪ ~ ♬..♩..♩~ ♫. ♪ ~ ♬..♩ 5876746de745242da0f898edcbd4236a.png

一、数据导入 

数据导入就是把系统文件的内容存到数据库的表里,但是把系统文件的内容存放到表里的时候对系统文件是有要求的,要求导入的文件内容要有一定的格式和规律,不能是乱七八糟的,那样是存不进去的,在导入数据之前要先创建一个存储文件内容的表,这个表里的结构要符合文件的存储条件,表里边有多少个字段,每个字段是什么类型的,字段的约束条件是什么要取决于导入的系统文件的内容来决定

总结:数据导入时,要有一定的格式,和规律,而且在建表的时候,表里的字段类型和宽度或者约束条件等,要取决于存放文件的内容来决定

3ee5d087a5e1c677173cf03f707222b4.png

还有一点就是我们在进行数据导入的时候,要求导入的文件要在默认的导入路径下才可以执行导入操作,我们需要把要导入的文件放在数据库指定的路径下才能导入

查看定义数据导入的变量

show variables like "secure_file_priv";

36a8a8cc97e39c3c837b9c8fcfc4c851.png

这个变量里存的就是导入系统文件时的默认路径,我们要把系统文件放在这个路径下才能进行数据导入

查看导入路径,这个路径默认就是个空目录

[root@master ~]# ls /var/lib/mysql-files/ 

你想把什么文件导入到数据库里,就把文件放到这个路径下就可以

把/etc/passwd这个文件导到数据库里边去,我们先来看一下这个文件

[root@master ~]# vim /etc/passwd

d9d58cdfe306c4bd5e5bff0321afebc4.png

这个文件有没有规律呢,我们前边说了,在数据导入的时候,系统文件里边的内容要有一定的规律,那这个文件有规律码?如果以冒号作为分隔符,那它每一行都是7列,那我们在建表的时候也要创键7个字段,并且这7个字段类型要和文件里的字段类型要一致,在导入数据的时候,文件中的第一列导给表里的第一个字段

拷贝文件到默认导入路径

[root@master ~]# cp /etc/passwd /var/lib/mysql-files/  

创建导入数据的表

 mysql> create table 账号信息表(

-> 用户名 char(50),   //字段的类型和宽度要参考系统文件

-> 密码占位符 char(1),

    -> UID smallint, 

    -> GID smallint, 

    -> 描述信息 varchar(200),

    -> 家目录 char(200),

    -> 解释器 char(100),  

    -> index(用户名));     //为了提高查找速度,给用户名字段设置索引

查看表结构

mysql> desc 账号信息表;

d598d0b8999e81f05fe8f1decab4cbf7.png

数据导入

mysql> load data infile "/var/lib/mysql-files/passwd"  //指定导入路径和文件名

-> into table 账号信息表  //指定导入的表名

  -> fields terminated by ":"  //指定文件中的分隔符

   -> lines terminated by"\n";  //指定换行符

Query OK, 21 rows affected (0.00 sec)   

查看表记录

mysql> select * from 账号信息表;

30e48f2e43b2322cdda7a8131002263f.png

为表添加ID字段,并设置主键和自增长,并添加到所有字段前边

mysql> alter table 账号信息表

    -> add ID int primary key auto_increment first;     

Query OK, 0 rows affected (0.04 sec)

查看表记录

mysql> select * from 账号信息表;

f27820a56ebdcdaa00be4680db582750.png

二、数据导出

数据导出是把表里的数据存储到系统文件里,数据倒出时要求要导出到数据库指定的默认路径下,数据导出时不包括表里字段,并且数据导出时不需要提前创键建存储数据文件,数据导出时,只需指定文件名该文件会自动创键出来,数据导出时,通过SQL查询进行导出

44364d54df0bb83696129c538c03edda.png

将账号信息表导出到系统文件,导出所有数据用 * 表示

mysql> select * from 账号信息表 into outfile "/var/lib/mysql-files/user.txt"

    -> fields terminated by ":"  //指定分隔符

-> lines terminated by "\n"; //指定换行符

Query OK, 21 rows affected (0.00 sec)

查看是否导出成功

[root@master ~]# ls /var/lib/mysql-files/

passwd  user.txt

查看表结构

mysql> desc 账号信息表;

9eb64da858b3c550b2f6da1e114647b1.png

导出指定字段的值

mysql> select ID,用户名,密码占位符 from 账号信息表

-> into outfile "/var/lib/mysql-files/user1.txt" //导出时文件不要重名

-> fields terminated by ":"//指定分隔符

-> lines terminated by "\n";//指定换行符

Query OK, 21 rows affected (0.00 sec)

查看导出文件

[root@master mysql-files]# ls /var/lib/mysql-files/

passwd  user1.txt  user.txt

通过条件导出表记录

mysql> select ID,用户名,密码占位符 from 账号信息表 where ID <=10

    -> into outfile "/var/lib/mysql-files/user2.txt"

    -> fields terminated by ":"

    -> lines terminated by "\n";

Query OK, 10 rows affected (0.00 sec)

查看导出结果

[root@master mysql-files]# cat /var/lib/mysql-files/user2.txt

98dc350ad4614c2ae743dd64966266ac.png

〓我们都将前程似锦,与更好的自己不期而遇〓

aec732f9a0b44f19018fe1ef0803ad35.gif

为方便五湖四海的Linux爱好者共同

学(吹)习(牛)讨(打)论(趣)

热烈欢迎大家加入专属QQ群

0c84935358023a52b7fb437bb26a1f5d.png

群内定时上传资料还有老师全天答疑

入群即可免费获得

1、必备工具源码包

2、内部精选电子书

3、运维资料大礼包

欲知更多福利,欢迎你的加入

62f2fdf60a3785b6d193c836cce15df5.png

球分享

球点赞

9c63b1c58563691e8a089a3d743db3ee.gif

球在看


http://chatgpt.dhexx.cn/article/p1yvMk1e.shtml

相关文章

使用sqlloader导入数据(千万级)-oracle

前言&#xff1a;笔者业务场景&#xff1a;当前表无分区&#xff0c;需将数据导出&#xff0c;创建分区后&#xff0c;重新导入当前表&#xff1b;当然&#xff0c;该方法同样使用于普通的数据迁移&#xff0c;或新旧表数据同步&#xff08;表结构一致&#xff09; 一、涉及数…

oracle-sqlloader的简单使用

目录 使用场景 简单使用 编写ctl文件 执行命令 使用场景 当你拿到一个txt文件&#xff0c;里面的数据是用统一符号分割的&#xff0c;例如如下文件&#xff0c;就可以考虑使用sqlloader导入到oracle数据库。 简单使用 编写ctl文件 OPTIONS (skip1,rows128) -- sqlldr 命…

使用Sqlloader处理数据

Oracle数据导出工具sqluldr2可以将数据以csv、txt等文件格式导出&#xff0c;适用于大批量数据的导出&#xff0c;导出速度非常快&#xff0c;导出后可以使用Oracle SQL Loader工具将数据导入到数据库中。下面将介绍Sqluldr2和sqlldr在Windows平台下的数据处理过程。 一、获取…

oracle之sqlloader

oracle的sqlloader可以从文件批量的将数据插入到数据库中&#xff0c;避免了使用SQL一句一句插入给数据库带来的压力。在工作中&#xff0c;简单的使用了一下&#xff0c;并没有深入的研究&#xff0c;下面是一个例子。 ① 数据文件信息&#xff1a; tina&#xff0c;12,34…

oracle sqlloader 的简单使用

1、EMP1 建表语句&#xff1a; CREATE TABLE EMP1 (EMPNO NUMBER(8) NOT NULL,ENAME VARCHAR2(10),HIREDATE DATE,JOB VARCHAR2(20),SAL NUMBER(8),DEPTNO NUMBER(8) NOT NULL ); 2、test.txt 数据文件&#xff1a; 1|Abandon1|2022-02-01|销售人员1|2500…

linux sql*loader-704,初见Oracle SqlLoader工具

因为大量的数据存在于文本文件中&#xff0c;需要导入到Oracle&#xff0c;有幸接触到神器SqlLoader. 在安装好Oracle的主机上单独运行sqlldr命令 sqlldr 将看到关于此工具的说明: 也只是简单的一个例子&#xff0c;帮助初次接触的你。 编写一个ctl文件&#xff0c;Oracle数据库…

mysql sql loader_Sql Loader的简单使用

之前总结的关于SQL*Loader的用法&#xff0c;今天又用到&#xff0c;又翻出来看看 SQL*Loader 可将外部文件中的数据加载到Oracle DB的表中。它具有一个功能强大的数据分析引擎&#xff0c;因此对数据文件中数据的格式没有什么限制。 SQL*Loader 使用以下文件&#xff1a;输入数…

Linux中sql*loader-350,SqlLoader

Sqlloader的步骤 1) Oracle 数据库端必须已经建好了需要导入的数据表的结构 2) 存在数据源文件 3) 手工编辑一个XXX.CTL 的控制文件 4) 命令行加载数据 Sqlldr命令具体信息如下图 Sqlldr运行的一个具体例子 sqlldr userid=user1/123456 control=bcp1.ctl log=log/bcp1.log bad=…

如何使用SqlLoader导入数据

Oracle 使用sqlloader导入数据非常方便,下面是我的导入步骤&#xff1a; 第一步&#xff0c;检查机器安装了sqlldr.exe没&#xff1f; 2、建一张表 CREATE TABLE student1 ( sname varchar (20), sage INTEGER, semall varchar (20), sphone VARCHAR (20), saddress varchar (…

MyBatis select标签

在 MyBatis 中&#xff0c;select 标签是最常用也是功能最强大的 SQL 语言&#xff0c;用于执行查询操作。 select 示例语句如下。 SELECT id,NAME,url FROM website WHERE NAME LIKE CONCAT (‘%’,#{name},‘%’) 以上是一个 id 为 selectAllWebsite 的映射语句&#xff0…

MyBatis标签对postgreSQL中returning返回参数的处理

mybatis中用标签处理SQL语句时&#xff0c;遇到pgsql中比较特殊的returning *。 当INSERT时会返回returning后的字段&#xff0c;但是在mybatis中使用INSERT("${sql}")时会遇到如下错误 ps&#xff1a; Mapper method com.lingtu.mapper.EventMapper.insert has an u…

MyBatis 配置文件标签

文章目录 MyBatis 配置文件标签1. properties2. settings3. plugins4. typeAliases5. environments6. mappers MyBatis 配置文件标签 MyBatis 的全局配置文件习惯上命名为&#xff1a;mybatis-config.xml &#xff0c;此文件名仅仅是建议&#xff0c;并非是强制要求。配置文件存…

Mybatis值trim标签

Mybatis具有实现动态SQL的能力&#xff0c;使用这个特性免不了会用到trim这个标签&#xff0c;trim标签的功能简单来说就是自定义格式拼凑SQL语句。 trim有4个属性&#xff1a; prefix&#xff1a;表示在trim包裹的SQL前添加指定内容 suffix&#xff1a;表示在trim包裹…

MyBatis foreach标签

前面我们学习了如何使用 Mybatis if、where、trim 等动态语句来处理一些简单的查询操作。对于一些 SQL 语句中含有 in 条件&#xff0c;需要迭代条件集合来生成的情况&#xff0c;可以使用 foreach 来实现 SQL 条件的迭代。 Mybatis foreach 标签用于循环语句&#xff0c;它很…

mybatis常用标签

一.定义sql语句 1.select 标签 属性介绍: &#xff08;1&#xff09;id :唯一的标识符. &#xff08;2&#xff09;parameterType:传给此语句的参数的全路径名或别名 例:com.test.poso.User或user &#xff08;3&#xff09;resultType :语句返回值类型或别名。注意&#xff…

Mybatis中标签大全

文章目录 一、标签分类 二、标签总结 1. 基础SQL标签 1.1 查询select 1.2 增删改 1.3 其他基础标签 1.3.1 sql 标签 1.3.2 include 标签 1.3.3 if 标签 1.3.4 别名 2. collection与association标签 3. resultMap标签 4. foreach标签 5. where标签 6. set标签 7.…

jarsigner命令行签名打包

jarsigner签名&#xff0c;之前都是通过AS进行签名&#xff0c;通过这种方式也是可以签名的&#xff0c;需要提前把需要的东西准备好&#xff0c;现在把步骤记录在下面。&#xff08;下面的操作都是在jdk的路径下进行操作&#xff09; 1.首先准备Jdk的路径&#xff08;在androi…

jarsigner: 无法打开 jar 文件: tap_unsign.apk

flutter 的 android项目上线&#xff0c;我们在想应用宝发布应用时&#xff0c;需将key.jks文件放入应用宝的空白文件中&#xff0c;在cmd中执行 jarsigner -verbose -keystore key.jks -signedjar baoming.apk tap_unsign.apk name遇到如下报错 jarsigner: 无法打开 jar 文件…

apk重签名之jarsigner命令签名

apk的签名工作可以通过两种方式来完成&#xff1a; 1&#xff09;通过ADT提供的图形化界面完成apk签名&#xff1b;2&#xff09;完全通过DOS命令来完成apk签名 1&#xff09;准备工作 我比较喜欢第2&#xff09;种方式&#xff0c;所以下面将讲解如何通过命令的方式完成apk…

jarsigner签名

上线了3年多的项目,最近为了进行市场推广,在现在主流的vivo,oppo,华为及百度和阿里进行上传应用.因为有些市场是因为有抓取包的行为(比如在oppo应用市场,以前从未在oppo市场上传过应用,但是能在他的市场中搜索到,这就是因为在其他市场比如应用宝这些市场抓取过包),因此在诸如op…