mysql 导入表_如何向mysql导入数据

一、导入.sql文件

1.mysql命令导入数据

基本语法:mysql -h服务器地址 -u用户名 -p 数据库名< 要导入的数据库文件路径

例:导入G:/mydb.sql

96350d9c5cb4fa9e350273ed5f9c1838.png

2.source命令导入数据

基本语法:source 数据库文件路径;

例:导入G:/mydb2.sql

6068b07d6e977c457f759363568d4bed.png

二、导入.csv/.txt文件

1.load data 导入数据

基本语法:

load data [low_priority] [local] infile 'file_name txt' [replace|ignore]

into table tbl_name

[fields

[terminated by'\t']

[optionally] enclosed by '']

[escaped by'\' ]]

[lines terminated by '\n']

[ignore n lines]

[(col_name, )]

low_priority:load data语句的执行被推迟到没有其他客户读取表之后。

local:从客户主机上按路径读取文件。若省略,则文件在服务器上按路径读取文件。

replace|ignore:控制对现有的唯一键记录的重复的处理。若指定replace,删除原有行,插入新行。若指定ignore,则保留原有行,跳过相同值的新行。若不指定,则找到重复键值时,出现一个错误,且文本文件的余下部分将被忽略。

fields terminated by:指定字段间的分隔符,默认'\t'。

lines terminated by:指定每行结尾的字符,默认'\n'。

如果fields和lines两个同时被指定,fields必须在lines之前。

fields [optionally] enclosed by:指定字段包围字符,若省略optionally,则所有的字段由enclosed by字符包围,反之,则enclosed by字符仅被用于包围char和varchar字段。

fields escaped by:指定转义字符,默认'\'

ignore n lines:忽视文件的前几行

(col_name, ):指定插入数据时表中列的顺序,若省略,则按默认顺序插入数据。

例:向user表插入文件'G:/用户表.txt'中数据。

用户表.txt中数据如下:

08ce4fb7ee31983d9ed2bffb43a91cd1.png

数据导入:

9963ad6a55bcb51a130436072b46062d.png

注:character set utf8/gbk这个字符集必须要写,若省略,可能会出现乱码或者只导入一部分数据。

2.mysqlimport导入数据

基本语法:mysqlimport -h服务器地址 -u 用户名 -p [--local] 数据库名 文件路径 [options]

options常用选项:

-d or --delete:导入数据前删除原数据表中的所有信息。

-f or --force:不管是否遇到错误,mysqlimport将强制继续插入数据

-i or --ignore:导入数据时跳过有相同唯一关键字的新行,保留原有行。

-r or -replace:用新行代替原数据表中有相同唯一关键字的记录。

-l or -lock-tables:导入数据前锁住原数据表。

--fields-terminated-by=name:设置字段间的分隔符,默认'\t'

--fields-optionally-enclosed-by=name:设置字段包围字符

--fields-escaped-by=name:设置转义字符,默认'\'

--lines-terminated-by=name:设置每行结尾的字符,默认'\n'

--ignore-lines=n:忽视文件的前几行

mysqlimport命令无需指定表名,而是根据文件名作为表名,该数据表在导入数据时必须存在。

--local:是在本地计算机中查找文件时使用(指定--local后,文件可以放在任何地方进行导入,否则文件只能放在mysql的data目录下或者指定绝对路径)。

例:向user2表插入G:\user2.csv文件中数据。

user2.csv中数据如下:

992a64430a05b40eccdd90ddabe0412e.png

数据导入:

d6b6ee98c7dfc407e0f923f11a41f2e5.png

MySQL导入数据通常有以下几种方法: 1. 使用`LOAD DATA INFILE`语句: 这是一种快速导入数据的方法,适用于将文本文件中的数据导入MySQL数据库中。以下是一个基本的使用示例: ```sql LOAD DATA INFILE '/path/to/yourfile.txt' INTO TABLE your_table_name FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' (column1, column2, column3, ...); ``` 注意,使用此语句需要确保文件路径正确,数据格式与结构匹配,并且根据实际情况设置字段分隔符、文本限定符和行终止符。 2. 使用`mysqlimport`命令行工具: `mysqlimport`是MySQL提供的一个命令行工具,可以用来导入文本文件中的数据。使用该工具的命令格式如下: ```bash mysqlimport [OPTIONS] db_name textfile1 [textfile2 ...] ``` 其中`OPTIONS`可以包括连接选项、导入选项等,`db_name`是数据库名,`textfile1`是数据文件。同样,需要确保数据文件的格式与结构一致。 3. 使用MySQL的客户端工具: 在一些图形界面的MySQL客户端工具中,例如phpMyAdmin、Navicat、MySQL Workbench等,通常都有导入数据的功能。这些工具通过图形界面辅助用户完成数据导入,操作起来更加直观简单。 4. 使用SQL语句`INSERT INTO ... SELECT`: 如果数据文件已经保存在另一个数据中,或者能够通过查询得到,可以使用`INSERT INTO ... SELECT`语句将数据导入到新的数据中。例如: ```sql INSERT INTO your_new_table_name (column1, column2, ...) SELECT column1, column2, ... FROM your_existing_table_name; ``` 在使用上述方法时,需要确保你有足够的权限对数据库进行操作,并且对数据文件的安全性和完整性负责,避免数据泄露或破坏原有数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值