如何向mysql導入數據

2021-01-08 day數據處理與分析

一、導入.sql文件

1.mysql命令導入數據

基本語法:mysql -h伺服器地址 -u用戶名 -p 資料庫名< 要導入的資料庫文件路徑

例:導入G:/mydb.sql

2.source命令導入數據

基本語法:source 資料庫文件路徑;

例:導入G:/mydb2.sql

二、導入.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中數據如下:

數據導入:

註: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中數據如下:

數據導入:

相關焦點

  • Mysql百萬數據量級數據快速導入Redis
    在解析應答時,redis會對解析的應答進行一個計數,在最後能夠告訴用戶大量插入會話向伺服器傳輸的命令的數量。也就是上面我們使用pipe模式實際操作的響應結果。將輸入數據源換成mysql上面的例子中,我們以一個txt文本為輸入數據源,使用了pipe模式導入數據。
  • MySQL數據導入Hive-Java
    SqoopSqoop並不在這篇文章的範圍內,拿出來說的原因是,公司數據研發部門是通過Sqoop將資料庫數據導入到Hive中,其原理是將資料庫數據導入到HDFS中臨時存儲, 然後在將文件導入到Hive中,最終刪掉臨時存儲的文件。
  • MySQL如何快速插入數據
    前言:日常學習和工作中,經常會遇到導數據的需求。比如數據遷移、數據恢復、新建從庫等,這些操作可能都會涉及大量數據的導入。有時候導入進度慢,電腦風扇狂轉真的很讓人崩潰,其實有些小技巧是可以讓導入更快速的,本篇文章筆者會談一談如何快速的導入數據。
  • Oracle和MySQL的數據導入,差別為什麼這麼大
    我禁不住開始思考這個未曾注意的問題:為什麼Oracle導入數據會碰到很多的問題?我們來梳理一下這個問題,分別從導出導入的方式來聊聊。導出的部分其實不是最主要的,產生隔閡最大的是導入的部分,也是提出問題最多的。MySQL有什麼數據導入工具,可以理解沒有,就是SQL文本,你想怎麼執行都可以。包括工具mysqldump,mysqlpump導出的文件都是如此,mydump有個配套的myloader算是一個小小的例外。
  • sqoop的使用之導入到hive和mysql
    承接上一篇文檔《sqoop的使用之import導入到HDFS》mysql導入數據到hive中該如何做呢?>查看mysql元數據信息發現新建的庫表都沒有難道沒有使用mysql的元資料庫?從hdfs導入到mysql(export)常規模式導入數據到mysql我們創建一個表create table tomysql(id int primary key not null,name varchar(20) not null);導出語句bin/sqoop export
  • mysql資料庫導入和導出
    以下的文章主要介紹的是MySQL導入sql 文件,即MySQL資料庫導入導出sql 文件的實際操作步驟,我們主要是將其分成5大步驟對其進行講述。步驟如下:一.mysql的命令行模式的設置:首先,安裝mysql資料庫,若是手動安裝,請將路徑添加進環境變量,如下桌面->我的電腦->屬性->環境變量->新建->PATH=「;path\MySQL\bin;」其中path為mysql的安裝路徑。
  • MySQL導入導出
    導出、導入表中的記錄語句:(1)從DB中導出到文件mysql>select * into outfile '/home/outfilename.txt' fromdbtest;(2)從文件導入到DBmysql>load data infile '/home/outfilename.txt ' into table
  • MySQL導入導出常用命令
    導出、導入表中的記錄語句:(1)從DB中導出到文件mysql>select * into outfile '/home/outfilename.txt' fromdbtest;(2)從文件導入到DBmysql>load data
  • MySQL 備份數據那點事
    mysqldump什麼是 mysqldump ?mysqldump 是 MySQL 用於執行邏輯備份的一款工具,可以根據原始資料庫對象以及表的定義和數據來生成一系列可以被執行的 SQL 語句。通常我們用它作為備份或者遷移數據。
  • 如何將傳統關係資料庫的數據導入Hadoop?
    問題將關係數據加載到集群中,並確保寫入有效且冪等。解決方案在這種技術中,我們將看到如何使用Sqoop作為將關係數據引入Hadoop集群的簡單機制。我們會介紹將數據從MySQL導入Sqoop的過程,還將介紹使用快速連接器的批量導入(連接器是提供資料庫讀寫訪問的特定於資料庫的組件)。
  • MySQL發生全表更新後如何快速恢復數據
    數據恢復上一篇文章 我們大概講解了下當數據表發生全表更新後,如何使用冷備份數據和基於mysql的binlog實現增量式恢復數據;恢復數據效率不高;通過查閱資料和閱讀mysql官方文檔,還有一種應該算比較高效和可靠的方式來恢復全表更新後的數據。
  • 實戰 | MySQL數據備份、恢復
    如果真實發生了,可以參考以下方式恢復:將 binlog 和上一次的備份結果拷貝到測試機器,將資料庫恢復到drop語句之前的一次事務狀態,並通過mysqldump將誤刪除的資料庫或者數據表導出,並導入生產環境的主庫。1.3.2.
  • python數據分析——pandas導入數據合集
    導入pandas庫import pandas as pd1.導入csv\txt文件數據pd.read_csv()常用參數:filepath_or_buffer:文件路徑(必填,其他參數按需求填寫)sep:指定分隔符,默認逗號','。header:指定第幾行作為表頭。
  • MySQL數據導出篇,直接使用mysql命令導出數據到文本文檔
    MySQL管理中,有時候需要把資料庫中的數據導出到外部存儲文件中,MySQL中的數據可以導出SQL文本文件,XML,HTML等文件格式,同樣這些導出也是可以導入到MySQL中,本文給大家介紹使用mysql命令導出文本文件語句格式使用mysql命令導出文本文件語句格式
  • MYSQL導入中文數據亂碼的四種解決辦法
    方法一:通過增加參數 --default-character-set = utf8 解決亂碼問題mysql -u root -p password < path_to_import_file --default-character-set = utf8
  • MySQL數據的備份和恢復
    數據備份的重要性2. 資料庫備份的分類3. 常見的備份方法4.恢復資料庫(1) 使用source恢復資料庫的步驟(2) 使用mysql命令恢復數據(3) 恢復表的操作1.數據備份的重要性在生產環境中,數據的安全性至關重要任何數據的丟失都可能產生嚴重的後果造成數據丟失的原因程序錯誤人為操作錯誤運算錯誤磁碟故障災難(如火災、地震)和盜竊2.
  • MySQL數據導入篇,用LOAD DATA INFILE將TXT數據導入MySQL資料庫
    MySQL允許將數據導出到外部文件,自然也允許將外部文件導入資料庫,本文為大家講解使用LOAD DATA INFILE從外部文本文件高速地讀取行導入數據表中語法結構LOAD DATA INFILE 『filename.txt』 INTO TABLE tablename
  • MySQL 資料庫如何改名?
    最近客戶諮詢了我一個關於如何更改 MySQL 庫名的問題。其實如何安全的更改資料庫名,是個非常棘手的問題,特別是針對 MySQL 來資料庫來說。今天梳理出來,供大家參考。 更改資料庫名大致上有以下幾種方案: 一、mysqldump 導入導出 要說最簡單的方法,就是直接用 mysqldump 工具,在舊庫導出再往新庫導入(最原始、最慢、最容易想到)的方法: 舊庫 yttdb_old 導出(包含的對象
  • mariaDB資料庫備份導出和導入
    mariaDB作為最流行的mysql資料庫分支,非常受web開發者歡迎.因為mysql的作者也是Mariadb的作者.技術非常厲害的一名選手.今天我向大家介紹下如何備份和導入資料庫吧.基本上這個備份和導入的過程每個開發者都會遇到.
  • 如何實現批量導入數據
    SQL Server 提供一個稱為 bcp 的流行的命令提示符實用工具,用於將數據從一個表移動到另一個表(表既可以在同一個伺服器上,也可以在不同伺服器上)。SqlBulkCopy 類允許編寫提供類似功能的託管代碼解決方案。