Sql query to python list
I have a python list, say l Show
I want to write a sql query to get the data for all the elements of the list, say
How do I accomplish this?
User12345 4,71512 gold badges49 silver badges102 bronze badges asked Nov 12, 2008 at 11:18
Mohit RankaMohit Ranka 3,98312 gold badges40 silver badges41 bronze badges 2 Answers so far have been templating the values into a plain SQL string. That's absolutely fine for integers, but if we wanted to do it for strings we get the escaping issue. Here's a variant using a parameterised query that would work for both:
answered Nov 12, 2008 at 12:30
16 Easiest way is to turn the list to
answered Apr 5, 2018 at 18:51
Amir ImaniAmir Imani 2,7012 gold badges20 silver badges23 bronze badges 13 Dont complicate it, Solution for this is simple.
I hope this helped !!! answered Nov 22, 2016 at 9:01
ALLSYEDALLSYED 1,43517 silver badges14 bronze badges 9 The SQL you want is
If you want to construct this from the python you could use
The map function will transform the list into a list of strings that can be glued together by commas using the str.join method. Alternatively:
if you prefer generator expressions to the map function. UPDATE: S. Lott mentions in the comments that the Python SQLite bindings don't support sequences. In that case, you might want
Generated by
answered Nov 12, 2008 at 11:52
Blair ConradBlair Conrad 224k25 gold badges132 silver badges111 bronze badges 3 string.join the list values separated by commas, and use the format operator to form a query string.
(Thanks, blair-conrad)
answered Nov 12, 2008 at 11:49
gimelgimel 80.1k10 gold badges74 silver badges104 bronze badges 1 I like bobince's answer:
But I noticed this:
Can be replaced with:
I find this more direct if less clever and less general. Here
answered Nov 20, 2010 at 14:35
jimharkjimhark 4,8581 gold badge25 silver badges26 bronze badges If you're using PostgreSQL with the Psycopg2 library you can let its tuple adaption do all the escaping and string interpolation for you, e.g:
i.e. just make sure that you're passing the
note that these both will get turned into the same query plan so you should just use whichever is easier. e.g. if your list comes in a tuple use the former, if they're stored in a list use the latter. answered Dec 18, 2019 at 20:56
Sam MasonSam Mason 13.6k1 gold badge35 silver badges51 bronze badges Solution for @umounted answer, because that broke with a one-element tuple, since (1,) is not valid SQL.:
Other solution for sql string:
answered Nov 26, 2014 at 9:16
XimixXimix 3912 silver badges9 bronze badges 1 Just use inline if operation with tuple function:
answered Sep 23, 2020 at 9:13
Greed RulerGreed Ruler 1491 silver badge14 bronze badges 1 To run a select from where field is in list of strings (instead of int), as per this question use
Returns: For a list of dates in Oracle, this worked
Returns:
answered Nov 25, 2020 at 4:27
citynormancitynorman 4,4202 gold badges34 silver badges38 bronze badges 1
This should solve your problem. answered Feb 12, 2019 at 9:21
The answered May 26, 2020 at 14:23
user13476428user13476428 611 gold badge1 silver badge3 bronze badges a simpler solution:
answered Apr 22, 2019 at 22:59
Omar OmeiriOmar Omeiri 1,0651 gold badge12 silver badges26 bronze badges This Will Work If Number of Values in List equals to 1 or greater than 1
answered Aug 27, 2020 at 16:48
rajraj 1661 silver badge9 bronze badges For example, if you want the sql query:
What about:
answered Aug 18, 2016 at 18:02
pgalileapgalilea 2412 silver badges5 bronze badges This uses parameter substitution and takes care of the single value list case:
answered Jun 28, 2018 at 22:08
How do I pass a list of SQL queries in Python?How to use a list as an SQL parameter in Python. con = sqlite3. connect("data.db"). cursor = con. cursor(). id_list = [1, 2, 3]. id_tuple = tuple(id_list). query = 'SELECT * FROM data WHERE id IN {};'. format(id_tuple). print(query). cursor. execute(query). Can you query SQL with Python?A quick and easy way to be able to run SQL queries with Python is using SQLite. SQLite is a library that utilizes an SQL database engine. It performs relatively fast and has been proven to be highly reliable.
How do I add a query to a SQL list?You can create lists of SQL Query or Fixed Data values . In the Data Model components pane, click List of Values and then click Create new List of Values. Enter a Name for the list and select a Type.
How do I pass a list of values in SQL?and then use setParameterList("ids", list) passing your list. Hibernate will do all the expansion for you! Show activity on this post. All you have to do is build the comma separated list of items and insert it in the string.
|