首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 記錄複製、導入導出與函數應用實戰

     編輯:MySQL 資料庫相關知識

本文通過實例演示 MySQL 中表間記錄複製、CSV 導入導出、字符串與加密函數的綜合應用。

一、表間記錄複製

-- 建立員工表
CREATE TABLE employee (
    id INT,
    name CHAR(10),
    age INT,
    sex ENUM('M','F'),
    department CHAR(10)
);

INSERT INTO employee VALUES
(23, 'john', 27, 'M', 'Engi'),
(31, 'Sue', 31, 'F', 'Fiance'),
(113, 'David', 26, 'M', 'Admin');

-- 建立用戶表(主鍵自增)
CREATE TABLE user (
    uid INT PRIMARY KEY AUTO_INCREMENT,
    uname CHAR(10),
    upass CHAR(10)
);

1. 基礎複製(含函數轉換)

INSERT INTO user (uname, upass)
SELECT LOWER(name), PASSWORD(LOWER(name)) FROM employee;

結果:用戶名統一小寫,密碼經 PASSWORD() 加密存儲。

2. 帶條件複製

INSERT INTO user (uname, upass)
SELECT name, PASSWORD(name) FROM employee WHERE department = 'Fiance';

僅複製財務部門記錄,保留原始大小寫。

二、數據導入導出

1. 導入文件

LOAD DATA INFILE '/tmp/a.txt'
INTO TABLE t20
FIELDS TERMINATED BY ':'
LINES TERMINATED BY '\n';

支援自定義字段與行分隔符,適用於 CSV、TSV 等結構化文本。

2. 導出文件

SELECT * FROM t20
INTO OUTFILE '/tmp/b.txt'
FIELDS TERMINATED BY ':'
LINES TERMINATED BY '\n';

需具備 FILE 權限,輸出目錄需 MySQL 服務進程可寫。

三、關鍵函數速查

函數說明
LOWER(str)轉小寫
PASSWORD(str)MySQL 內置單向加密(注意:5.7+ 已棄用)
ENUM枚舉類型,存儲預定義集合值,超出範圍自動轉為首個值

靈活組合 INSERT ... SELECT、導入導出命令與內置函數,可高效完成數據遷移、清洗與初始化任務。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved