首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >MySQL 数据备份恢复(一)select into outfile & load data infile

MySQL 数据备份恢复(一)select into outfile & load data infile

作者头像
Se7en258
发布于 2021-07-01 07:02:49
发布于 2021-07-01 07:02:49
3.9K00
代码可运行
举报
文章被收录于专栏:Se7en的架构笔记Se7en的架构笔记
运行总次数:0
代码可运行

load data infile 和 select into outfile 是 MySQL 用于导入和导出数据的命令。select into outfile 语句用于将检索出来的数据按格式导出到文件中。load data infile 是将带有格式的数据文件导入到表中。使用 load data infile 的方式插入数据比直接执行 insert 语句插入至少快几十倍。

导出、导入数据时需要指定格式(如不指定,则使用默认)。格式涉及几个方面:字段分隔符、行分隔符、引用符号、转义符号。

语法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 从MySQL服务器导出数据
SELECT ... INTO OUTFILE 'file_name'
        [CHARACTER SET charset_name]
        [export_options]
 
# 导入数据到MySQL服务器
LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name'
    [REPLACE | IGNORE]
    INTO TABLE tbl_name
    [CHARACTER SET charset_name]
        [export_options]
    [IGNORE number {LINES|ROWS}]
    [(col_name_or_user_var,...)]
    [SET col_name = expr,...]
 
# 额外参数,导入导出都可以使用
export_options:
    [{FIELDS | COLUMNS}
        [TERMINATED BY 'string']
        [[OPTIONALLY] ENCLOSED BY 'char']
        [ESCAPED BY 'char']
    ]
    [LINES
        [STARTING BY 'string']
        [TERMINATED BY 'string']
    ]
  • 其中 'char' 表示只能使用一个字符,'string' 表示可以指定多个字符。
  • fields terminated by 'string' 指定字段分隔符。
  • enclosed by 'char' 指定所有字段都使用 char 符号包围。
  • lines starting by 'string'指定行开始符。
  • escaped by 'char' 指定转义符。
    • 匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 也匹配如\n或\r。
    • () 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符。
    • * 匹配前面的子表达式零次或多次。
    • + 匹配前面的子表达式一次或多次。
    • . 匹配除换行符 \n 之外的任何单字符。
    • [] 标记一个中括号表达式的开始。
    • ? 匹配前面子表达式零次或一次,或指明一个非贪婪限定符。
    • \ 将下一个字符标记为或特殊字符或原意字符。例如:n 匹配字符 n,而 \n 匹配换行符。 \\ 匹配 \
    • ^ 匹配输入字符串的开始位置,如果在方括号表达式中使用,此时表示不接受该字符集合。
    • {} 标记限定符表达式的开始。
    • | 指明两项之间的一个选择。
    • 数据中含有特殊字符。
    • 字段分隔符含有特殊字符。
    • 在以下几种情况下需要使用转义符:
    • 需要转移的特殊字符

默认值为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 字段由\t分割               字段由''包围     转移符号为\
fileds terminated by '\t' enclosed by '' escaped by '\\'
# 每行由换行符\n结束          每行从空值''开始
lines terminated by '\n' starting by ''

导入导出配置说明

导出数据使用 select into outfile 命令,导出的文件只能位于 MySQL 服务器上。 导入数据使用 load data infile 命令,当使用 local 参数时,文件位于客户端上;当不使用 local 参数时,文件位于 MySQL 服务器上。

高清图片:https://www.processon.com/view/link/60b5eafbe0b34d06f2021455

select into outfile 导出数据

MySQL 服务器参数设置

导出数据必须要在 MySQL 服务器上设置 secure-file-priv 参数,默认值为 NULL,表示禁止 MySQL 服务器上的所有目录有用于导入或导出数据。这个变量是静态全局变量,只能通过 my.cnf 配置文件修改。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[mysqld]
# 允许导出或导入数据的目录
secure-file-priv=/data

# 目录为空表示允许所有目录
# secure-file-priv=

修改完成后重启 MySQL 服务:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
systemctl restart mysql

