Заполнение базы данных без команды загрузки данных - PullRequest
0 голосов
/ 10 октября 2010

Как мне заполнить данные (.csv файлы) в MySql (Windows 5.1) без использования команды загрузки данных?

Ответы [ 3 ]

1 голос
/ 10 октября 2010

Они пытаются выучить язык сценариев?
Если так, то как насчет Python ...

Я только что проверил, что следующий код делает то, что вам нужно.
Обратите внимание: вам нужно скачать сторонний модуль MySQLdb.

import csv
import MySQLdb

def populate_mysql_db():
    conn = MySQLdb.connect(host="localhost",
        user="myusername",passwd="mypassword",db="mydb")
    c = conn.cursor()
    c.execute('''
        CREATE TABLE IF NOT EXISTS mytable 
        (mycol1 varchar(100), mycol2 integer);
        ''')
    csv_reader = csv.reader(open('mycsvfile.csv', 'rb'), delimiter=',')
    for line in csv_reader:
        c.execute('''INSERT INTO mytable (mycol1, mycol2) 
            VALUES (%s, %s)''', (line[0],line[1]))
    c.close()
    conn.close()

if __name__ == "__main__":
    populate_mysql_db()
0 голосов
/ 10 октября 2010

Попробуйте это:

предоставить файл в *. * Youruser @ localhost, идентифицированному как 'ваш пароль';

0 голосов
/ 10 октября 2010

Какие инструменты у вас есть? Любой язык сценариев? Любой интерфейс управления, например, MySQL Admin?

Существует множество способов загрузки данных в базу данных. Но нам нужно знать, какие инструменты у вас под рукой.

EDIT

Один из ваших вариантов - создать пакетный файл .sql. Самый быстрый подход к загрузке - использование подготовленных операторов. Проверьте ниже как.

PREPARE massInsert 'INSERT INTO mytable (field1, field2, field3...) VALUES (?,?,?,?...)';
EXECUTE massInsert (value1, value2...);
many lines
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...