Найти - Пользователи
Полная версия: вопросы по sqlite
Начало » Базы данных » вопросы по sqlite
1 2 3
igor.kaist
rokki
Подкинь какую нибудь задачу, и сразу пару намеков для решения.
хм… не совсем понял тебя… что не получается то?
rokki
еще хочу попрактиковаться, не знаю где взять задачу. Поэтому вопросов кроме этого нет.
igor.kaist
rokki
еще хочу попрактиковаться, не знаю где взять задачу. Поэтому вопросов кроме этого нет.
Тут вроде как практиковаться то и нечего. Вообщем то нужно знать как делать запросы к базе данных и получать результат… Практически все остальное это sql, который и в африке sql :)
Ну что ж… Заведи таблицу, в которой два столбца: Фамилия и зарплата. И сделай выборки: Сколько получает Сидоров, или у кого зарплата больше 30 тыс. :)
rokki
от души тебе за помощь, это я теперь засяду с выборками. И вот еще, давно было интересно что означает слово ИМХО.
Ferroman

rokki
Большинство вопросов решаются 5-секундным поиском.
rokki
и тебе спасибо.
rokki
Ну что ж… Заведи таблицу, в которой два столбца: Фамилия и зарплата. И сделай выборки: Сколько получает Сидоров, или у кого зарплата больше 30 тыс. smile

завел таблицу, но когда каждый блок делаю отдельно все вроде бы работает, а если собираю все в один файл пишет OperationalError: cannot commit transaction - SQL statements in progress

import sqlite3
c=sqlite3.connect(database='zarplata')
cu=c.cursor()

cu.execute('''create table sved(
surname VARCHAR(15),
name VARCHAR(15),
dengi INTEGER
);''')

for t in [('ivanov','alexandr',25000),
('petrov','nikolai',30000),
('sidorov','ivan',35000)]:
cu.execute('''insert into sved values(?,?,?)''',t)

cu.execute('''select dengi from sved where ‘ivanov’=surname''')
cu.execute('''select * from sved where dengi>=30000''')

c.commit()
c.close()
rokki
и че то не пойму как мне увидеть результат глазами, чтобы понять физический смысл процесса
PooH
import sqlite3
c=sqlite3.connect(database='zarplata')
cu=c.cursor()

cu.execute('''create table sved(
surname VARCHAR(15),
name VARCHAR(15),
dengi INTEGER
);''')
c.commit() #создав таблицу надо закоммитить изменения

for t in [('ivanov','alexandr',25000),
('petrov','nikolai',30000),
('sidorov','ivan',35000)]:
cu.execute('''insert into sved values(?,?,?)''',t)

c.commit() #внеся данные надо закоммитить изменения
cu.execute('''select dengi from sved where 'ivanov'=surname''')
print cu.fetchone() #выберем первую строчку результата и посмотрим
cu.execute('''select * from sved where dengi>=30000''')
print cu.fetchone() #выберем первую строчку результата и посмотрим
#c.commit() - а вот тут можно и не коммитить - изменений не было
c.close()
rokki
#c.commit() - а вот тут можно и не коммитить - изменений не было

просто не совсем понял принцип работы commit'а.
теперь понял почему частями работало, а в одном файле нет.

PooH, можешь еще усложнить задачу igor.kaist'а?
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