登录 MySQL 以后使用以下命令查询,结果不为 NULL 则表示设置成功。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mysql> select @@global.secure_file_priv;
+---------------------------+
| @@global.secure_file_priv |
+---------------------------+
| /data/                    |
+---------------------------+
1 row in set (0.01 sec)

另外还需要确保运行 MySQL 服务的用户具有该目录的读写权限,本例中运行 MySQL 的用户是 mysql。

创建 /data 目录,并且设置该目录属于 mysql 用户。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mkdir /data
chown -R mysql.mysql /data
准备数据

先在 MySQL 数据库中准备一些数据用于导出数据。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 创建数据库
create database test;

# 切换数据库
use test;

# 创建表
create  table person(id int primary key,sex char(3),name char(20),ins_day date);

# 插入数据
insert into person values(1,'nan','longshuai1','2010-04-19'),
                    (2,'nan','longshuai2','2011-04-19'),
                    (3,'nv','xiaofang1','2012-04-19'),
                    (4,'nv','xiaofang2','2013-04-19'),
                    (5,'nv','xiaofang3','2014-04-19'),
                    (6,'nv','xiaofang4','2015-04-19'),
                    (7,'nv','tun\'er','2016-04-19'),
                    (8,'nan','longshuai3','2017-04-19');
导出数据

使用以下命令将 person 表的数据导出,导出数据的文件中字段由 , 分割。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mysql> select * from test.person into outfile '/data/person.txt' fields terminated by ',';

在 MySQL 服务器上的 /data 目录下查看 person.txt 文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@mysql-ocp tmp]# cat /data/person.txt 
1,nan,longshuai1,2010-04-19
2,nan,longshuai2,2011-04-19
3,nv,xiaofang1,2012-04-19
4,nv,xiaofang2,2013-04-19
5,nv,xiaofang3,2014-04-19
6,nv,xiaofang4,2015-04-19
7,nv,tun'er,2016-04-19
8,nan,longshuai3,2017-04-19

load data infile 导入数据

使用 load data infile 命令导入数据时,如果使用 local 参数表示从客户端读取文件,指定的目录是客户端上的目录;如果没有使用 local 参数,表示从 MySQL 服务器上读取文件,指定的目录是 MySQL 服务器上的目录。

方式一:不使用 local 参数

不使用 local 参数时,读取的文件是在 MySQL 服务器上的。需要在 MySQL 服务器和客户端分别设置 local-infile 参数。

MySQL 服务器参数设置

编辑 MySQL 服务器的 my.cnf 文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[mysqld]
# 允许导出或导入数据的目录
secure-file-priv=/data

# 目录为空表示允许所有目录
# secure-file-priv=

# 允许MySQL 服务接受导入数据,
# MySQL 5.x版本默认是1,允许
# MySQL 8.x版本默认不允许
local-infile=1

另外 local-infile 参数可以使用 set 命令开启,以下三个命令等效:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mysql> SET GLOBAL local_infile = 'ON';
mysql> SET GLOBAL local_infile = 1;
mysql> SET GLOBAL local_infile = true;

设置完成后查看 MySQL 服务器的参数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mysql> show variables like 'secure_file_priv';
+------------------+--------+
| Variable_name    | Value  |
+------------------+--------+
| secure_file_priv | /data/ |
+------------------+--------+
1 row in set (0.04 sec)

mysql> show variables like 'local_infile';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| local_infile  | ON    |
+---------------+-------+
1 row in set (0.22 sec)

编辑完成保存退出后,重启 MySQL 服务:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
systemctl restart mysql
客户端参数设置

方式一:编辑客户端的 my.cnf 文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[mysql]
# 允许客户端导入数据,默认不允许
local-infile=1

方式二:登录时指定参数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
shell> mysql -uchengzw -h 192.168.1.15 -p123456 --local-infile=1
导入数据

导入数据之前先将 person 表的数据清空:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mysql> truncate test.person;

执行以下命令读取 MySQL 服务器上 /data 目录的 person.txt 文件,将数据导入 MySQL 数据库

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mysql> load data infile '/data/person.txt' into table test.person fields terminated by ',';

