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


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

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

Тип файла: команда
  Рус  
usage:  sqlite3 [OPTIONS] FILENAME [SQL]

FILENAME is the name of an SQLite database. A new database is created
if the file does not previously exist.
OPTIONS include:

  • -append append the database to the end of the file

  • -ascii set output mode to 'ascii'

  • -bail stop after hitting an error

  • -batch force batch I/O

  • -column set output mode to 'column'

  • -cmd COMMAND run "COMMAND" before reading stdin

  • -csv set output mode to 'csv'

  • -echo print commands before execution

  • -init FILENAME read/process named file

  • -[no]header turn headers on or off

  • -help show this message

  • -html set output mode to HTML

  • -interactive force interactive I/O

  • -line set output mode to 'line'

  • -list set output mode to 'list'

  • -lookaside SIZE N use N entries of SZ bytes for lookaside memory

  • -memtrace trace all memory allocations and deallocations

  • -mmap N default mmap size set to N

  • -newline SEP set output row separator. Default: '\n'

  • -nofollow refuse to open symbolic links to database files

  • -nullvalue TEXT set text string for NULL values. Default ''

  • -pagecache SIZE N use N slots of SZ bytes each for page cache memory

  • -quote set output mode to 'quote'

  • -readonly open the database read-only

  • -separator SEP set output column separator. Default: '|'

  • -stats print memory stats before each finalize

  • -version show SQLite version

  • -vfs NAME use NAME as the default 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

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