當前位置:首頁 » 網頁前端 » mysql如何用shell腳本插入數據
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

mysql如何用shell腳本插入數據

發布時間: 2022-05-09 16:40:23

⑴ 如何使用mysql語句向表中插入數據

在mysql中要向資料庫中保存數據我們最常用的一種方法就是直接使用Insert into語句來實現了,下面我來給大家詳細介紹Insert into語句用法

INSERT用於向一個已有的表中插入新行。INSERT…VALUES語句根據明確指定的值插入行。讓我們先來看一下insert語句標準的定義,放在[]內的都是可以省略的:

語法

INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]

[INTO] tbl_name [(col_name,...)]

VALUES ({expr | DEFAULT},...),(...),...

[ ON DUPLICATE KEY UPDATE col_name=expr, ... ]

實例

create table links (name varchar(255) not null default '', address varchar(255) not null default '');

最簡單的插入方法

代碼如下
復制代碼

Mysql>insert into worker values(『tom』,』[email protected]』),(『paul』,』[email protected]』);



insert into links values('jerichen','gdsz');

批量保存數據

假如我們想一次性的往資料庫里插入多條數據咋辦?一定要寫多條語句嗎?肯定是不會的,因為MySQL設計的還是很人性的。其提供insert語句的
一種非標准格式,即,values(欄位值1,欄位值2,欄位值3),(另一個欄位1的值,另一個欄位2的值,另一個欄位3的值);

# 同時插入兩條數據,看語法說明,那個into被我省略了

代碼如下
復制代碼

insert links (name,url) values('jerichen','gdsz'),('alone','gdgz');

使用INSERT…SELECT語句插入從其他表選擇的行

當我們在上一節學習創建表時,知道可以使用select從其它表來直接創建表,甚至可以同時復制數據記錄。如果你已經擁有了一個表,你同樣可以從select語句的配合中獲益。

從其它表中錄入數據,例如:

代碼如下
復制代碼

mysql>insert into tbl_name1(col1,col2) select col3,col4 from tbl_name2;

你也可以略去目的表的列列表,如果你每一列都有數據錄入。

代碼如下
復制代碼

mysql>insert into tbl_name1 select col3,col4 from tbl_name2;

INSERT INTO ... SELECT語句滿足下列條件:

查詢不能包含一個ORDER BY子句。

⑵ 如何寫在Linux下寫Shell腳本控制向mysql資料庫里插數據啊~~~著急~~~

while(1){
$dbh = DBI->connect ($connection_string, $userid, $username);
$sth=$dbh->prepare(insert into table(....) values(....));
$sth->execute
sleep (300);
}

⑶ shell往mysql資料庫導入新

本文介紹 MySQL 8.0 shell 子模塊 Util 的兩個導入特性 importTable/import_table(JS和python 版本的命名差異)、importJson/import_json的使用方法。


其中 import_table 是通過傳統 MySQL 協議來通信,Import_json 是通過 X 插件協議來通信。MySQL 一直以來提供導入文件 SQL 命令 load data infile(單線程)以及對應的可執行文件 mysqlimport(多線程)。


比如我導入 100W 行示例數據到表 ytt.tl1,花了 24 秒。這個已經是 MySQL 默認導入來的最快的。分析那我們現在看下 mysqlimport 工具的升級版,mysqlshell 的 util 工具集。


使用這兩個工具之前,必須得臨時開啟 local_infile 選項。1. import_table建立 3306 埠的新連接我這里切換為 python 模式清空掉示例表 Ytt.tl1import_table 有兩個參數,第一個參數定義導入文件的路徑,第二個定義相關選項,比如導入的格式,並發的數量等。定義文件路徑(參數1)定義選項(參數2)執行導入:只花了不到 17 秒,比傳統 mysqlimport 快了不少。


我們上面指定了顯式指定了欄位分隔符,那有沒有已經定義好的組合格式呢? 答案是有的,選項 dialect 可以指定以下格式:csv,tsv,json,csv-unix那麼上面的導入,我們可以更簡單,改下變數 y_options1 的定義導入時間差不多。這里要說明下,dialect 選項的優先順序比較低,比如添加了'linesTerminatedBy':' ', 則覆蓋他自己的' '。


選項 diaelect 還有一個可選值為 json,可以直接把 json 結果導入到文檔表裡。比如我新建一張表 tl1_json重新定義文件以及導入選項。導入 JSON 數據速度也還可以,不到 24 秒。那導入 json 數據,就必須得提到以 X 插件協議通信的工具 import_json了。2. imort_json我們切換到 mysqlx 埠import_json 參數和 Import_table 參數類似,這里我改下選項我在手冊上沒有看到多線程的選項,所以單線程跑 35 秒慢了些。查看剛剛導入的數據import_json 不僅僅可以導入 Json 數據,更重要的是可以在 BSON 和 JSON 之間平滑的轉換,有興趣的同學可以去 TRY 下。


⑷ 怎麼用shell腳本 去 讀取MySQL的數據,並把數據傳到該腳本中,替換變數

#!/bin/bash

USER="root"
PASS="123456"
DATABASE="cactidb"
TABLE="cdef"

DATA=`mysql -u $USER -p$PASS $DATABASE <<EOF
select * from $TABLE;
EOF`

echo $DATA

⑸ 在mysql中導入名為update.sql腳本,用shell實現,怎麼寫啊

建立一個腳本:

1、
update.sql中如果指定某個庫更新,需要先調用use db;,這個寫在Update.sql裡面。

#!/bin/bash
#Purpose import DB
Mysql_Pwd="yoursPwd"

