Excel表格作為常用的工作文件,經常用于存儲和管理數據。但是在實際應用中,為了方便數據的統一管理和共享,我們通常需要將Excel中的數據導入到數據庫中。MySQL作為一種常用的關系型數據庫,在數據存儲和管理方面有著廣泛的應用。
本文將介紹如何將Excel中的數據存入MySQL數據庫中:
一、創建數據庫和表
CREATE DATABASE `examscore` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; USE examscore; CREATE TABLE `score` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `score` double DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
二、將Excel文件轉為CSV文件
我們需要將Excel文件轉為CSV(逗號分隔值)文件,CSV文件是文本文件,每行記錄代表一條數據,每個字段之間用逗號隔開。
三、使用LOAD DATA INFILE命令導入數據
LOAD DATA INFILE 'D:/score.csv' INTO TABLE score FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n' IGNORE 1 LINES;
使用LOAD DATA INFILE命令可以將CSV文件中的數據導入到MySQL的score表中,其中FIELDS TERMINATED BY表示字段分隔符,LINES TERMINATED BY表示行分隔符,IGNORE 1 LINES表示忽略第一行,因為第一行一般是標題。
四、將Excel數據通過編程語言導入MySQL
除了使用LOAD DATA INFILE命令導入數據外,我們還可以使用編程語言如Java、Python等編寫程序,將Excel文件中的數據讀取出來,再通過MySQL的API將數據插入到數據庫中。
下面是Java代碼示例:
//導入驅動 Class.forName("com.mysql.jdbc.Driver"); //連接數據庫 Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/examscore", "root", "password"); //打開Excel文件 Workbook wb = WorkbookFactory.create(new File("D:/score.xlsx")); //獲取第一個工作表 Sheet sheet = wb.getSheetAt(0); //遍歷每一行 for (Row row : sheet) { //如果是第一行,則跳過 if (row.getRowNum() == 0) { continue; } //讀取第一列和第二列數據 String name = row.getCell(0).getStringCellValue(); double score = row.getCell(1).getNumericCellValue(); //插入到數據庫 PreparedStatement ps = conn.prepareStatement("INSERT INTO score(name, score) VALUES (?, ?)"); ps.setString(1, name); ps.setDouble(2, score); ps.executeUpdate(); ps.close(); } //關閉連接 conn.close();
以上就是本文介紹的Excel存入MySQL數據庫的方法,希望對大家有所幫助。