Файлы System/bin Android 12. Справочник.


  Все     Команда     Скрипт     Служба     Приложение  

sqlite3
СУБД базы данных Sqlite

Тип файла: команда
  Eng  

usage: sqlite3 [OPTIONS] FILENAME [SQL]

FILENAME — это имя базы данных SQLite
Создается новая база данных, если файл ранее не существовал

Параметры:

  • -append - добавить базу данных в конец файла

  • -ascii - установить режим вывода в «ascii»

  • -bail - остановить после ошибки

  • -batch - принудительно пакетный ввод-вывод

  • -column - установить режим вывода в «столбец»

  • -cmd КОМАНДА - запустить команду перед чтением stdin

  • -csv - установить режим вывода в «csv»

  • -echo - команды печати перед выполнением

  • -init FILENAME - прочитать/обработать именованный файл

  • -[no]header - включить или выключить заголовки

  • -help - показать это сообщение

  • -html - установить режим вывода в HTML

  • -interactive - принудительно интерактивный ввод-вывод

  • -line - установить режим вывода в 'line'

  • -list - установить режим вывода в 'list'

  • -lookaside SIZE N - использовать N записей SZ байтов
    для lookasid памяти

  • -memtrace - отслеживать все выделения и освобождения памяти

  • -mmap N - размер mmap памяти по умолчанию установлен равным N

  • -newline SEP - установить разделитель выходных рядов.
    По умолчанию: '\n'

  • -nofollow - отказаться от открытия символических ссылок
    на файлы базы данных

  • -nullvalue TEXT - установить текстовую строку для значений NULL.
    По умолчанию ''

  • -pagecache SIZE N - использовать N слотов gj SIZE байтов каждый
    для кэш-памяти страниц

  • -quote - установить режим вывода на «кавычки»

  • -readonly - открыть базу данных только для чтения

  • -separator SEP - установить разделитель выходных столбцов.
    По умолчанию: '|'

  • -stats - печатать статистику памяти перед каждой финализацией

  • -version - показать верси. SQLite

  • -vfs NAME - использовать ИМЯ в качестве VFS по умолчанию

       

    Комментарии
    SQLite поддерживает типы TEXT (аналог String в Java), INTEGER (аналог long в Java) и REAL (аналог double в Java). Остальные типы следует конвертировать, прежде чем сохранять в базе данных. SQLite сама по себе не проверяет типы данных, поэтому вы можете записать целое число в колонку, предназначенную для строк, и наоборот.

    Тип Описание
    NULL пустое значение
    INTEGER целочисленное значение
    REAL значение с плавающей точкой
    TEXT строки или символы в кодировке UTF-8, UTF-16BE или UTF-16LE
    NUMERIC здесь можно хранить булевы значения, а также время и дату
    BLOB бинарные данные
    Вы не найдёте здесь тип, работающий с датами. Можно использовать строковые значения, например, как 2013-03-28 (28 марта 2013 года). Для даты со временем рекомендуется использовать формат 2013-03-27T07:58. В таких случаях можно использовать некоторые функции SQLite для добавления дней, установки начала месяца и т.д. Учтите, что SQLite не поддерживает часовые пояса.

    Также не поддерживается тип boolean. Используйте числа 0 для false и 1 для true.

    Не используйте тип BLOB для хранения данных (картинки) в Android. Лучше хранить в базе путь к изображениям, а сами изображения хранить в файловой системе.

    Обратите внимание, что здесь не используется популярный в MySQL тип varchar(n), ограничивающий длину строки.

    Всё, что вам нужно для начала работы с базой данных - задать необходимые настройки для создания или обновления базы данных.

    Так как сама база данных SQLite представляет собой файл, то по сути при работе с базой данных, вы взаимодействуете с файлом. Поэтому операции чтения и записи могут быть довольно медленными. Настоятельно рекомендуется использовать асинхронные операции, например, при помощи класса AsyncTask.

    Когда ваше приложение создаёт базу данных, она сохраняется в каталоге DATA/data/имя_пакета/databases/имя_базы.db.

    Метод Environment.getDataDirectory() возвращает путь к каталогу DATA.

    Основными пакетами для работы с базой данных являются android.database и android.database.sqlite.

    База данных SQLite доступна только приложению, которое создаёт её. Если вы хотите дать доступ к данным другим приложениям, вы можете использовать контент-провайдеры (ContentProvider).

    Активировать sqlitе3 для одной из баз данных командой:

    #sqlite3 /data/data/com.android.providers.contacts/databases/contacts.db

    Для завершения работы с sqlite3 :
    sqlite> .exit

    Приглашение для sqlitе3 - это sqlite>

    Описание доступных команд sqlite3: http://www.sqlite.org/sqlite.html.

    Просмотреть список таблиц:
    sqlite> .tables

    Быстрый доступ к главной таблице:
    SELECT name FROM sqlite_master
    WHERE type IN ('table', 'view') AND name NOT LIKE 'sqlite %'
    UNION ALL
    SELECT name FROM sqlite_temp_master
    WHERE type IN ('tаblе', 'view')
    ORDER ВY 1

    Таблица sqlite_master - это главная таблица (master table),
    в которой отслеживаются таблицы и виды, содержащиеся в базе данных.

    Следующая команда распечатывает инструкцию create для таблицы people,
    находящейся в базе данных contacts.db:

    .schema people

    Это один из способов, позволяющих узнать названия всех столбцов,
    которые содержатся в таблице базы данных.