SQLite – это база данный основанная на файлах и использующая синтаксис SQL . По производительности порой обгоняет MySQL, а порой и уступает (зависит от настроек сервера).
Одной из примечательных особенностей является то, что база данных при использовании SQLite находиться на одном сервере с PHP. Недостаток это или преимущество сказать сложно, нужно смотреть по ситуации)
Вообще SQLite редкость для наших хостеров и её поддержку нужно ещё поискать.
Что б вы не думало, что SQLite такое “г” напомню, что приложения таких контор как Mozilla, Adobe, Symbian использую для хранения своих данных именно эту БД.
Из бесплатных хостингов SQLite поддерживает . Или можно играться на локалке, установив (как сделал я).
Собственно синтаксис запросов у SQLite и MySQL одинаковый. Как никак SQL он и в Африке SQL %)
Начнём работать!
- Создание базы данных
Для того чтобы создать новую базу данных необходимо воспользоваться функцией sqlite_open()resource sqlite_open ( string filename )
Где filename – имя файда БД
Пример:
<? // Создадим базу данных $db = sqlite_open("database.db"); if (!$db) die("Не удалось создать базу данных!"); ?>
Как результат получим файл database.db в папке со скриптом
- Создание, чтение, обновление и удаление таблиц
Все запросы к базе данных выполняет функция sqlite_query()resource sqlite_query ( resource dbhandle, string query )
dbhandle – это Бд, а query – собсна сам запрос
А теперь большой пример в котором реализована вся работа с базой данных. Заметим, что для вывода данных из таблиц используется всё та же функция – sqlite_query(). Если выбирается несколько записей, результат выборки следует обработать при помощи цикла while() и функции sqlite_fetch_array()
Пример:
<? // Создадим новую базу данных $db = sqlite_open("database.db"); if (!$db) exit("Невозможно создать базу данных!"); /* Содание таблицы-------------------------------------------------- */ // Создадим таблицу "table1" в базе $query_table = sqlite_query($db, "CREATE TABLE table1 (id INTEGER PRIMARY KEY, /* id автоматически станет автоинкрементным */ field1 TEXT); "); if (!$query_table) exit("Невозможно создать таблицу в базе данных!"); /* Ввод данных------------------------------------------------------- */ // Запишем что-нибудь в таблицу $quer_ins = sqlite_query($db, "INSERT INTO table1(field1) VALUES ('A');"); $quer_ins = sqlite_query($db, "INSERT INTO table1(field1) VALUES ('B');"); $quer_ins = sqlite_query($db, "INSERT INTO table1(field1) VALUES ('C');"); if (!$query_ins) exit("Невозможно записать данные в таблицу!"); /* Изменение данных------------------------------------------------- */ // Изменим поле с id=1 sqlite_query($db, "UPDATE table1 SET field1='G' WHERE id=1;"); /* Удаление данных-------------------------------------------------- */ // Удалим поле с id=2 sqlite_query($db, "DELETE FROM table1 WHERE id=2;"); /* Вывод данных----------------------------------------------------- */ // Сделаем выборку данных $res = sqlite_query($db, "SELECT * FROM table1;"); // В цикле выведем все полученные данные while ($array = sqlite_fetch_array($res)) { echo($array['field1']." (id записи:".$array['id'].")<br />"); } ?>Я думаю, что код читабелен и хорошо задокументирован, так, что вопросов быть не должно. Хотя если найдутся не стесняйтесь и задавайте ;)
- Закрытие базы данных
Поработали и хватит) Для закрытия используется функция sqlite_close()void sqlite_close ( resource dbhandle )
dbhandle – имя БД
Пример:
<? $db = sqlite_open("database.db"); /* ... Здесь происходит работа с БД ... */ sqlite_close($db); ?>
Закрывать базу данных данной функцией – необязательно. Все открытые базы данных автоматически закроются при завершении работы скрипта
Ну вот пожалуй и всё) Теперь можно смело создавать какое-нибудь приложение использующее SQLite %)
Popularity: 15%
июля 8, 2009 в 20:49
Надо будет поэкспериментировать в свободное время.
А вообще мое доверие полностью завоевала субд MySQL.
апреля 6, 2010 в 11:12
Довольно интересное решение. Для проектов с небольшой нагрузкой, думаю, вполне сгодится
октября 31, 2011 в 17:52
В листинге есть ошибки