查看导入的数据:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mysql> select * from test.person;
+----+------+------------+------------+
| id | sex  | name       | ins_day    |
+----+------+------------+------------+
|  1 | nan  | longshuai1 | 2010-04-19 |
|  2 | nan  | longshuai2 | 2011-04-19 |
|  3 | nv   | xiaofang1  | 2012-04-19 |
|  4 | nv   | xiaofang2  | 2013-04-19 |
|  5 | nv   | xiaofang3  | 2014-04-19 |
|  6 | nv   | xiaofang4  | 2015-04-19 |
|  7 | nv   | tun'er     | 2016-04-19 |
|  8 | nan  | longshuai3 | 2017-04-19 |
+----+------+------------+------------+
8 rows in set (0.01 sec)
方式二:使用 local 参数

使用 local 参数时,读取文件的是在客户端上的。需要在 MySQL 服务器和客户端分别设置 local-infile 参数。

MySQL 服务器参数设置

编辑 MySQL 服务器的 my.cnf 文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[mysqld]
# 允许MySQL 服务接受导入数据,
# MySQL 5.x版本默认是1,允许
# MySQL 8.x版本默认不允许
local-infile=1
客户端参数设置

方式一:编辑客户端的 my.cnf 文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[mysql]
# 允许客户端导入数据,默认不允许
local-infile=1

方式二:登录时指定参数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
shell> mysql -uchengzw -h 192.168.1.15 -p123456 --local-infile=1
导入数据

将 MySQL 服务器上的 person.txt 文件拷贝到客户端上的 /tmp 目录上。执行以下命令读取客户端本地文件写入 MySQL 数据库。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mysql> load data local infile '/tmp/person.txt' into table test.person fields terminated by ',';

查看导入的数据:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mysql> select * from test.person;
+----+------+------------+------------+
| id | sex  | name       | ins_day    |
+----+------+------------+------------+
|  1 | nan  | longshuai1 | 2010-04-19 |
|  2 | nan  | longshuai2 | 2011-04-19 |
|  3 | nv   | xiaofang1  | 2012-04-19 |
|  4 | nv   | xiaofang2  | 2013-04-19 |
|  5 | nv   | xiaofang3  | 2014-04-19 |
|  6 | nv   | xiaofang4  | 2015-04-19 |
|  7 | nv   | tun'er     | 2016-04-19 |
|  8 | nan  | longshuai3 | 2017-04-19 |
+----+------+------------+------------+
8 rows in set (0.01 sec)
导入数据例子

查看文件内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
❯ cat /tmp/person.txt
 "1","nan","longshuai1","2010-04-19"
 "2","nan","longshuai2","2011-04-19"
 "3","nv","xiaofang1","2012-04-19"
 "4","nv","xiaofang2","2013-04-19"
 "5","nv","xiaofang3","2014-04-19"
 "6","nv","xiaofang4","2015-04-19"
 "7","nv","tun\'er","2016-04-19"
 "8","nan","longshuai3","2017-04-19"

文件每行以 \t 开头,每个字段由 " 包围,使用以下语句将文件数据导入 MySQL:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mysql> load data local infile '/tmp/person.txt' into table test.person fields terminated by ',' enclosed
by '"' lines starting by '\t';

查看导入后的数据:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mysql> select * from test.person;
+----+------+------------+------------+
| id | sex  | name       | ins_day    |
+----+------+------------+------------+
|  1 | nan  | longshuai1 | 2010-04-19 |
|  2 | nan  | longshuai2 | 2011-04-19 |
|  3 | nv   | xiaofang1  | 2012-04-19 |
|  4 | nv   | xiaofang2  | 2013-04-19 |
|  5 | nv   | xiaofang3  | 2014-04-19 |
|  6 | nv   | xiaofang4  | 2015-04-19 |
|  7 | nv   | tun'er     | 2016-04-19 |
|  8 | nan  | longshuai3 | 2017-04-19 |
+----+------+------------+------------+
8 rows in set (0.03 sec)

除了前面介绍的基本导入和导出操作以外,还可以在导入和导出的时候对数据做过滤,修改等操作。

