SQLite — это легкая база данных. Ее цель — встроенная, и она используется во многих встроенных продуктах. Во встроенных устройствах ей может потребоваться всего несколько сотен Кбайт. Памяти достаточно. Он может поддерживать основные операционные системы, такие как Windows/Linux/Unix, и может сочетаться со многими языками программирования, такими как Tcl, PHP, Java и т. д., а также с интерфейсами ODBC. Его также сравнивают с двумя MySQL и PostgreSQL. всемирно известное программное обеспечение с открытым исходным кодом. Что касается систем управления базами данных, его скорость обработки выше, чем у всех них.
Хотя SQLite очень мал, поддерживаемые им операторы SQL не уступают другим базам данных с открытым исходным кодом. Поддерживаемый SQLite включает:
ATTACH DATABASE.
НАЧАТЬ ТРАНЗАКЦИЮ
комментарий
СОВЕРШИТЬ ТРАНЗАКЦИЮ
КОПИРОВАТЬ
СОЗДАТЬ ИНДЕКС
СОЗДАТЬ ТАБЛИЦУ
СОЗДАТЬ ТРИГГЕР
СОЗДАТЬ ПРОСМОТР
УДАЛИТЬ
ОТКЛЮЧИТЬ БАЗУ ДАННЫХ
ПАДЕНИЕ ИНДЕКС
ОТПРАВИТЬ ТАБЛИЦУ
ОТПУСТИТЬ ТРИГГЕР
ОТПРАВИТЬ ПРОСМОТР
ЗАВЕРШИТЬ ТРАНЗАКЦИЮ
ОБЪЯСНЯТЬ
выражение
ВСТАВЛЯТЬ
О КОНФЛИКТЕ
ПРАГМА
ЗАМЕНЯТЬ
ОТКАТ ТРАНЗАКЦИИ
ВЫБИРАТЬ
ОБНОВЛЕНИЕ
В то же время он также поддерживает функции обработки транзакций и так далее. Некоторые люди также говорят, что это похоже на Microsoft Access. Иногда кажется, что они немного похожи, но на самом деле они очень разные. Например, SQLite поддерживает кроссплатформенность, прост в эксплуатации и может напрямую создавать базы данных на многих языках, в отличие от Access, который не требует поддержки Office. Если у вас очень маленькое приложение или вы хотите заняться встраиваемой разработкой и у вас нет подходящей системы баз данных, вы можете рассмотреть возможность использования SQLite прямо сейчас. В настоящее время его последней версией является 3.2.2, а его официальный сайт: http://www.sqlite.org , где можно получить исходный код и документацию. В то же время, поскольку структура базы данных проста и исходный код системы невелик, она также подходит для профессионалов, которые хотят изучить разработку систем баз данных.
Теперь давайте начнем с краткого введения. В основном я хочу прояснить несколько вопросов: один — как установить и использовать, а другой — как разрабатывать его в сочетании с PHP.
1. Установка
1. Платформа Windows
загружает файлы под Windows, которые на самом деле представляют собой программу командной строки (адрес загрузки: sqlite>
# Приглашение SQLite. Если вы хотите просмотреть справку по команде, введите .help. В sqlite все системные команды начинаются с .:
sqlite> .help
.databases Список имен и файлов подключенных баз данных.
.dump ?TABLE? ... Дамп базы данных в текстовом формате SQL.
.echo ON|OFF Включение или выключение эха команды.
.exit Выйти из этой программы
.explain ON|OFF Включение или выключение режима вывода, подходящего для EXPLAIN.
.header(s) ON|OFF Включение или выключение отображения заголовков
.help Показать это сообщение
.import FILE TABLE Импортировать данные из FILE в TABLE.
.indices TABLE Показать имена всех индексов в TABLE
.mode MODE ?TABLE? Установить режим вывода, где MODE является одним из:
csv Значения, разделенные запятыми
столбец Столбцы с выравниванием по левому краю (см. .width).
html HTML <таблица> код
вставить операторы вставки SQL для TABLE
строка Одно значение в строке
Значения списка, разделенные строкой .separator
табуляции Значения, разделенные табуляцией
tcl Элементы списка TCL
.nullvalue STRING Распечатать STRING вместо значений NULL.
.output FILENAME Отправить вывод в FILENAME
.output stdout Отправить вывод на экран
.prompt MAIN CONTINUE Заменить стандартные подсказки
.quit Выйти из этой программы
.read FILENAME Выполнить SQL в FILENAME
.schema ?TABLE? Показать инструкции CREATE?
.separator STRING Изменить разделитель, используемый режимом вывода и .import
.show Показать текущие значения различных настроек
.tables ?PATTERN? Список имен таблиц, соответствующих шаблону LIKE
.timeout MS Попробуйте открыть заблокированные таблицы в течение миллисекунд MS.
.width NUM NUM ... Установить ширину столбца для режима «столбец»
sqlite>
www.knowsky.com
# Создаем каталог базы данных
sqlite> создать каталог таблиц (
...> целочисленный идентификатор первичного ключа,
...> целое число pid,
...> имя varchar(10) УНИКАЛЬНО
...> );
sqlite>
# Если таблица существует, будет предложено:
Ошибка SQL: каталог таблиц уже существует
# Создаём индексную информацию
создать индекс Catalog_idx в каталоге (id по возрастанию);
# Мы проверяем информацию таблицы, чтобы узнать, сколько таблиц существует
sqlite>.таблица
каталог аа
# Просмотрим структуру таблицы:
sqlite> каталог .schema
CREATE TABLE каталог(
идентификатор целочисленного первичного ключа,
целое число pid,
имя varchar(10) УНИКАЛЬНО
);
СОЗДАТЬ INDEX каталог_idx в каталоге (id по возрастанию);
#Вставляем запись в таблицу данных
sqlite> вставить в каталог (ppid,name) значения ('001','heiyeluren');
#В случае успеха никаких запросов. Если выражение неверно, появится сообщение об ошибке:
Ошибка SQL: рядом с «set»: синтаксическая ошибка
# Получить количество записей
sqlite> выберите счетчик (*) из каталога;
1
# Получить записи поиска
sqlite> выберите * из каталога;
1|1|heiyeluren
В любом случае, если вы используете для работы стандартный SQL, проблем не возникнет. Если вы не уверены, вы можете проверить справочную информацию на официальном сайте. Кроме того, следует отметить, что SQLite не поддерживает изменение структуры таблицы. Если вы хотите изменить структуру таблицы, вы можете только удалить таблицу и создать ее заново, поэтому при создании таблицы необходимо учитывать масштабируемость. Предполагается, что в будущем эта функция будет усилена.
2. Ошибка платформы Linux/Unix
: я еще не установил ее, ха-ха, но она, вероятно, похожа на Windows, я напишу эту часть в другой раз.
2. Разработка PHP для SQLite.
PHP 5 больше не поддерживает Mysql по умолчанию, но поддерживает SQLite. Это показывает, насколько это важно. Поэтому, если вы хотите разработать PHP для SQLite, рекомендуется использовать PHP 5.0.0 или. выше. В настоящее время я использую PHP версии 5.0.4, которая напрямую поддерживает расширения SQLite. Я не буду подробно объяснять здесь, как устанавливать расширения PHP. Если вы не уверены, вы можете проверить документы, связанные с PHP.
Здесь я в основном говорю о разработке SQLite. В настоящее время все основные классы БД в PHP поддерживают драйверы SQLite, включая класс PEAR::DB и класс ADOdb, поэтому использование DB для разработки также является хорошим выбором.
Для простоты все
следующие
операции выполняются в операционной системе Windows
. В PHP имеется множество функций обработки SQLite. Подробную информацию можно найти в руководстве по PHP.Мы используем функцию sqlite_open() для открытия базы данных sqlite. Она успешно возвращает ресурс операции и возвращает false, если она не удалась. Затем все последующие операции выполняются над этим ресурсом. Чтобы выполнить запрос SQL, используйте функцию sqlite_query.
Ниже я предполагаю, что у вас есть файл базы данных sqlite abc.db в текущем каталоге программы PHP. Мы работаем с этим файлом:
<?php
//Открываем базу данных sqlite
$db = @sqlite_open("abc.db");
//Обработка исключений
if (!$db) die("Ошибка подключения Sqlite.n");
//Добавляем базу данных с именем foo
@sqlite_query($db, "CREATE TABLE foo (bar varchar(10))");
//Вставляем запись
@sqlite_query($db, "INSERT INTO foo VALUES ('fnord')");
//Получаем все записи
$result = @sqlite_query($db, 'выбрать панель из foo');
//Распечатываем полученные результаты
print_r(sqlite_fetch_array($result))
;
Результат, который мы видим:
Массив
(
[0] => фнорд
[бар] => фнорд
)
доказывает, что наш код выполнен успешно. Если входных данных нет, проверьте программу и наличие файла базы данных.
Затем, используя эту базовую операцию, вы можете рассмотреть возможность использования более сложных операций и SQL для ее управления, и это поможет вам управлять информацией. Вы можете создать гостевую книгу или систему CMS, я думаю, проблем не будет.
2. Используйте PHP для создания и управления базой данных
. Если у вас нет таких инструментов, как sqlite.exe, вы также можете создать базу данных sqlite с помощью PHP и управлять ею.
Фактически содержимое базы данных, созданной с помощью программы sqlite.exe, пусто. Фактически файл базы данных существует только после создания таблицы и добавления данных. Поэтому мы можем вручную добавить файл, например пустой тест. db и работать с ним. Это вполне возможно. Ниже мы будем использовать программу PHP для создания базы данных и выполнения простых функций по созданию таблиц данных, вставке данных и извлечению данных.
Сначала давайте посмотрим на код: (код длиннее, но его легче понять)
<?php
/**
* Файл: sqlite.php
* Функция: обработка базы данных sqlite.
* Автор: heiyeluren
* Время: 5 августа 2005 г.
*/
define("LN", __LINE__);//Номер строки
define("FL", __FILE__);//Текущий файл
define("DEBUG", 0);//переключатель отладки
$db_name = "heiyeluren.db";
//Создаем файл базы данных, содержимое файла пустое
если (!file_exists($db_name)) {
if (!($fp = fopen($db_name, "w+"))) {
выход (код_ошибки (-1, LN));
}
fclose($fp);
}
//Открываем файл базы данных
if (!($db = sqlite_open($db_name))) {
выход (код_ошибки (-2, LN));
}
//Создаем структуру таблицы данных
if (!sqlite_query($db, "тест DROP TABLE")) {
выход (код_ошибки (-3, LN));
}
if (!sqlite_query($db, "CREATE TABLE test (целочисленный идентификатор первичного ключа, целое число pid, имя varchar(10) UNIQUE)")) {
выход (код_ошибки (-3, LN));
}
//Вставляем фрагмент данных
if (!sqlite_query($db, " INSERT INTO test (name) VALUES ('heiyeluren') ")) {
выход (код_ошибки (-4, LN));
}
//Получаем данные
if (!($result = sqlite_query($db, "SELECT * FROM test"))) {
выход (код_ошибки (-5, LN));
}
//Получаем полученные данные и отображаем их
while ($array = sqlite_fetch_array($result)) {
echo "ID: ". $array[id] ."<br>Имя: ". $array[name] ;
}
/* Функция кода сообщения об ошибке */
функция error_code($code, $line_num, $debug=DEBUG)
{
if ($code<-6 || $code>-1) {
вернуть ложь;
}
переключатель ($ код) {
case -1: $errmsg = "Ошибка создания файла базы данных.";
перерыв;
case -2: $errmsg = "Не удалось открыть файл базы данных sqlite.";
перерыв;
case -3: $errmsg = "Не удалось создать таблицу, таблица уже существует.";
перерыв;
case -4: $errmsg = "Не удалось вставить данные.";
перерыв;
case -5: $errmsg = "Ошибка запроса к данным базы данных.";
перерыв;
case -6: $errmsg = "Не удалось получить данные.";
перерыв;
случай -7: $errmsg = "";
перерыв;
по умолчанию: $errmsg = "Неизвестная ошибка.";
}
$m = "<b>[Ошибка]</b><br>Файл: ". basename(FL)". <br>Строка: ". LN ."<br>Сообщение: ". $errmsg ."" ;
если (!$debug) {
($m = $errmsg);
}
вернуть $м;
}
?>
Если вы действуете правильно, программа в конечном итоге выведет:
ID: 1
Имя: Хейелурен
Наша вышеуказанная программа включает в себя относительно полные функции, включая отладку, обработку исключений, доступ к базе данных и т. д. Она считается простым приложением. Вы также можете расширить его, если вам интересно.
* Конец:
наши основные операции здесь. Я завершу контент, когда у меня будет время в будущем. Если вам интересно, вы можете изучить это. Возможно, вашей личной домашней странице нужна такая небольшая база данных, чтобы помочь вам.
* Справочные документы:
http://www.donews.net/limodou/archive/2004/03/21/7997.aspx
http://www.linuxsir.org/bbs/showthread.php?p=1213668#post1213668
* Официальный сайт ресурса SQLite: http://www.sqlite.org
Синтаксис SQL: http://www.sqlite.org/lang.html.
Документация по разработке: http://www.sqlite.org/docs.html .
Часто задаваемые вопросы: http://www.sqlite.org/faq.html .
Адрес загрузки: http://www.sqlite.org/download.html .
Добавить Автора
Дата: 5 августа 2005 г.