插入資料的多種方式
直接通過insert陳述句插入
語法:
INSERT [INTO] tbl_name
[(col_name [, col_name] ...)]
{ {VALUES | VALUE} (value_list) [, (value_list)] ... }
示例:
# 插入資料 第一種方式 values關鍵字可以替換為value 兩者作用一致
insert into human(`name`) values ('情韻測驗');
# 批量插入
insert into human(`name`) value ('情韻測驗'),('青云測驗'),('青云測驗'),('青云測驗'),('青云測驗'),('青云測驗'),('青云測驗'),('青云測驗');
運行結果:

通過insert ... set方式插入資料
語法:
INSERT [INTO] tbl_name
SET assignment_list
示例:
# 插入資料 第二種方式
# 這種方式不能批量插入 簡化了之前的插入
insert into human set name = '測驗' ,id = 101;
運行結果:

通過insert ... table/select/values 方式插入資料
語法:
INSERT [INTO] tbl_name
[(col_name [, col_name] ...)]
{ SELECT ...
| TABLE table_name
| VALUES row_constructor_list
}
示例1select:
# insert ... select
# 從另一張表格中選出的資料格式和數量必須相同,不要求列名必須相同
insert into human select name,id from person;
示例2table:
# insert ... table
# 另一張表格中對應的資料格式和欄位數量必須相同,不要求列名必須相同
insert into human table person;
示例3values:
insert into human(`name`)
values row('name'), row('name'), row('name'), row('name'), row('name'), row('name');
運行結果:

通過load data的方式插入資料
這種方式首先得準備好要插入的資料檔案,然后進行插入,
我們可以先匯出一份資料庫表的資料:
語法:
SELECT select_expr [, select_expr] ...
[FROM table_references
[WHERE where_condition]
[GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
[HAVING where_condition]
[ORDER BY {col_name | expr | position}
[ASC | DESC], ... [WITH ROLLUP]]
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
[into_option]
into_option: {
INTO OUTFILE 'file_name'
[CHARACTER SET charset_name]
export_options
| INTO DUMPFILE 'file_name'
| INTO var_name [, var_name] ...
}
示例:
# 將資料匯入到本地
# secure_file_priv 是只讀變數 需要去組態檔修改 secure-file-priv=''
select * from human into outfile 'f:/db.txt';
需要修改組態檔:
[mysqld]
...
# 配置select ... from ... into outfile '檔案地址'
secure-file-priv=''
...
[mysql]
...
重啟mysql
查看生成的檔案:

使用load data插入資料
語法:
LOAD DATA
INFILE 'file_name'
INTO TABLE tbl_name
[CHARACTER SET charset_name]
[{FIELDS | COLUMNS}
[TERMINATED BY 'string']
[[OPTIONALLY] ENCLOSED BY 'char']
[ESCAPED BY 'char']
]
示例:
這里如果提示不允許也需要修改組態檔【注意:不太建議開啟 ,記得及時關閉,有安全風險!】
[mysqld]
...
# 組態檔讀取資料
local_infile=1
# 配置select ... from ... into outfile '檔案地址'
secure-file-priv=''
...
[mysql]
# 組態檔讀取資料
local_infile=1
...
重啟mysql
load data infile 'f:/db.txt' into table human;
運行結果:

使用source 以及 mysqldump插入資料
使用命令列方式匯入資料,這種方式比較簡單,百度搜一下即可,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/543139.html
標籤:MySQL
上一篇:MySQL執行流程
