Пользовательский импорт CSV в Mysql

#mysql #csv #import

#mysql #csv #импорт

Вопрос:

Я пытаюсь импортировать некоторые данные csv в mysql. Проблема в том, что нет точного однозначного сопоставления между полями csv и полями базы данных. Я ищу простой способ импортировать данные только в необходимые поля. Я хочу импортировать некоторые поля, а не другие. Одному из полей я хочу присвоить значение «2» для всех случаев, чтобы соответствовать значению поиска.

Я мог бы купить инструмент, но я не хочу тратить деньги. Могу ли я сделать это с помощью моей команды импорта без необходимости редактировать файл csv? Любые примеры или рекомендации будут с благодарностью приняты.

———- desc addrTable; ——————

  ------------- -------------- ------ ----- --------- ---------------- 
| Field       | Type         | Null | Key | Default | Extra          |
 ------------- -------------- ------ ----- --------- ---------------- 
| id          | int(11)      | NO   | PRI | NULL    | auto_increment |
| supervisor  | int(11)      | NO   | MUL | NULL    |                |
| lastName    | varchar(20)  | NO   |     | NULL    |                |
| firstName   | varchar(20)  | NO   |     | NULL    |                |
| fullName    | varchar(40)  | NO   |     | NULL    |                |
| addr1       | varchar(50)  | NO   |     | NULL    |                |
| addr2       | varchar(50)  | NO   |     | NULL    |                |
| city        | varchar(25)  | NO   |     | NULL    |                |
| state       | varchar(2)   | NO   |     | NULL    |                |
| zipCode     | varchar(8)   | NO   |     | NULL    |                |
| notes       | longtext     | YES  |     | NULL    |                |
| spouse      | varchar(30)  | NO   |     | NULL    |                |
| gender      | varchar(1)   | NO   |     | NULL    |                |
| kids        | int(11)      | NO   |     | NULL    |                |
| birthday    | varchar(20)  | NO   |     | NULL    |                |
| spouseDOB   | date         | YES  |     | NULL    |                |
| email       | varchar(75)  | NO   |     | NULL    |                |
| workPhone   | varchar(12)  | NO   |     | NULL    |                |
| cellPhone   | varchar(12)  | NO   |     | NULL    |                |
 ------------- -------------- ------ ----- --------- ---------------- 
  

———-заголовки CSV——————

Ниже приведены мои заголовки CSV. Обратите внимание, что некоторые из этих заголовков не имеют значений ‘*’d’, и я хочу пропустить эти поля? Также нет поля супервизора. Это поиск, и я хочу присвоить значение ‘2’ каждой отдельной импортированной записи.

 "Last_Name",
"First_Name",
"Full_Name",
"Address",
"City",
"State",
"Zip",
"Notes",
"Spouse",
"Kids",
"Birthday",
"Birthday_Day", *
"Birthday_Month", *
"Spouse_DOB",
"Email",
"Work_Phone",
"Cell_Phone"
  

Ответ №1:

Я бы загрузил данные с помощью mysqlimport во временную таблицу …. затем выберите из временной таблицы в пункт назначения. Таким образом, вы можете добавить недостающий столбец.

например:

 insert into t2
select last_name,first_name, etc,2 as supervisorid
from t1