Команды sqlite: Команды языка запросов SQLite
Команды языка запросов SQLite
Введите команду sqlite3
, которая предоставит вам командную строку SQLite, в которой вы будете запускать различные команды SQLite.
$sqlite3
SQLite version 3.25.3
Enter ".help" for instructions
sqlite>
Для перечисления доступных точечных команд вы можете ввести .help
в любое время. Например:
sqlite>.help
Вышеприведенная команда отобразит список различных важных команд SQLite dot, которые перечислены в следующей таблице.
Название | Описание |
.backup ?DB? FILE | Резервная БД (по умолчанию main ) для FILE |
.bail ON|OFF | Остановка после ошибки. По умолчанию OFF |
.databases | Имена списков и файлы прикрепленных баз данных |
.dump ?TABLE? | Дамп базы данных в текстовом формате SQL. Если TABLE указан, только таблицы дампов, соответствующие шаблону LIKE TABLE |
.echo ON|OFF | Включить или выключить эхо-сигнал команды |
.exit | Выйти из приглашения SQLite |
.explain ON|OFF | Включите или выключите режим вывода, подходящий для EXPLAIN. Без аргументов он превращает EXPLAIN |
.header(s) ON|OFF | Включение или выключение отображения заголовков |
.help | Показать это сообщение |
.import FILE TABLE | Импортировать данные из FILE в таблицу |
.indices ?TABLE? | Показывать имена всех индексов. Если TABLE указан, отображают только индексы для таблиц, соответствующих шаблону LIKE TABLE |
.load FILE ?ENTRY? | Загрузка библиотеки расширений |
.log FILE|off | Включите или выключите ведение журнала. FILE может быть stderr / stdout |
.mode MODE |
Установите выходной режим, в котором MODE является:
|
.nullvalue STRING | Печать STRING вместо значений NULL |
.output FILENAME | Отправить вывод в FILENAME |
.output stdout | Отправить вывод на экран |
.print STRING… | Печать литералов STRING |
.prompt MAIN CONTINUE | Заменить стандартные подсказки |
.quit | Выйти из приглашения SQLite |
.read FILENAME | Выполнить SQL в FILENAME |
.schema ?TABLE? | Показать инструкции CREATE. Если TABLE указан, отображаются только таблицы, соответствующие шаблону LIKE TABLE |
.separator STRING | Изменить разделитель, используемый режимом вывода и .import |
.show | Показывать текущие значения для различных настроек |
.stats ON|OFF | Включение или выключение статистики |
.tables ?PATTERN? | Имена списков таблиц, соответствующих шаблону LIKE |
.timeout MS | Попробуйте открыть заблокированные таблицы для MS миллисекунд |
.width NUM NUM | Установка ширины столбцов для режима column |
.timer ON|OFF | Включение или выключение измерения таймера процессора |
Что такое SQLite и зачем она нужна?
SQLite — это встроенная библиотека, которая реализует автономный, безсерверный, нулевой конфигурации, транзакционный механизм СУБД SQL. Это база данных, которая настроена на нуль, что означает, как и другие базы данных, которые вам не нужно настраивать в вашей системе.
SQLite не является автономным процессом, как другие базы данных, вы можете связать его статически или динамически в соответствии с вашим требованием с вашим приложением. SQLite напрямую обращается к своим файлам хранения.
Особенности SQLite
- SQLite не требует отдельного процесса сервера или системы для работы (без сервера).
- SQLite поставляется с нулевой конфигурацией, что означает отсутствие необходимости в настройке или администрировании.
- Полная база данных SQLite хранится в одном кросс-платформенном диске.
- SQLite очень маленький и легкий, менее 400KiB полностью сконфигурированный или менее 250KiB с дополнительными функциями, опущенными.
- SQLite является автономным, что означает отсутствие внешних зависимостей.
- SQLite-транзакции полностью совместимы с ACID, обеспечивая безопасный доступ к нескольким процессам или потокам.
- SQLite поддерживает большинство функций языка запросов, найденных в стандарте SQL92 (SQL2).
- SQLite написан на ANSI-C и предоставляет простой и простой в использовании API.
- SQLite доступен в UNIX (Linux, Mac OS-X, Android, iOS) и Windows (Win32, WinCE, WinRT).
Ограничения SQLite
В SQLite имеется несколько неподдерживаемых функций SQL92:
Название | Описание |
RIGHT OUTER JOIN | Внедрен только LEFT OUTER JOIN. |
FULL OUTER JOIN | Внедрен только LEFT OUTER JOIN. |
ALTER TABLE | Поддерживаются варианты RENAME TABLE и ADD COLUMN команды ALTER TABLE. DROP COLUMN, ALTER COLUMN, ADD CONSTRAINT не поддерживаются. |
Trigger support | Для каждого триггера ROW поддерживаются, но не для триггеров EACH STATEMENT. |
VIEWs | VIEWs в SQLite доступны только для чтения. Вы не можете выполнять оператор DELETE, INSERT или UPDATE в представлении. |
GRANT и REVOKE | Единственными правами доступа, которые могут быть применены, являются обычные разрешения доступа к файлу базовой операционной системы. |
Команды SQLite
Стандартные команды SQLite для взаимодействия с реляционными базами данных аналогичны SQL. Это CREATE, SELECT, INSERT, UPDATE, DELETE и DROP.
Название | Описание |
CREATE | Создание новой таблицы, представление таблицы или другой объект в базе данных. |
ALTER | Изменяет существующий объект базы данных, такой как таблица. |
DROP | Удаляет всю таблицу, представление таблицы или другого объекта в базе данных. |
INSERT | Создает запись |
UPDATE | Изменяет записи |
DELETE | Удаляет записи |
SELECT | Извлекает определенные записи из одной или нескольких таблиц |
Что такое операторы в языке запросов SQLite
Оператором является зарезервированное слово или символ, используемый в предложении WHERE
оператора SQLite для выполнения операций, таких как сравнения и арифметические операции.
Операторы используются для указания условий в выражении SQLite и служат конъюнкциями для нескольких условий в инструкции.
- Арифметические операторы
- Операторы сравнения
- Логические операторы
- Побитовые операторы
Арифметические операторы SQLite
Предположим, что переменная a имеет значение 10, а переменная b — 20, то SQLite-арифметические операторы будут использоваться следующим образом:
Оператор | Описание | Пример |
+ (Сложение) | Добавляет значения по обе стороны оператора | a + b даст 30 |
— (Вычитание) | Вычитает правый операнд из левого операнда | a — b даст -10 |
* (Умножение) | Умножает значения по обе стороны оператора | a * b даст 200 |
/ (Деление) | Делит левый операнд на правый операнд | b / a даст 2 |
% (Модуль) | Делит левый операнд на правый операнд и возвращает остаток |
b% a даст 0 |
Операторы сравнения SQLite
Предположим, что переменная a имеет значение 10, а переменная b — 20, то операторы сравнения SQLite будут использоваться следующим образом:
Оператор | Описание | Пример |
---|---|---|
== | Проверяет, равны ли значения двух операндов или нет, если да, то условие становится истинным. | (a == b) не соответствует действительности. |
знак равно | Проверяет, равны ли значения двух операндов или нет, если да, то условие становится истинным. | (a = b) неверно. |
знак равно | Проверяет, равны ли значения двух операндов или нет, если значения не равны, тогда условие становится истинным. | (a! = b) истинно. |
<> | Проверяет, равны ли значения двух операндов или нет, если значения не равны, тогда условие становится истинным. | (a <> b) верно. |
> | Проверяет, превышает ли значения левого операнда значение правого операнда, если да, то условие становится истинным. | (a> b) неверно. |
< | Проверяет, являются ли значения левого операнда меньше значения правильного операнда, если да, то условие становится истинным. | (a <b) истинно. |
> = | Проверяет, является ли значение левого операнда больше или равно значению правильного операнда, если да, тогда условие становится истинным. | (a> = b) неверно. |
<= | Проверяет, является ли значение левого операнда меньше или равно значению правильного операнда, если да, тогда условие становится истинным. | (a <= b) истинно. |
<! | Проверяет, не превышает ли значение левого операнда значение правого операнда, если да, то условие становится истинным. | (a! <b) является ложным. |
!> | Проверяет, не превышает ли значение левого операнда значение правого операнда, если да, то условие становится истинным. | (a!> b) истинно. |
Логические операторы SQLite
Вот список всех логических операторов, доступных в SQLite.
Оператор | Описание |
AND | Оператор AND допускает существование множества условий в предложении WHERE оператора SQL. |
BETWEEN | Оператор BETWEEN используется для поиска значений, находящихся в пределах набора значений, с учетом минимального значения и максимального значения. |
EXISTS | Оператор EXISTS используется для поиска наличия строки в указанной таблице, соответствующей определенным критериям. |
IN | Оператор IN используется для сравнения значения со списком литеральных значений, которые были указаны. |
NOT IN | Отрицание оператора IN, которое используется для сравнения значения со списком значений буквального значения, которые были указаны. |
LIKE | Оператор LIKE используется для сравнения значения с аналогичными значениями с помощью подстановочных операторов. |
GLOB | Оператор GLOB используется для сравнения значения с аналогичными значениями с помощью подстановочных операторов. Кроме того, GLOB чувствителен к регистру, в отличие от LIKE. |
NOT | Оператор NOT меняет смысл логического оператора, с которым он используется. Например. НЕ СУЩЕСТВУЕТ, НЕ МЕЖДУ, НЕ ВХОДИТ и т. Д. Это оператор отрицания. |
OR | Оператор OR используется для объединения нескольких условий в предложение WHERE оператора SQL. |
IS NULL | Оператор NULL используется для сравнения значения со значением NULL. |
IS | Оператор IS работает как = |
IS NOT | Оператор IS работает как! = |
|| | Добавляет две разные строки и создает новую. |
UNIQUE | Оператор UNIQUE выполняет поиск каждой строки указанной таблицы для уникальности (без дубликатов). |
SQLite Побитовые операторы
Побитовый оператор работает с битами и выполняет побитовые операции. Ниже приведена таблица истинности для & и | :
p | q | p & q | p | q |
---|---|---|---|
0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 |
1 | 1 | 1 | 1 |
1 | 0 | 0 | 1 |
Предположим, что A = 60; и B = 13, то в двоичном формате они будут выглядеть следующим образом:
A = 0011 1100
B = 0000 1101
A & B = 0000 1100
A | B = 0011 1101
~ A = 1100 0011
Побитовые операторы, поддерживаемые языком SQLite, перечислены в следующей таблице. Предположим, что переменная A имеет значение 60, а переменная B имеет значение 13, тогда
Побитовые операторы, поддерживаемые языком SQLite, перечислены в следующей таблице.
Оператор | Описание | Пример |
---|---|---|
& | Двоичный оператор AND копирует бит в результат, если он существует в обоих операндах. | (A & B) даст 12, что составляет 0000 1100 |
| | Двоичный оператор OR копирует бит, если он существует в любом из операндов. | (A | B) даст 61, который равен 0011 1101 |
~ | Binary Ones Оператор дополнения является унарным и имеет эффект «flipping» бит. | (~ A) даст -61, что составляет 1100 0011 в форме дополнения 2 из-за подписанного двоичного числа |
<< | Двойной левый оператор сдвига.Значение левых операндов перемещается влево на количество бит, заданных правым операндом. | A << 2 даст 240, что составляет 1111 0000 |
>> | Двоичный оператор правого сдвига. Значение левых операндов перемещается вправо на количество бит, заданных правым операндом. | A >> 2 даст 15, что составляет 0000 1111 |
20 вопросов и ответов на знание базы данных SQLite
Хорошая подготовка — залог успешного прохождения интервью. CareerGuru99 собрали топ-20 вопросов на знание базы данных SQLite, а мы перевели их для вас.
SQLite — это система управления реляционными базами данных, совместимая с ACID, содержащаяся в относительно небольшой библиотеке языка C.
Стандартные команды SQLite, взаимодействующие с реляционными базами данных, аналогичны SQL.
- SELECT
- CREATE
- INSERT
- UPDATE
- DROP
- DELETE
Транзакция называется единица работы, которая выполняется в отношении базы данных. Это одно или несколько изменений в базе данных, свойства которых определяются ACID.
- Атомарность: гарантирует, что все транзакции успешно завершены.
- Согласованность: гарантирует, что база данных меняет состояние при успешной транзакции.
- Изолированность: позволяет транзакциям работать прозрачно и независимо друг от друга.
- Устойчивость: гарантирует, что результат или эффект совершенной транзакции сохранится в случае сбоя системы.
SQLite работает с
- Встроенными устройствами и Интернетом вещей
- Форматами файла приложения
- Анализом данных
- Веб-сайтами
- Кэшем для корпоративных данных
- Базами данных на стороне сервера
- Файловыми архивами
- Внутренними или временными базами данных
- Заменой для файлов ad hoc
- Экспериментальными расширения языка SQL
- В режиме ожидания для базы данных предприятия во время демонстрации или тестирования
SQL | SQLite |
---|---|
SQL — это структурированный язык запросов | SQLite — это мощная встроенная система управления реляционными базами данных, в основном используемая в мобильных устройствах для хранения данных |
Поддерживаемые SQL-процедуры | SQLite не поддерживает хранимые процедуры |
SQL основан на сервере | SQLite основан на файлах |
- Для работы не требуется отдельная серверная процессорная система
- Нет необходимости в настройке или администрировании. SQlite поставляется с нулевой конфигурацией
- База данных SQLite может храниться в одном кросс-платформенном диске
- SQLite очень компактен — менее 400 KiB
- SQLite является автономным, что означает отсутствие внешних зависимостей
- Он поддерживает практически все типы ОС
- Он написан на ANSI-C и предоставляет простой в использовании API
Классы хранения SQLite включают
- Null : имеет значение NULL
- Integer: представляет собой целое число со знаком (1,2,3 и т. д.),
- Real: IEEE 8-байтовое число с плавающей запятой
- Text: текстовая строка, хранящаяся с использованием кодировки базы данных (UTF-8, UTF-16BE)
- BLOB (Binary Large Object) : блок данных, точно сохраненный при вводе
Булевы значения в SQLite хранятся в виде целых чисел 0 (false) и 1 (true). SQLite не имеет отдельного булева класса хранения.
group by используется вместе с оператором SELECT для организации идентичных данных в группы.
Для создания базы данных в SQLite используется команда «sqlite3». Основной синтаксис создания базы данных — $ sqlite3 DatabaseName.db.
Команда .dump используется для создания дампа базы данных SQLite, но стоит помнить, что при после ее использования все данные будут сброшены навсегда и восстановить их будет невозможно.
Существует очень ограниченная поддержка для команды alter (добавить или удалить). Если вы хотите удалить или добавить столбцы из существующей таблицы в SQLite, вы должны сначала сохранить существующие данные во временную таблицу, сбросить старую таблицу или столбец, создать новую таблицу и затем скопировать данные с временной таблица.
SQLite не имеет определенной длины для VARCHAR. Например, вы можете объявить VARCHAR (10), и SQLite сохранит там 500 миллионов символов. Он сохранит в целости все 500 символов.
SQLite можно использовать в следующих условиях:
- Встроенные приложения: не требуют расширения, например, мобильные приложения или игры
- Disk assess replacement: приложение, которое требует прямой записи или чтения файлов на диск
- Тестирование: при тестировании логики бизнес-приложений
Когда не нужно использовать SQLite:
- Многопользовательские приложения: в тех случаях, когда несколько клиентов должны иметь доступ и использовать одну и ту же базу данных
- Приложения, требующие записей в больших объемах: он позволяет использовать только одну операцию записи в любой момент времени
Для восстановления информации, вы можете использовать резервную копию файла базы данных, если ее нет, восстановление невозможно. SQLite использует SQLITE SECURE DELETE, который перезаписывает все удаленное содержимое нулями.
Ошибка SQLITE_SCHEMA возникает, если подготовленный оператор SQL недействителен и не может быть выполнен. Такой тип ошибок возникает только при использовании интерфейсов sqlite3 prepare () и sqlite3 step () для запуска SQL.
Исходный код основного источника публичного домена SQLite не описывается никаким ECCN. Следовательно, ECCN следует указывать как EAR99. Но, если вы добавляете новый код или связываете SQLite с приложением, он может изменить номер EECN.
В SQLite представление фактически представляет собой состав таблицы в виде предопределенного запроса SQLite. Представление может состоять из всех строк таблицы или выбранных строк из одной или нескольких таблиц.
Индексы SQLite представляют собой специальные таблицы поиска, используемые поисковой системой базы данных для ускорения нахождения данных. Простыми словами, это указатель на данные в таблице.
Следует избегать индексов, если
- Таблицы небольшие
- Таблицы часто меняются
- Столбцы, которые часто используются или имеют большое количество значений NULL
О языке SQL на примере SQLite, MySQL и PostgreSQL
NoSQL базы данных: работаем с данными правильно
Команда SELECT языка запросов SQLite
Оператор SQLite SELECT
используется для извлечения данных из таблицы базы данных SQLite, которая возвращает данные в форме таблицы результатов. Эти таблицы результатов также называются наборами результатов. Ниже приведен базовый синтаксис оператора SQLite SELECT
.
SELECT column1, column2, columnN FROM table_name;
Здесь column1, column2 ...
— это поля таблицы, значения которых вы хотите получить. Если вы хотите получить все поля, доступные в этом поле, вы можете использовать следующий синтаксис:
SELECT * FROM table_name;
Ниже приведен пример для извлечения и отображения всех этих записей с помощью инструкции SELECT
. Здесь первые три команды были использованы для установки правильно отформатированного вывода.
sqlite>.header on
sqlite>.mode column
sqlite> SELECT * FROM COMPANY;
Если вы хотите выбрать только выбранные поля таблицы COMPANY
, используйте следующий запрос:
sqlite> SELECT ID, NAME, SALARY FROM COMPANY;
Установка выходной ширины столбца
Иногда вы столкнулись с проблемой, связанной с усеченным выходом в случае столбца .mode
, который происходит из-за ширины по умолчанию для столбца, который будет отображаться. Что вы можете сделать, вы можете установить ширину столбца с отображаемой колонкой, используя команду .width num, num ....
следующим образом:
sqlite>.width 10, 20, 10
sqlite>SELECT * FROM COMPANY;
Вышеупомянутая команда .width
устанавливает ширину первого столбца в 10, вторую ширину столбца — 20 и ширину третьего столбца — 10.
Информация о схеме
Поскольку все точечные команды доступны в приглашении SQLite, поэтому при программировании с помощью SQLite вы будете использовать следующий оператор SELECT
с таблицей sqlite_master
, чтобы отобразить список всех таблиц, созданных в вашей базе данных.
sqlite> SELECT tbl_name FROM sqlite_master WHERE type = 'table';
Вы можете перечислить полную информацию о таблице COMPANY
следующим образом:
sqlite> SELECT sql FROM sqlite_master WHERE type = 'table' AND tbl_name = 'COMPANY';
Предполагая, что в вашем файле testDB.db
есть только таблица COMPANY
, это приведет к следующему результату.
CREATE TABLE COMPANY(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
)
команды UPDATE и DELETE при работе с таблицами
Продолжим
изучать язык SQL-запросов и
поговорим об изменении и удалении записей из таблицы. Как и ранее,
воспользуемся программой DB Browser и изучим работу
команд:
-
UPDATE – изменение
данных в записях;
-
DELETE – удаление
записей из таблицы.
UPDATE
Начнем с команды
UPDATE, которая имеет
следующий синтаксис:
UPDATE
имя_таблицы SET имя_столбца = новое_значение WHERE условие
И, например, с
ее помощью выполним обнуление очков у всех пользователей:
UPDATE users SET score = 0
Конечно, на
практике подобный SQL-запрос встречается крайне редко, т.к. он
затрагивает изменение всех записей в таблице. Обычно, он записывается с весьма
строгим фильтром, например, так:
UPDATE users SET score = 1000 WHERE rowid = 1
Здесь мы в
качестве фильтра используем скрытый столбец rowid с уникальным
значением номера для каждой записи и это гарантирует нам, что изменение
затронет только одну первую запись (именно у нее в нашем случае rowid =1, однако, это
не всегда так).
Или же, можно
всем игрокам женского пола увеличить число очков на 500:
UPDATE users SET score = score+500 WHERE sex = 2
Смотрите,
конструкция score = score+500 позволяет
добавить к уже существующим данным в поле score 500 очков. Наконец,
мы можем обратиться к игрокам по имени и указать им определенное число очков:
UPDATE users SET score = 1500 WHERE name LIKE 'Федор'
Здесь ключевое
слово LIKE возвращает True, если поле name содержит имя
«Федор». В этой строке можно использовать специальные символы:
-
%
— любое продолжение строки;
-
_
— любой символ;
для создания сравнения
с шаблоном. Например, так:
UPDATE users SET score = score+100 WHERE name LIKE 'М%'
Всем игрокам, у
которых имя начинается с буквы «М» будет добавлено 100 очков. Или, так:
UPDATE users SET score = score+100 WHERE name LIKE 'С_рг%'
Здесь шаблон «’С_рг%»
означает первую букву «С», за которой может идти произвольный символ, далее
буквы р и г и, затем, произвольный набор символов. Этому выражению, в
частности, соответствует имя «Сергей».
Однако, на
практике злоупотреблять сравнением строк не стоит, т.к. это относительно
ресурсоемкая операция: гораздо проще выполнить сравнение чисел и именно так
нужно стараться задавать фильтры.
По аналогии, с
помощью команды UPDATE можно менять значения сразу несколько
столбцов записи, перечисляя их через запятую:
UPDATE users SET score = 700, old = 45 WHERE old > 40
DELETE
Синтаксис
следующей команды для удаления записи из БД, следующий:
DELETE
FROM имя_таблицы
WHERE условие
Здесь все очень
просто: указывается имя таблицы, из которой осуществляется удаление и, затем,
условия для выбора удаляемых записей. Обычно, в качестве фильтра задается
строгое условие, чтобы случайно не удалить «лишние» данные и для этого хорошо
подходит скрытое поле rowid. Например, так:
DELETE FROM users WHERE rowid IN(2, 5)
Мы здесь удалили
две записи с rowid 2 и 5. Если теперь отобразить нашу таблицу игроков:
SELECT rowid, * FROM users
то получим такой
список:
Смотрите, здесь
нет строк с удаленными значениями rowid. Причем, если
сейчас добавить новую запись:
INSERT INTO users VALUES('Даша', 2, 24, 1200)
И снова
отобразить список:
то получим
запись с rowid равным 9, так
как это поле автоматически принимает следующее значение. Поэтому оно не равно
порядковому номеру записи в таблице, это лишь некое уникальное числовое
значение записи и не более того. Вот это всегда следует иметь в виду при работе
с таблицами БД.
Начало работы с SQLite3 — основные команды
SQLite — это библиотека C, которая реализует механизм базы данных SQL. Это система управления реляционными базами данных (или СУБД). Большинство баз данных SQL работают по модели клиент / сервер. Возьмем для примера MySQL. Для ввода и получения данных из базы данных MySQL вам необходимо отправить запрос на сервер MySQL, который при получении предоставит вам соответствующий ответ. В отличие от MySQL, базы данных SQLite управляются напрямую с диска.Нет необходимости создавать запросы к серверу.
Установка
Мы будем работать с нашей базой данных, используя интерфейс командной строки (CLI) sqlite3 . Мы будем работать под платформой Linux. sqlite3 CLI для MAC OS и Windows одинаковы, но для единообразия рекомендуется установить Homestead Improved — легкую виртуальную машину, запускаемую за 5 минут, которая избавит ваш компьютер от лишнего ненужного программного обеспечения.
Чтобы установить его в Homestead Improved (или в любой ОС на базе Debian, например Ubuntu), запустите следующее:
sudo apt-get install sqlite3 libsqlite3-dev
Это установит sqlite3 .Чтобы установить его на другие платформы, следуйте их официальным инструкциям. После его установки мы можем начать сеанс. Откройте Терминал / Командную строку и введите команду sqlite3
. Вы должны увидеть что-то подобное:
Во второй строке предлагается ввести .help
для получения инструкций. Вас ждет подсказка для ввода команды. Так что продолжайте и введите .help
. Это даст вам список мета-команд и их описания.
Мета-команды используются для определения формата вывода для таблиц, проверки баз данных и других административных операций. Они всегда начинаются с точки , точки . Даже .help
— это мета-команда. Вы можете просмотреть список. Вот некоторые, которые вам часто пригодятся:
Команда | Описание |
---|---|
. Показать | Отображает текущие настройки для различных параметров |
.базы данных | Предоставляет имена и файлы базы данных |
. Выйти | Выйти из программы sqlite3 |
. Таблицы | Показать текущие таблицы |
. Схема | Схема отображения таблицы |
. Заголовок | Показать или скрыть заголовок выходной таблицы |
. Режим | Выбрать режим для таблицы вывода |
. Дамп | Дамп базы данных в текстовом формате SQL |
Стандартные команды
Давайте рассмотрим стандартных команд в sqlite3.Мета-команды используются для проверки базы данных. Стандартные команды SQL используются для работы с базой данных. Стандартные команды можно разделить на три группы:
Язык определения данных : Он предоставляет структуру хранения и методы для доступа к данным из системы баз данных.
Язык манипулирования данными : Он позволяет пользователям манипулировать (добавлять / изменять / удалять) данными.
Data Query Language : позволяет пользователям извлекать необходимые данные из базы данных.
Примечание. SQLite понимает многие другие стандартные команды, список которых можно прочитать здесь. Поскольку руководство является введением для начинающих, мы рассмотрим только вышеупомянутые команды.
базы данных SQLite — это кроссплатформенных переносимых файлов . Их можно хранить на различных устройствах хранения и передавать на разные компьютеры.
Мы научимся работать с sqlite3 с нашей базой данных Comment Section .Практически на каждом сайте сегодня есть раздел для комментариев. Чтобы оставить комментарий, пользователь должен ввести следующие данные:
- Имя
- Электронная почта
- Сайт
- Комментарий
Из этих четырех только URL веб-сайта является необязательным. Мы также должны определить столбец, в котором нумеруются комментарии. Назовем его post_id .
Мы можем определить типы данных столбцов (атрибутов) следующим образом:
Атрибут | Требуемый тип данных |
---|---|
post_id | ЦЕЛОЕ |
наименование | ТЕКСТ |
электронная почта | ТЕКСТ |
website_url | ТЕКСТ |
комментарий | ТЕКСТ |
Вы можете увидеть документацию для различных типов данных и классов хранения, представленных в SQLite3.
SQLite3 использует Manifest Typing . Большинство других движков баз данных, включая MySQL, используют статическую типизацию.
Теперь создадим базу данных. Если вы все еще используете программу sqlite3, выйдите из нее, введя .quit
в приглашении sqlite. Затем введите команду:
sqlite3 comment_section.db
Это создаст файл базы данных comment_section.db в текущем рабочем каталоге.
Примечание: Если после команды не указано имя файла, sqlite3 автоматически создает временную базу данных.Так случилось, когда мы впервые ввели единственную команду sqlite3.
СОЗДАТЬ ТАБЛИЦУ
Для хранения комментариев мы должны определить таблицу. Назовем его комментариев
. Для его создания введите выписку:
СОЗДАТЬ ТАБЛИЦУ комментарии (
post_id INTEGER NOT NULL АВТОНОМЕРЫ ПЕРВИЧНОГО КЛЮЧА,
имя TEXT NOT NULL,
email TEXT NOT NULL,
website_url ТЕКСТ NULL,
комментарий TEXT NOT NULL);
NOT NULL
гарантирует, что конкретное значение не останется пустым в записи. PRIMARY KEY
и AUTOINCREMENT
разрабатывают атрибут post_id .
Чтобы проверить, создана ли таблица, введите метакоманду .tables
. Он отобразит имя таблицы , комментарии
.
Примечание: Чтобы получить схему таблицы, введите .schema comments
Теперь, когда таблица создана, нам нужно ввести данные.
ВСТАВИТЬ РЯД
Предположим, пользователь ввел комментарий со сведениями:
Имя: Шивам Мамгаин
Электронная почта: xyz @ gmail.com
Сайт: shivammg.blogspot.com
Комментарий: отличный учебник для начинающих.
Чтобы вставить его, мы используем команду INSERT .
ВСТАВИТЬ комментарии (имя, адрес электронной почты, адрес_сайта, комментарий)
ЦЕННОСТИ ('Шивам Мамгаин', '[email protected]',
"shivammg.blogspot.com", "Отличное руководство для начинающих". );
Я не указал значение post_id , хотя оно определено как NOT NULL
. Дело в том, что это не нужно, потому что это поле AUTOINCREMENT
.
Введите еще несколько строк в таблицу, чтобы попрактиковаться.
ВЫБРАТЬ
Мы научились вставлять данные в таблицу. Для получения данных мы используем команду SELECT .
ВЫБЕРИТЕ post_id, name, email, website_url, comment
ИЗ комментариев;
Вышеупомянутый оператор можно также записать как:
ВЫБРАТЬ *
ИЗ комментариев;
Это приведет к извлечению всех строк из таблицы. Результирующая таблица может выглядеть запутанной без заголовков и правильного разделения столбцов.Чтобы преодолеть это, мы должны изменить некоторые параметры.
Введите . Показать
Чтобы отобразить атрибуты столбца, введите .headers ON
.
Чтобы отображать строки в виде столбцов, введите .mode column
.
Введите оператор SELECT еще раз.
Примечание: Выберите режим отображения, который вам подходит. Введите .help
и найдите .mode
. Вам будут показаны различные значения .режим
может иметь.
ОБНОВЛЕНИЕ
Предположим, что адрес электронной почты для «Shivam Mamgain» был изменен на «[email protected]». Нам нужно обновить строку. Сделайте следующее заявление:
ОБНОВЛЕНИЕ комментарии
УСТАНОВИТЬ email = '[email protected]'
ГДЕ name = 'Шивам Мамгаин';
Это изменит атрибут email для имени «Shivam Mamgain» на «[email protected]».
Примечание: Атрибут name не уникален, поэтому приведенный выше оператор может повлиять на более чем одну строку.Для каждого имени = «Shivam Mamgain» адрес электронной почты будет установлен на «[email protected]». Чтобы обновить конкретную строку, используйте атрибут post_id . Он определяется как PRIMARY KEY
и всегда будет уникальным.
УДАЛИТЬ
От
до УДАЛИТЬ строк из таблицы, мы можем использовать условие WHERE , как и в UPDATE .
Предположим, нам нужно удалить строку с post_id 9. Мы можем ввести команду:
УДАЛИТЬ ИЗ комментариев
ГДЕ post_id = 9;
Нам необходимо удалить все комментарии, опубликованные «Барт Симпсон» и «Гомер Симпсон».Мы можем выполнить следующий запрос:
УДАЛИТЬ ИЗ комментариев
ГДЕ name = 'Барт Симпсон' ИЛИ name = 'Гомер Симпсон';
АЛЬТЕР
Новые столбцы могут быть добавлены в таблицу с помощью ALTER . В Интернете большинство людей не обязательно используют свое настоящее имя. Обычно они работают под псевдонимом , имя пользователя . Нам нужно добавить столбец с именем пользователя в нашу таблицу. Запрос ниже выполняет задачу:
ALTER TABLE комментарии
ДОБАВИТЬ COLUMN имя пользователя TEXT;
Это создаст столбец с именем пользователя в комментариях
и установит его тип данных на ТЕКСТ.Значение имя пользователя для уже вставленных строк будет установлено в NULL.
Команда ALTER также используется для переименования таблиц. Давайте изменим таблицу комментариев
на Coms
.
ALTER TABLE комментарии
ПЕРЕИМЕНОВАТЬ В Coms;
КАПЛЯ
Удаление таблицы означает удаление всей таблицы. Таблицу Coms
можно удалить с помощью следующего запроса:
КАБЕЛЬНАЯ ТАБЛИЦА Coms;
Заключение
SQLite3 предлагает множество преимуществ перед другими реляционными базами данных.О некоторых его отличительных особенностях можно прочитать здесь. Большинство PHP-фреймворков и многие другие веб-фреймворки, включая Django, Ruby on Rails и web2py, имеют SQLite3 в качестве базы данных по умолчанию. Небольшой вес делает его предпочтительным для локального хранилища в веб-браузерах. Он также используется в качестве клиентского хранилища для многих операционных систем, включая Android и Windows Phone 8. Это один из наиболее широко используемых механизмов баз данных.
В этом руководстве мы взаимодействовали с системой баз данных SQLite. Существуют приложения с графическим пользовательским интерфейсом, которые делают то же самое, без необходимости изучать команды.Два таких приложения — это браузер БД для SQLite и SQLiteStudio. Вы также можете практиковаться в SQL онлайн на SQL Fiddle.
В этом руководстве описаны основы работы с SQLite3. Надеюсь, у вас возникнет искушение пойти дальше. Вы можете легко интегрировать его с PHP, используя общий класс PDO.
.
sql — Sqlite с использованием командной строки
Переполнение стека
- Около
Продукты
- Для команд
Переполнение стека
Общественные вопросы и ответыПереполнение стека для команд
Где разработчики и технологи делятся частными знаниями с коллегамиВакансии
Программирование и связанные с ним технические возможности карьерного ростаТалант
Нанимайте технических специалистов и создавайте свой бренд работодателяРеклама
Обратитесь к разработчикам и технологам со всего мира- О компании
.
Как использовать команду SQLite Dump
Резюме : в этом руководстве вы узнаете, как использовать команду SQLite dump для резервного копирования и восстановления базы данных.
Проект SQLite предоставляет инструмент sqlite3, который позволяет вам взаимодействовать с базой данных SQLite с помощью программы командной строки.
Используя инструмент sqlite3, вы можете использовать операторы SQL для запроса или обновления данных в базе данных. Кроме того, вы можете использовать специальные команды, известные как точечные команды, для выполнения различных полезных операций с базой данных.
Одной из этих точечных команд является команда .dump
, которая дает вам возможность выгрузить всю базу данных или таблицы в текстовый файл.
Дамп всей базы данных в файл с помощью команды дампа SQLite
Следующая команда открывает новое соединение базы данных SQLite с файлом chinook.db
.
C: \ sqlite> sqlite3 c: /sqlite/chinook.db SQLite версия 3.13.0 18.05.2016 10:57:30 Введите ".help" для подсказок по использованию. sqlite>
Чтобы выгрузить базу данных в файл, вы используете .команда dump
. Команда .dump преобразует всю структуру и данные базы данных SQLite в один текстовый файл.
По умолчанию команда .dump выводит операторы SQL на экран. Для вывода вывода в файл используйте команду .output FILENAME
.
Следующие команды определяют вывод файла дампа в chinook.sql
и выгружают базу данных chinook в файл chinook.sql
.
sqlite>.вывод c: /sqlite/chinook.sql sqlite> .dump sqlite> .exit
Дамп определенной таблицы с помощью команды SQLite dump
Если вы хотите создать дамп определенной таблицы, вам необходимо указать имя таблицы после команды .dump
. Например, следующая команда сохраняет таблицу альбомов
в файл album.sql
.
sqlite> .output c: /sqlite/albums.sql sqlite> .dump альбомы sqlite> .quit
На следующем рисунке показано содержимое альбомов .sql
файл.
Дамп структуры таблиц только с помощью команды схемы
Если вы хотите создать дамп структур таблиц в базе данных, используйте команду .schema
. Следующие команды устанавливают выходной файл в файл chinook_structure.sql
и сохраняют структуры таблиц в файл chinook_structure.sql
.
sqlite> .output c: /sqlite/chinook_structure.sql sqlite> .schema sqlite> .quit
На следующем рисунке показано содержимое chinook_structure.sql
файл.
Дамп данных одной или нескольких таблиц в файл
Чтобы выгрузить данные таблицы в текстовый файл, выполните следующие действия:
Сначала установите режим , вставьте
, используя команду .mode
как следует:
sqlite> .mode insert
С этого момента каждый оператор SELECT будет выдавать результат в виде операторов INSERT вместо чистых текстовых данных.
Во-вторых, установите вывод в текстовый файл вместо стандартного вывода по умолчанию.Следующая команда устанавливает выходной файл в файл data.sql
.
sqlite> .output data.sql
В-третьих, выполните инструкции SELECT для запроса данных из таблицы, которую вы хотите сбросить. Следующая команда возвращает данные из таблицы исполнителей
.
sqlite> выбрать * из художников;
Проверьте содержимое файла data.sql
, если все в порядке, вы увидите следующий вывод:
Чтобы выгрузить данные из других таблиц, вам нужно выполнить инструкции SELECT
для запроса данных из эти таблицы.
В этом руководстве вы узнали, как выгружать данные в текстовый файл с помощью команды SQLite dump и других команд.
- Было ли это руководство полезным?
- Да Нет
.
Как создать, открыть, резервное копирование базы данных в SQLite
- Home
Testing
- Back
- Agile Testing
- BugZilla
- Cucumber
- Database Testing
- ETL Testing
- Назад
- JUnit
- LoadRunner
- Ручное тестирование
- Мобильное тестирование
- Mantis
- Почтальон
- QTP
- Назад
- Центр качества SAP
- SoapUI
- Управление тестированием
- TestLink
SAP
- Назад
- AB AP
- APO
- Начинающий
- Basis
- BODS
- BI
- BPC
- CO
- Назад
- CRM
- Crystal Reports
- QM4O
- Заработная плата
- Назад
- PI / PO
- PP
- SD
- SAPUI5
- Безопасность
- Менеджер решений
- Successfactors
- SAP Tutorials
4
- Web
- Apache
- AngularJS
- ASP.Net
- C
- C #
- C ++
- CodeIgniter
- СУБД
- JavaScript
- Назад
- Java
- JSP
- Kotlin
- Linux
- Linux
- Kotlin
- Linux
- Perl
js
- Назад
- PHP
- PL / SQL
- PostgreSQL
- Python
- ReactJS
- Ruby & Rails
- Scala
- SQL
- SQL
- UML
- VB.Net
- VBScript
- Веб-службы
- WPF
000
000
0003 SQL
000
0003 SQL
000
Обязательно учите!
- Назад
- Бухгалтерский учет
- Алгоритмы
- Android
- Блокчейн
- Business Analyst
- Создание веб-сайта
- CCNA
- Облачные вычисления
- 00030003 COBOL 9000 Compiler
- 9000 Встроенные системы
- 00030002 9000 Compiler 9000
- Ethical Hacking
- Учебники по Excel
- Программирование на Go
- IoT
- ITIL
- Jenkins
- MIS
- Сеть
- Операционная система
- Назад
- Управление проектами Обзоры
- Salesforce
- SEO
- Разработка программного обеспечения
- VB A
Big Data
- Назад
- AWS
- BigData
- Cassandra
- Cognos
- Хранилище данных
- HBOps
- HBOps
- MicroStrategy
- MongoDB
0003
0003
0003
.