Inserting a list holding multiple values in MySQL

2020-02-01 16:00发布

I have a database holding names, and I have to create a new list which will hold such values as ID, name, and gender and insert it in the current database. I have to create a list of the names which are not in the database yet. So I simply checked only 3 names and trying to work with them.

I am not sure what sort of list I suppose to create and how I can loop through it to insert all the new values in the proper way.

That's what I have so far:

mylist = [["Betty Beth", "1", "Female"], ["John Cena", "2", "Male"]]

@get("/list_actors")
    def list_actors():  
         with connection.cursor() as cursor:
                    sql = "INSERT INTO imdb VALUES (mylist)"
                    cursor.execute(sql)
                    connection.commit()
                    return "done"

I am very new to this material so I will appreciate any help. Thanks in advance!

1条回答
放我归山
2楼-- · 2020-02-01 16:50
vals = [["TEST1", 1], ["TEST2", 2]]

with connection.cursor() as cursor:
    cursor.executemany("insert into test(prop, val) values (%s, %s)", vals )
    connection.commit()

mysql> select * from test;

+----+-------+------+---------------------+
| id | prop  | val  | ts                  |
+----+-------+------+---------------------+
|  1 | TEST1 |    1 | 2017-05-19 09:46:16 |
|  2 | TEST2 |    2 | 2017-05-19 09:46:16 |
+----+-------+------+---------------------+

Adapted from https://groups.google.com/forum/#!searchin/pymysql-users/insert%7Csort:relevance/pymysql-users/4_D8bYusodc/EHFxjRh89XEJ

查看更多
登录 后发表回答