忽略前两行

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mysql> load data local infile '/tmp/person.txt' into table test.person fields terminated by ',' enclosed
by '"' lines starting by '\t' ignore 2 rows;
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mysql> select * from test.person;
+----+------+------------+------------+
| id | sex  | name       | ins_day    |
+----+------+------------+------------+
|  3 | nv   | xiaofang1  | 2012-04-19 |
|  4 | nv   | xiaofang2  | 2013-04-19 |
|  5 | nv   | xiaofang3  | 2014-04-19 |
|  6 | nv   | xiaofang4  | 2015-04-19 |
|  7 | nv   | tun'er     | 2016-04-19 |
|  8 | nan  | longshuai3 | 2017-04-19 |
+----+------+------------+------------+

id值增加5

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mysql> load data local infile '/tmp/person.txt' into table test.person fields terminated by ',' enclosed
by '"' lines starting by '\t' set id=id+5;
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mysql> select * from test.person;
+----+------+------------+------------+
| id | sex  | name       | ins_day    |
+----+------+------------+------------+
|  6 | nan  | longshuai1 | 2010-04-19 |
|  7 | nan  | longshuai2 | 2011-04-19 |
|  8 | nv   | xiaofang1  | 2012-04-19 |
|  9 | nv   | xiaofang2  | 2013-04-19 |
| 10 | nv   | xiaofang3  | 2014-04-19 |
| 11 | nv   | xiaofang4  | 2015-04-19 |
| 12 | nv   | tun'er     | 2016-04-19 |
| 13 | nan  | longshuai3 | 2017-04-19 |
+----+------+------------+------------+
8 rows in set (0.04 sec)

name字段后面拼接 @qq.com

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mysql> load data local infile '/tmp/person.txt' into table test.person fields terminated by ',' enclosed
by '"' lines starting by '\t' set name=concat(name,'@qq.com');
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mysql> select * from test.person;
+----+------+-------------------+------------+
| id | sex  | name              | ins_day    |
+----+------+-------------------+------------+
|  1 | nan  | longshuai1@qq.com | 2010-04-19 |
|  2 | nan  | longshuai2@qq.com | 2011-04-19 |
|  3 | nv   | xiaofang1@qq.com  | 2012-04-19 |
|  4 | nv   | xiaofang2@qq.com  | 2013-04-19 |
|  5 | nv   | xiaofang3@qq.com  | 2014-04-19 |
|  6 | nv   | xiaofang4@qq.com  | 2015-04-19 |
|  7 | nv   | tun'er@qq.com     | 2016-04-19 |
|  8 | nan  | longshuai3@qq.com | 2017-04-19 |
+----+------+-------------------+------------+
8 rows in set (0.04 sec)
PyMySQL 导入数据

PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2 中则使用 mysqldb。

使用以下命令安装最新版的 PyMySQL:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install PyMySQL

python 代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import pymysql

# 创建连接
# local_infile=True,表示允许客户端通过 load data infile 导入数据,和前面设置的 local-infile=1 含义相同
# autocommit=True 表示自动提交事务
db=pymysql.connect(host='192.168.1.15',
                             port=3306,
                             user='chengzw',
                             passwd='123456',
                             db='test',
                             charset='utf8',
                             local_infile=True,
                             autocommit=True)

# 获取cursor
cursor = db.cursor()

# 执行SQL语句
# 执行导入数据操作,| 可以用 \ 转义也可以不用
cursor.execute("load data local infile '/tmp/person.txt' into table test.person fields terminated by '|'")
#cursor.execute('INSERT INTO `person` (`id`,`sex`,`name`,`ins_day`) VALUES (%s,%s,%s,%s)', (1,'nv','chengzw','2021-01-02'))
print("执行结果为:",cursor.lastrowid)

# 查询数据
cursor.execute('SELECT * FROM `person`')
data=cursor.fetchall()
print(data)

# 关闭连接
cursor.close()
db.close()

