导入
问题:导入 JSON 数据
检查你对使用 LOAD DATA INFILE 导入以换行符分隔的 JSON (JSONL) 的理解。
表
| 字段 | 类型 |
|---|---|
| CustomerID | int |
| CustomerName | varchar(50) |
| varchar(50) | |
| Phone | varchar(15) |
| Address | varchar(100) |
| LastLogin | date |
| CreatedAt | timestamp |
| CustomerTier | enum('New','Regular','VIP') |
| ReferralID | int |
| LoyaltyPoints | int |
| LastPurchaseDate | date |
| IsChurnRisk | tinyint(1) |
...
代码示例
1{"Email":"info@ techcorp.com ","OnTimeRate":0.985,"AvgLeadTimeDays":3} 2{"Email":"contact@ autopro.com ","OnTimeRate":0.910,"AvgLeadTimeDays":""}
表
| SupplierName | OnTimeDeliveryRate | AvgLeadTime | |
|---|---|---|---|
| AutoPro | contact@autopro.com | 91.00 | 7 |
| TechCorp | info@techcorp.com | 98.50 | 3 |
1/* 创建原始 JSON 文档的暂存表 */ 2CREATE TABLE IF NOT EXISTS SupplierKpi_Stage ( 3 RawDoc JSON NOT NULL 4); 5 6/* 加载 JSONL 文件(每行一个 JSON 对象) */ 7-- 在此处编写 LOAD DATA INFILE 语句 8 9/* 通过 Email 匹配更新供应商 10 - 将 OnTimeRate (0 到 1) 转换为百分比 (0 到 100) 11 - 当 AvgLeadTimeDays 缺失或为空时,不覆盖 AvgLeadTime 12*/ 13-- 在此处编写 UPDATE 语句 14 15/* 验证 */ 16SELECT SupplierName, Email, OnTimeDeliveryRate, AvgLeadTime 17FROM Suppliers 18WHERE Email IN ('info@techcorp.com', 'contact@autopro.com') 19ORDER BY SupplierName;
所需技能如下:
- 使用
LOAD DATA INFILE导入文件 - 编写安全的条件更新
- 在文件加载过程中使用用户变量
- 具备解析 JSON 值的能力
所需技能如下:
- 使用
LOAD DATA INFILE导入文件 - 编写安全的条件更新
- 在文件加载过程中使用用户变量
- 具备解析 JSON 值的能力
No configuration found for ID: 22f4875eb22eb25e482e75aa711944edf9de8b5c065b1359ca9fc56783ee3e7d