mysql/to/paht/mysql -u root -p$Mysql_Pwd -h localhost < path/to/update.sql

或者
2、

#!/bin/bash
#Purpose import DB
Mysql_Pwd="yoursPwd"

cat > /tmp/import<<EOF
use DB;
source path/to/update.sql
flush privileges;
EOF
mysql/to/paht/mysql -u root -p$Mysql_Pwd -h localhost < /tmp/import
rm -f /tmp/import

⑹ shell 怎麼造mysql 的大量數據

若要將大量的數據值插入到資料庫的一個或多個表中,使用insert into語句來實現將是一項無聊的工作。
1、LOAD DATA通過讀取本地文件系統上的文件,可以將大量數據添加到資料庫中。
mysql> LOAD DATA INFILE 『datafile.txt』 INTO TABLE db2.table_name;
mysql> LOAD DATA INFILE 『datafile.txt』 INTO TABLE db2.table_name FIELDS TERMINATED BY 『,』 OPTIONALLY ENCLOSED BY 『」『;
mysql> load data infile 「file.txt」 into table table_name fields terminated by 『\t』 (sid,name);
2、還有一個mysqlimport命令可以批量增加,mysqlimport直接從文件讀取批量數據。它相當於LOAD DATA語句的一個介面。
mysqlimport可以自動生成一個LOAD DATA語句,該語句把filename.txt文件中的數據裝入table_name表中。
mysqlimport根據文件名導入表名,即將文件名第一個圓點前的所有字元作為表名。例如,文件class.txt被裝入class表中。
例如:
mysqlimport -L -uroot -proot db01 table_name.txt;
mysqlimport -local table_name filename.txt;
3、datafile.txt內容:
「1」,」a string」,」100.20″
「2」,」a string containing a , comma」,」102.20″
「3」,」a string containing a \」 quote」,」102.20″
「4」,」a string containing a \」, quote and comma」,」102.20″
4、假如你有x表,導入了一個y表,將y表數據插入x表:
insert into x select * from y;

⑺ 如何使用mysql shell

本文介紹 MySQL 8.0 shell 子模塊 Util 的兩個導入特性 importTable/import_table(JS和python 版本的命名差異)、importJson/import_json的使用方法。


其中 import_table 是通過傳統 MySQL 協議來通信,Import_json 是通過 X 插件協議來通信。MySQL 一直以來提供導入文件 SQL 命令 load data infile(單線程)以及對應的可執行文件 mysqlimport(多線程)。


比如我導入 100W 行示例數據到表 ytt.tl1,花了 24 秒。這個已經是 MySQL 默認導入來的最快的。分析那我們現在看下 mysqlimport 工具的升級版,mysqlshell 的 util 工具集。


使用這兩個工具之前,必須得臨時開啟 local_infile 選項。1. import_table建立 3306 埠的新連接我這里切換為 python 模式清空掉示例表 Ytt.tl1import_table 有兩個參數,第一個參數定義導入文件的路徑,第二個定義相關選項,比如導入的格式,並發的數量等。定義文件路徑(參數1)定義選項(參數2)執行導入:只花了不到 17 秒,比傳統 mysqlimport 快了不少。


我們上面指定了顯式指定了欄位分隔符,那有沒有已經定義好的組合格式呢? 答案是有的,選項 dialect 可以指定以下格式:csv,tsv,json,csv-unix那麼上面的導入,我們可以更簡單,改下變數 y_options1 的定義導入時間差不多。這里要說明下,dialect 選項的優先順序比較低,比如添加了'linesTerminatedBy':' ', 則覆蓋他自己的' '。


選項 diaelect 還有一個可選值為 json,可以直接把 json 結果導入到文檔表裡。比如我新建一張表 tl1_json重新定義文件以及導入選項。導入 JSON 數據速度也還可以,不到 24 秒。那導入 json 數據,就必須得提到以 X 插件協議通信的工具 import_json了。2. imort_json我們切換到 mysqlx 埠import_json 參數和 Import_table 參數類似,這里我改下選項我在手冊上沒有看到多線程的選項,所以單線程跑 35 秒慢了些。查看剛剛導入的數據import_json 不僅僅可以導入 Json 數據,更重要的是可以在 BSON 和 JSON 之間平滑的轉換,有興趣的同學可以去 TRY 下。


⑻ 怎樣把txt 文件通過shell 導入到mysql數據表

方法是:、
1。 通過操作系統命令 windows的dir 或者 linux ls 行命令,把所有文件名列出,並復制到excel 中。
2。 利用EXCEL的公式生成 insert into table1 (pathName,fileCOntent) value ('/temp/txt/filename1.txt',LOAD_FILE('/temp/txt/filename1.txt'));
3。 把這些命令直接貼到mysql行命令運行。

⑼ 如何用shell腳本將在mysql資料庫中得到的數據導入到oracle資料庫中

有一個工具是mysql到oracle做數據遷移的叫Convert Mysql to Oracle 你可以試試,不知道合不合適。
非要弄shell的話,那可真是麻煩可以選擇讓程序員寫個小程序轉換sql的讓後用shell調用。
真自己寫shell。。。那就折騰導出來的 create、insert語句吧。想想都頭大。是在沒必要完全用shell弄。

⑽ 如何在shell中操作mysql資料庫

mysql
-u
username
-p
password
#
連接mysql服務
show
databases
#
查看所有資料庫
use
dbname
#選擇一個資料庫
show
tables
#
查看數據中所有的表
select
*
from
tablename
#
直接執行查詢語句