Найти - Пользователи
Полная версия: База данных
Начало » Python для новичков » База данных
1
gshalx
исправьте пожалуйста синтаксис
import sqlite3
con = sqlite3.connect("tdb.db")
c = con.cursor()
c.execute('''create table bug (id integer primary key, debeti, krediti);
insert into bug values ('555','BUY','jhg');''')
con.commit()
con.close()
JOHN_16
gshalx
1 sql команда в 1 execute методе
Shaman
Там ещё косяк с типами был.
gshalx
c.execute('''create table bug (id integer primary key, debeti, krediti)''')
c.execute('''insert into bug values ('1','BUY','jhg');''')

так работает , спасибо
вместо BUY хочу вставить переменную
d54wvzc+i5zirs
gshalx
вместо BUY хочу вставить переменную
c.execute('''insert into bug values ('1','{}','jhg');'''.format(variable))
john123
Метод подстановки параметров с помощью .format() (или оператор %) лучше не использовать при работе с БД.
Заместо этого воспользуйтесь встроенным в DB-API функционалом для подстановки аргументов.
Это позволит избежать атаки типа SQL-injection. В данном примере Вам это может быть и не пригодится, но на будущее полезно знать

Вот так:
c.execute("insert into bug values ('1', ?, 'jhg')", (variable,))

Именованные параметры:
c.execute("insert into bug values ('1', :var, 'jhg')", {"var": variable})
d54wvzc+i5zirs
john123
В идеале вообще лучше всего использовать ORM
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB