Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Общие вопросы > sqlite


Автор: batman 6.10.2006, 08:34
Кто-нибудь пробовал работать с sqlite? Поделитесь впечатлениями, пожалуйста...
И если можно дкументацией.

Автор: pythonwin 6.10.2006, 09:46
Цитата(batman @  6.10.2006,  15:34 Найти цитируемый пост)
Кто-нибудь пробовал работать с sqlite? Поделитесь впечатлениями, пожалуйста...
И если можно дкументацией.

обратись к http://vingrad.ru/@slav0nic-у

или на http://www.python.com.ua/forum/viewforum.php?id=4, где в основном и сидит. smile

Добавлено @ 09:47 
Цитата(batman @  6.10.2006,  15:34 Найти цитируемый пост)
Кто-нибудь пробовал работать с sqlite? Поделитесь впечатлениями, пожалуйста...
И если можно дкументацией.

советую SQLObject smile

Автор: slav0nic 6.10.2006, 10:00
самое оно, не нужны никакие субд на хостинге, по скорости быстрее чем субд (хотя не знаю как там в плане "конкурирующих" запросов)
а доки все есть на http://pysqlite.org/

Автор: nerezus 6.10.2006, 10:06
Цитата

по скорости быстрее чем субд
 костыль быстрее проф. инструмента? как это так?

Автор: slav0nic 6.10.2006, 14:09
nerezus, запорожец быстрее грузовика, субд - таже БД, но многопользовательская + сетевые ф-ции, и подумай что будет быстрее работать

Автор: sergejzr 6.10.2006, 14:19
nerezus, не хочется возводить топ в холивар, но SQLite это далеко не костыль. Это (образно выражаясь) драйвер для применения SQL к инфе, хранящейся в файлах. Драйвер очень надёжный, быстрый и лёгкий. К тому же возможна работа на файле в памяти.

Естесственно такой подход быстрее работает, чем целый БД-сервер. Теоретически быстрее только прямая работа с файлом. 


slav0nic, хорошо сказал smile

Автор: pythonwin 6.10.2006, 14:28
slav0nic, ты фанат sqllite?

Автор: batman 6.10.2006, 14:54
А как с русским языком?

Автор: sergejzr 6.10.2006, 15:11
Перекодировки не происходит. Все данные - обыкновенные строки. Что положишь, то и возьмёшь (главное чтобы в середине строки \0 не было, иначе надо бинарно складывать). В связи с этим с сортировкой могут быть траблы. Чтобы этого избежать надо самому в программе кодировать. (Я правда 2 года как ей не занимался, возможно есть расширения, которые с кодировкой справляются)

Добавлено @ 15:12 
Кстати, насколько помню, там кодировка про компиляции задавалась уже..

Добавлено @ 15:13 
По умолчанию вроде УТФ-8 или 16 стоит. Так что по идее трабл быть не должно..

Автор: slav0nic 6.10.2006, 15:30
pythonwin, нет) как-то надобности нет юзать это, хотя вот думаю фронтэнд написать на wget, можно список закачек в нём хранить (в xml - сакс), я ваще субд sybase админю)
было бы интересно если бы можно было sqlite юзать с raw device'ами;) 
+была идея создания радужных таблиц для брута паролей, но загонять это дело в sqlite, осталось купить 2й комп%)

Автор: batman 6.10.2006, 18:19
Я о том при заполнении таблицы русскими буквами приходит п....

Добавлено @ 18:22 
Там как я понимаю с юникодом возникает проблемма, как это правильно перекодировать?

Добавлено @ 18:23 
Кто сможет объяснить или подсказать?

Автор: sergejzr 6.10.2006, 22:28
batman, кодируй в УТФ-8 или УТФ-16 прежде чем класть в базу.

Автор: Cr@$h 7.10.2006, 04:38
pythonwin, следует давать ссылки на решения вопроса, а не на форумы вообще, или лучше приводить решения/ответы здесь, указывая, откуда взято. Это рекомендация всем.

Автор: batman 7.10.2006, 08:27
Всё таки , как правильно работать с русскими символами в sqlite. Положить в базу удалось, а вот вытащить нет.

Автор: slav0nic 7.10.2006, 13:05
насктрой кодировку в редакторе в котором пишешь код utf-8 
Код


# -*- coding: utf-8 -*-
from pysqlite2 import dbapi2 as sqlite
con = sqlite.connect("temp.db")
cur = con.cursor()
#cur.execute("create table test(a varchar(20), b varchar(20))")
cur.execute('insert into test(a, b) values ("%s", "123")'%"тест")
cur.execute("select * from test")
data = cur.fetchall()
print data
print data[0][0].encode("koi8-r")


[(u'\u0442\u0435\u0441\u0442', u'123')]
тест

Автор: batman 7.10.2006, 20:19
Спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)