Шпаргалка по базе данных sqlite3

import sqlite3
# узнать версию
sqlite3.version

# подключение к базе
con = sqlite3.connect('base_1.db')
# создание курсора
cur = con.cursor()
# закрываем соединение
cur.close()
con.close()
# подтверждение отправки данных в базу
conn.commit()

# выбрать все строки
cur.execute('select * from base_1')
for row in cur:
    print(row[0])

# выборка одной строки по условию,
cur.execute("select html_page from base_1 where flag = (?) limit 1",(flag,))

# сколько строк в столбце не NULL
cur.execute('select count(apislon) from dbkrot where apislon not null')
for x in c:
    break

# выбрать строки по условию, где строка NULL
cur.execute("select * from dbkrot where apislon is null")

# вернёт записи, начиная с 10-го номера включительно в количестве 20-ти штук
select * from dbkrot where id > 5 limit 10, 20

# колличество строк в базе
cur.execute('select count(*) from dbkrot')

# обновить значение
cur.execute ("update dbkrot set keys = (?) where id = (?) ",("test1","1"))
# подтверждение отправки данных в базу
conn.commit()

# удаление строки
cur.execute("delete from dbkrot where keys = (?) ",("*****",))
conn.commit()

# вставляем данные
cur.execute("insert into dbkrot (id, keys) values(null, ?)", (x,))
# или так
cur.execute("insert into dbkrot (id, keys, urls) values(null, ?, ?)", (stroka1, stroka2))
conn.commit()

cur.fetchone()
cur.fetchall()
# есть возможность выбрать заданное количество строк, передав желаемое значение в курсор
cur.fetchmany(2)

#--------
# flask
#--------
# промежуточная функция,для удобства работы с базой
def query_db(query, args=(), one=False):
    cur = get_db().execute(query, args)
    rv = cur.fetchall()
    cur.close()
    return (rv[0] if rv else None) if one else rv

# выборка по условию
@app.route('/')
def index():
    ss = "парадокс"
    user = query_db('select * from entries where title = ?',
                    [ss], one=True)
    if user is None:
        result = 'нет такого пользователя'
    else:
        result = user['text']
    return result

# запись в базу
@app.route('/123')
def rec():
    db = get_db()
    db.execute('insert into dbkrot (keys, urls, titles, texts) values (?, ?, ?, ?)',
                        [keys, urls, titles, texts])
    db.commit()
    return "Ok"

Комментариев нет:

Отправить комментарий