参考链接

  • https://www.cnblogs.com/f-ck-need-u/p/9013643.html
  • https://www.cnblogs.com/applelife/p/10516326.html
  • https://www.cnblogs.com/shockerli/p/python3-pymysql.html
  • https://www.runoob.com/python3/python3-mysql.html
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-06-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Se7en的架构笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
极客程序员的最爱,全面屏科幻终端模拟器——eDEX-UI
eDEX-UI 全面屏且跨平台的终端模拟器应用程序,他有点类似于科幻计算机界面,它被用于大型触摸屏,但可以在普通台式机,笔记本电脑或平板电脑上很好地工作,因为它还能识别键盘输入。他不是为了替换shell,它看上去更像是shell的一个替代品,更是受广大极客爱好者的喜爱!通过本文的了解,你就能知道它真正的用途是什么了!
昱良
2019/07/16
1.9K0
极客程序员的最爱,全面屏科幻终端模拟器——eDEX-UI
装X神器!2022科幻飓风来袭!!
最近在 Github 上闲逛时发现了一款超级好用的开源免费软件。如果你也和大叔一样,是一个地道的科幻电影迷,那这款软件绝对是你不可错过的装逼神器!
永恒君
2022/12/07
6190
装X神器!2022科幻飓风来袭!!
卧槽!终端还能这么玩?!
最近发现一款超火的开源软件 eDEX-UI , 它是一个全屏,跨平台的终端模拟器和系统监视器,看起来和感觉就像一个科幻计算机界面。
程序员老鱼
2022/12/02
5100
35.9k stars出现在黑客电影里面的监控终端
开源地址:https://github.com/GitSquared/edex-ui
开源日记
2023/03/10
4830
35.9k stars出现在黑客电影里面的监控终端
edex-UI实现你的黑客梦
今天分享的开源项目,也是一个前端项目,一款科幻感十足的终端模拟器edex UI,先放图:
希里安
2023/10/30
5030
edex-UI实现你的黑客梦
web终端界面模块开发
昨天研究了日志模块,今天来看看模拟终端界面,一般是使用现成的xterm.js,直接引入页面,使用websocket连接后端。今天我们就来研究研究:
希里安
2023/10/30
5580
web终端界面模块开发
扔掉 Electron,拥抱基于 Rust 开发的 Tauri
Tauri 是一个跨平台 GUI 框架,与 Electron 的思想基本类似。Tauri 的前端实现也是基于 Web 系列语言,Tauri 的后端使用 Rust。Tauri 可以创建体积更小、运行更快、更加安全的跨平台桌面应用。
闻说社
2022/05/07
1.6K0
2023 推荐:10 款最佳 Linux 终端,让你的终端便捷有趣
尽管图形用户界面取得了各种进步,但终端模拟器在技术市场上仍然占有一席之地。终端模拟器是一种软件,可以让你借助命令与主机进行交互。终端模拟器是每个 Linux 发行版的生命线,因为它能让你发挥 Linux 的真正优势。
用户1418987
2023/10/16
20.5K0
2023 推荐:10 款最佳 Linux 终端,让你的终端便捷有趣
前端月趋势榜:3 月最流行的 20 个前端开源项目 - 0403
从 2018 年开始,我就养成了每天逛 GitHub 的习惯,一般在早上上班前或者中午午休的时候都会逛一下。
夜尽天明
2023/03/15
3.1K0
前端月趋势榜:3 月最流行的 20 个前端开源项目 - 0403
Electron以慢著称,为什么桌面QQ却选择它做架构升级?跟着大厂玩(electron-egg)
在不久之前我看到了腾讯云社区发布了一条文章,里面写着 QQ 重构? 我就点去看看用的啥技术结果是 Electron 这个我见到过一直想玩玩桌面应用,
杨不易呀
2023/10/29
3.3K9
Electron以慢著称,为什么桌面QQ却选择它做架构升级?跟着大厂玩(electron-egg)
2022 前端领域的新变化
想必大家看到了 "Vue 3 将在 2022 年 2 月 7 日成为新的默认版本!" 的新闻了,目前各个大厂都有团队开始在新的项目上使用 Vue 3 ,许多活跃的小公司也纷纷加入行列,这预示着 Vue 3 已经开始步入了成年期,2022年 Vue 3 在前端的占有率将越来越高,或许在大厂中都会与 React 持平,打破 "大厂只用 React" 的局面。
coder_koala
2022/03/24
6470
2022 前端领域的新变化
前端月趋势榜:3 月最流行的 20 个前端开源项目
相信很多人都没有逛 GitHub 的习惯,因此总会有开源信息的不对称,有哪些优秀的前端开源项目值得学习的也不知道。
徐小夕
2021/04/21
3.2K0
前端月趋势榜:3 月最流行的 20 个前端开源项目
GitHubDaily 周报第 100 期
GitHub:https://github.com/nondanee/vsc-netease-music
GitHubDaily
2019/03/26
5850
Github 轻松斩获30k+ Star,桌面应用开发太丝滑啦,Tauri框架能重塑桌面App开发?别错过,抓紧上车
嗨,我是小华同学,专注解锁高效工作与前沿AI工具!每日精选开源技术、实战技巧,助你省时50%、领先他人一步。👉免费订阅,与10万+技术人共享升级秘籍!
小华同学ai
2025/07/24
3770
Github 轻松斩获30k+ Star,桌面应用开发太丝滑啦,Tauri框架能重塑桌面App开发?别错过,抓紧上车
开源月刊《HelloGitHub》第 68 期
这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Python、Java、Go、C/C++、Swift...让你在短时间内感受到开源的魅力,对编程产生兴趣!
玖柒的小窝
2021/11/28
5270
开源月刊《HelloGitHub》第 68 期
几款超炫酷的终端工具推荐
在远程终端工具中,XShell 是一款比较有名的远程工具,但收费。功能很强大,可以满足我们使用远程软件的大部分需求,但是,有更多的选择总是好的,今天再介绍一个同样呼声很高的自由(free)软件——Tabby,powershell,eDEX-UI
小羽网安
2024/06/04
4150
几款超炫酷的终端工具推荐
Electron 跨平台应用开发的终极技能
各位朋友,是否想打造一款属于自己的桌面程序?昨天分享了炫酷的前端开源项目edex UI终端模拟器,里面就是用的electron来打包编译windows桌面程序。之前刚毕业那会有过开发windows应用的经历,不过是用C#的winform开发一点简单的应用,后面就没有然后了,代码类似如下:
希里安
2023/10/30
4820
Electron 跨平台应用开发的终极技能
Star 4.1k!Gitee GVP开源项目!新一代桌面应用开发框架 ElectronEgg!
随着现代技术的快速升级迭代及发展,桌面应用开发已经变得越来越普及。然而对于非专业桌面应用开发工程师在面对这项任务时,可能会感到无从下手,甚至觉得这是一项困难的挑战。
Python兴趣圈
2023/12/11
8020
Star 4.1k!Gitee GVP开源项目!新一代桌面应用开发框架 ElectronEgg!
2022年2月开源项目精华都在这里啦~
周末,小妹花了点时间整理了一下2月份分享过的酷酷开源项目,方便大家进行查看和收藏!
永恒君
2022/12/07
3900
2022年2月开源项目精华都在这里啦~
又一个跨端框架来了! 腾讯开源内部跨端统一开发框架:Hippy!
最近腾讯出了一套跨端开发框架 :Hippy 其实早在今年年初微信也出了一套:腾讯微信发布多端统一框架 Omi
开发者技术前线
2020/11/23
3.4K0
又一个跨端框架来了! 腾讯开源内部跨端统一开发框架:Hippy!
推荐阅读
相关推荐
极客程序员的最爱,全面屏科幻终端模拟器——eDEX-UI
更多 >
LV.0
运维开发工程师
目录
  • 语法
  • 导入导出配置说明
  • select into outfile 导出数据
    • MySQL 服务器参数设置
    • 准备数据
    • 导出数据
  • load data infile 导入数据
    • 方式一:不使用 local 参数
    • 方式二:使用 local 参数
    • 导入数据例子
    • PyMySQL 导入数据
  • 参考链接
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档