sql >> Base de Datos >  >> RDS >> Mysql

Llenar una base de datos sin el comando de carga de datos

¿Están intentando que aprendas un lenguaje de secuencias de comandos?
Si es así, ¿qué tal Python...

Acabo de probar que el siguiente código hace lo que necesita.
Tenga en cuenta:deberá descargar el módulo MySQLdb de terceros.

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()