Учебник по SQLite: все, что вам нужно знать



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

Если вы работали с системами реляционных баз данных, вероятно, вы слышали о популярных системах баз данных, таких как MySQL , Сервер или PostgreSQL . SQLite - еще одна чрезвычайно полезная СУБД, которая очень проста в настройке и эксплуатации. Кроме того, он имеет много отличительных черт от других реляционных баз данных.. Это руководство по SQLite обучает основным концепциям, которые вам необходимо знать, с помощью обширных практических методов.

В этой статье обсуждаются следующие темы:





Учебник по SQLite: что такое SQLite?

Вот стандартное определение SQLite:

SQLite - это автономная, автономная транзакционная реляционная база данных с открытым исходным кодом и нулевой конфигурацией, предназначенная для встраивания в приложение.

Вы можете рассмотреть SQLite как ' более легкий »Версия другой сложной СУБД (Oracle, и т.д.), где его ядро ​​базы данных настроено для независимая обработка (внутрипроцессная библиотека) т.е. безсерверный, автономный, без конфигурации и транзакционный . Он известен своей портативностью, надежностью и высокой производительностью даже в средах с низким объемом памяти. Кроме того, SQLite является популярным выбором в качестве встроенной базы данных для локального / клиентского хранилища в конечных программах или приложениях, в отличие от других СУБД, где настроен механизм БД клиент-сервер.



Особенности SQLite

SQLite предлагает множество различных функций, таких как:

  • Бессерверный: Наиболее Базы данных SQL реализованы как отдельный серверный процесс, но SQLite не имеет отдельного серверного процесса. Это бессерверный механизм базы данных. Он читает и записывает непосредственно в обычные файлы на диске.
  • Нулевая конфигурация: Этоне требует настройки для запуска. Это означает, что нет серверного процесса, который нужно запускать, останавливать или настраивать, как в системе клиент / сервер.
  • Ввод манифеста: SQLite использует манифестную типизацию, которая позволяет хранить любой объем данных любого типа в любом столбце независимо от объявленного типа данных столбца. Обратите внимание, что из этого правила есть определенные исключения.
  • Легкий: Как следует из названия, библиотека SQLite очень легкая. Дело в том, что хотя объем используемого пространства зависит от системы, в которой он установлен, он может занимать менее 600 КБ.
  • Портативный: В отличие от других СУБД,вся база данных SQLite хранится в одном файле.Этим файлом можно очень легко поделиться через съемный носитель или протокол передачи файлов.
  • Разнообразный выбор: Многие языки программирования предоставляют привязки для SQLite, включая , , C # , , , Рубин , и многое другое.
  • Свободный: SQLite является бесплатным и имеет открытый исходный код. Для работы с SQLite коммерческая лицензия не требуется.

Как указано выше SQLiteизвестен своей нулевой конфигурацией, что означает, что на самом деле не требуется сложной настройки или администрирования. В следующей части этого руководства по SQLite давайте посмотрим, как установить SQLite в вашей системе.

Учебное пособие по SQLite: установка SQLite в Windows

Следующие шаги:



Шаг 1: Перейти к официальный SQLite веб-сайт и нажмите на подходящую ссылку для загрузкипредварительно скомпилированные двоичные файлы.

Шаг 2: Загрузите zip-файл командной строки SQLite (здесь: sqlite-tools-win32-x86-3270200.zip) и разверните эти файлы в папке по вашему выбору.

Этот инструмент командной строки SQLite будет содержать следующие продукты SQLite

  • Ядро SQLite : Ядро SQLite содержит собственно ядро ​​базы данных и общедоступный API.
  • Инструмент командной строки SQLite3 : Приложение sqlite3 - это инструмент командной строки, созданный на основе ядра SQLite.
  • Расширение tcl : Эта библиотека, по сути, является копией ядра SQLite с прикрепленными привязками Tcl.
  • Инструмент анализатора SQLite : Инструмент анализатора SQLite используется для анализа файлов базы данных.

Шаг 3: После этого запустить командную строку SQLite так же просто, как щелкнуть приложение sqlite3, что приведет к появлению командной строки.

Если вы хотите продолжить тестирование, просто введите .Помогите команда от sqlite> предлагать увидеть все доступные команды в sqlite3 как показано ниже.

Заметка: По умолчанию сеанс SQLite использует базу данных в памяти, поэтому все изменения исчезнут после завершения сеанса.

Достаточно просто, правда? Затем приступим к командам SQLite.

Учебник по SQLite: команды SQLite

В этом разделе руководства по SQLite представлены основные операторы SQL, которые можно использовать с SQLite.

Заметка: Команды SQLite заканчиваются точкой с запятой (). Он сообщает SQLite, что ваша команда завершена и должна быть запущена.Кроме того, вы можете распределить свою команду по нескольким строкам и использовать точку с запятой в последней строке.

Команды базы данных

Этот раздел состоит из тех команд, с помощью которых вы можете работать со своей базой данных. Команды:

  • SQLite Создать базу данных

SQLite не использует оператор CREATE DATABASE, как в других системах управления реляционными базами данных, таких как MySQL , SQL Server и т. Д. Чтобы создать новую базу данных в SQLite, просто введите sqlite3, а затем имя файла, который вы хотите использовать для базы данных. Тследующий код создает файл базы данных под названием StudentDetails.db:

пример

sqlite3 StudentDetails.db sqlite> .databases main: D: sqliteStudentDetails.db
  • База данных подключения SQLite

Когда у вас несколько баз данных, вы можете использовать только одну за раз. В SQLite оператор ATTACH DATABASE используется для присоединения конкретной базы данных для текущего соединения. АПосле этой команды все операторы SQLite будут выполняться в присоединенной базе данных.

пример

sqlite> ПРИКЛЮЧИТЬ БАЗУ ДАННЫХ 'DepartmentDetails.db' AS 'Department' sqlite> .databases main: D: sqliteStudentDetails.db Department: D: sqliteDepartmentDetails.db
  • База данных отсоединения SQLite

В SQLite оператор DETACH DATABASE используется для отсоединения базы данных с псевдонимом от соединения с базой данных, которое ранее было подключено с помощью оператора ATTACH. Если один и тот же файл базы данных был прикреплен с несколькими псевдонимами, то эта команда отключит только заданное имя, а остальная часть вложения будет продолжать существовать.Базы данных в оперативной или временной базе данных будут полностью уничтожены, а содержимое будет потеряно.

пример

sqlite> .databases main: D: sqliteStudentDetails.db Департамент: D: sqliteDepartmentDetails.db Учащийся: D: sqliteStudentDetails.db DeptInformation: D: sqliteDepartmentDetails.db sqlite> DETACH DATABASE 'Department' sqlite> .databaselabs main: Databases Студент: D: sqliteStudentDetails.db DeptInformation: D: sqliteDepartmentDetails.db

Табличные команды

Здесь мы узнаем, как работать с таблицами при использовании SQLite.

  • SQL Create Table

В SQLite оператор CREATE TABLE используется для создания новой таблицы. При создании таблицы вам необходимо дать ей имя и определить ее столбец и типы данных для каждого столбца.

Синтаксис:

СОЗДАТЬ ТАБЛИЦУ имя_таблицы (столбец1 тип_столбца [ограничения] столбец2 тип_столбца [ограничения] [.....])

пример

СОЗДАТЬ ТАБЛИЦУ StudentInfo (ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR (50), DEPARTMENTID INTEGER NOT NULL, ТЕКСТ ТЕЛЕФОНА ПО УМОЛЧАНИЮ «НЕИЗВЕСТНО», ИНОСТРАННЫЙ КЛЮЧ (DEPARTMENTID) REFERENCES Department) (DeptMENTID)

Вы можете проверить, была ли создана таблица или нет, используя .tables как показано ниже. Обратите внимание, что я уже создал таблицу с именем DepartmentInfo где DeptID - это первичный ключ.Таблица Departments имеет ограничение внешнего ключа для таблицы Student.

sqlite> .tables StudentInfo Контакты Emp_Master
  • Выпадающая таблица SQLite

В SQLite оператор DROP TABLE позволяет удалить или удалить таблицу из базы данных SQLite. После удаления таблицы все содержащиеся в ней данные навсегда удаляются из базы данных. Все связанные индексы и триггеры также удаляются. Если для этой таблицы включено какое-либо ограничение внешнего ключа, то это будет эквивалентно удалению для каждой строки в таблице, и все триггеры, связанные с таблицей, также будут удалены.

Синтаксис

DROP TABLE [IF EXISTS] имя_таблицы

пример

DROP TABLE Ошибка отдела: такой таблицы нет: Отдел DROP TABLE Компания sqlite> .tables StudentInfo

Заметка: IF EXISTS - необязательный пункт. Если указано, оператор DROP TABLE не вызовет ошибку, если одна из таблиц не существует.

Также есть Оператор SQLite Alter Table , что мы поймем в следующих нескольких разделах этой статьи. Теперь, когда мы создали таблицу, давайте посмотрим, как вставлять, удалять и изменять данные.

Учебник по SQLite: операции CRUD

  • SQLite вставить запрос

После создания таблицы можно использовать команду SQLite Insert Into для создания новых строк в указанной таблице. Есть две значимые формы инструкции вставки SQLite. Первая форма использует предложение VALUES, чтобы указать список значений для вставки.

Синтаксис

INSERT INTO TABLE_NAME [(column1, column2, column3, ... columnN)] VALUES (value1, value2, value3, ... valueN)

пример

ВСТАВИТЬ В StudentInfo (ID, ИМЯ, ВОЗРАСТ, АДРЕС, DEPARTMENTID, PHONE) ЗНАЧЕНИЯ (1, «Декан», 20, «Калифорния», 2, «934 *******»)

Вывод

ВЫБРАТЬ * из StudentInfo ID ИМЯ ВОЗРАСТ АДРЕС ОТДЕЛЕНИЕ ТЕЛЕФОН ---------- ---------- ---------- ---------- ---------- ---------- 1 Дин 20 Калифорния 2934 *******

Здесь создается одна новая строка, и каждое значение записывается в соответствующий столбец. Обратите внимание, что оба списка должны иметь такой же Количество предметов. Здесь список столбцов не является обязательным. Мы также можем вставить данные в таблицу без указания списка столбцов .

пример

контроллер представления модели в Java
ВСТАВИТЬ ЗНАЧЕНИЯ StudentInfo (2, 'SAM', 22, 'Texas', 2, '976 *******')

Вывод

ВЫБРАТЬ * из StudentInfo ID ИМЯ ВОЗРАСТ АДРЕС ОТДЕЛЕНИЕ ТЕЛЕФОН ---------- ---------- ---------- ---------- ---------- ---------- 1 Дин 20 Калифорния 2 934 ******* 2 СЭМ 22 Техас 2 976 *******

SQLite также предлагает функцию вставить несколько строк в одном операторе INSERT. Синтаксис показан ниже.

пример

ВСТАВИТЬ ЗНАЧЕНИЯ StudentInfo (3, 'John', 23, 'Norway', 1, '923 *******'), (4, 'Mitch', 22, 'Houston', 3, '934 ** ***** ')

Вывод

Выберите * из StudentInfo 1 | Dean | 20 | California | 2 | 934 ******* 2 | SAM | 22 | Texas | 2 | 976 ******* 3 | John | 23 | Норвегия | 1 | 923 ******* 4 | Митч | 22 | Хьюстон | 3 | 934 *******

Как видите, формат вывода не совсем похож на предыдущий. Итак, как изменить формат вывода в SQLite? Давайте отформатируем вывод так, чтобы наши результаты было немного легче читать.

  • Формирование

Вы можете использовать .mode, чтобы изменить режим вывода. В приведенном выше примере используется .Режим list, который отображает результаты в виде списка. Также вы можете использовать .headers оператор, чтобы указать, следует ли отображать заголовки столбцов. После внесения изменений вы можете просмотреть настройки, используя .шоу команда.

пример

sqlite> .mode 'column' sqlite> .headers на sqlite> .show echo: off eqp: off объяснение: авто заголовки: on mode: column nullvalue: '' output: stdout colseparator: '|' rowseparator: 'n' stats: off width: filename: StudentDetails.db

Вывод

ВЫБРАТЬ * ИЗ StudentInfo ID ИМЯ ВОЗРАСТ АДРЕС ТЕЛЕФОН ОТДЕЛА ---------- ---------- ---------- ---------- ---------- ---------- 1 Дин 20 Калифорния 2 934 ******* 2 СЭМ 22 Техас 2 976 ******* 3 Иоанна 23 Норвегия 1 923 ******* 4 Митч 22 Хьюстон 3934 *******
  • SQLite Select Query

В SQLite используется оператор Selectдля извлечения данных из таблицы, которая возвращает данные в виде таблицы результатов. Эти таблицы результатов также называются результатами наборы. Используя оператор выбора SQLite, мы можем выполнять простые вычисления или несколько выражений в зависимости от наших требований.Мы уже использовали инструкцию SELECT ранее, когда вставляли данные.

Синтаксис

ВЫБРАТЬ [ВСЕ | DISTINCT] результат [FROM table-list] [WHERE expr]
  • ОТЛИЧИТЕЛЬНЫЙ - Когда мы используем отдельное ключевое слово в операторе выбора, оно возвращает только отдельные строки данных.
  • ВСЕ - Если мы используем ключевое слово ALL в операторе выбора, оно возвращает все строки данных, даже если они дублируются.
  • ИЗ таблицы-списка - Это список таблиц, из которых вы хотите получить данные.
  • ГДЕ выражение - Выражение WHERE используется для определения наших пользовательских условий для получения необходимых данных из таблиц.

Пример1

ВЫБЕРИТЕ ID, ИМЯ ОТ StudentInfo ГДЕ ВОЗРАСТ<21

Вывод

ID ИМЯ ---------- ---------- 1 Декан

Пример2

Выберите ИМЯ ОТ StudentInfo, ГДЕ DEPARTMENTID = (ВЫБЕРИТЕ DeptID из DepartmentInfo, ГДЕ DeptName = 'Psychology')

Вывод

// выбирает людей из отдела с идентификатором 2 ИМЯ ---------- Dean SAM
  • Запрос на обновление SQLite

В SQLite оператор UPDATE можно использовать для изменения существующих записей в таблице.Предложение WHERE SQLite можно использовать для того, чтобы точно указать, какие строки должны быть обновлены. Вы можете легко обновить все строки, некоторые строки или ни одну, в зависимости от условий фильтрации, применяемых предложением WHERE.

Синтаксис

ОБНОВИТЬ имя_таблицы SET column1 = value1, column2 = value2 ...., columnN = valueN WHERE [условие]

пример

ОБНОВЛЕНИЕ StudentInfo SET DEPARTMENTID = 4 WHERE ID = '2'

Вывод

ВЫБРАТЬ * ИЗ StudentInfo ID ИМЯ ВОЗРАСТ АДРЕС ОТДЕЛЕНИЕ ТЕЛЕФОН ---------- ---------- ---------- ---------- ------------ ---------- 1 Дин 20 Калифорния 2 934 ******* 2 СЭМ 22 Техас 4 976 ******* 3 Джон 23 Норвегия 1 923 ******* 4 Митч 22 Хьюстон 3934 *******
  • Запрос на удаление SQLite

В SQLite оператор DELETE можно использовать для удаления записи из таблицы. Вы можете легко удалить все строки, некоторые строки или ни одну, в зависимости от условий фильтрации, применяемых предложением WHERE.

пример

УДАЛИТЬ ИЗ DepartmentInfo, ГДЕ DeptName = 'Science'

Вывод

ВЫБРАТЬ * ОТ DepartmentInfo DeptID DeptName ---------- ----------- 1 Математика 2 Психология 3 Спорт 4 Музыка

Если вы попытаетесь удалить запись, на которую ссылается внешний ключ, вы получите сообщение об ошибке. Вам нужно будет сначала удалить записи внешнего ключа, прежде чем удалять запись первичного ключа. Попробуем удалить отдел науки.

пример

УДАЛИТЬ ИЗ DepartmentInfo WHERE DeptName = 'Music' Ошибка: ограничение FOREIGN KEY не выполнено

Итак, нам нужно удалить записи внешнего ключа, прежде чем мы удалим первичный ключ.

УДАЛИТЬ ИЗ StudentInfo ГДЕ DEPARTMENTID = 4 sqlite> УДАЛИТЬ ИЗ DepartmentInfo ГДЕ DeptName = 'Music' sqlite> ВЫБРАТЬ * ИЗ DepartmentInfo DeptID DeptName ---------- ----------- 1 Математика 2 Психология 3 Спорт ВЫБРАТЬ * ИЗ StudentInfo ID ИМЯ ВОЗРАСТ АДРЕС ТЕЛЕФОН ОТДЕЛА ---------- ---------- ---------- ------- --- ------------ ---------- 1 Дин 20 Калифорния 2 934 ******* 3 Иоанна 23 Норвегия 1 923 ****** * 4 Митч 22 Хьюстон 3934 *******

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

Положения / условия SQLite

Прежде чем приступить к работе с предложениями, рассмотрим полный синтаксис оператора SELECT в SQLite.

Синтаксис

ВЫБРАТЬ [ВСЕ | DISTINCT] результат [FROM table-list] [WHERE expr] [GROUP BY expr-list] [HAVING expr] [составная операция выбор] * [ORDER BY sort-expr-list] [LIMIT integer [(OFFSET |,) integer ]]

Примечание. Я обновил таблицы StudentInfo и DepartmentInfo, как показано ниже.

// Идентификатор таблицы учащегося ИМЯ ВОЗРАСТ АДРЕС ИД ОТДЕЛА ТЕЛЕФОН ---------- ---------- ---------- ---------- ------------ ---------- 1 Дин 20 Калифорния 2934 ******* 3 Иоанна 23 Норвегия 1 923 ******* 4 Митч 22 Хьюстон 3 934 ******* 2 SAM 22 Техас 4 976 ******* 5 Джонни 23 Норвегия 2945 ******* 6 Робин 23 Норвегия 2 НЕИЗВЕСТНО // Информация об отделе DeptID DeptName - --------- ----------- 1 Математика 2 Психология 3 Спорт 4 Музыка 5 Наука
  • SQLite ГДЕ

В SQLite предложение WHERE используется для наложения ограничений на оператор SELECT путем определения одного или нескольких условий для получения необходимых данных из таблиц в базе данных.Если указанное условие выполнено или истинно, оно возвращает конкретное значение из таблицы. Как вы видели ранее, предложение WHERE используется не только в операторе SELECT, но также в операторе UPDATE, DELETE и т. Д.

пример

ВЫБЕРИТЕ ИМЯ ИЗ StudentInfo, ГДЕ ВОЗРАСТ = 23 ИМЯ ---------- Джон Джонни Робин

В SQLite есть ряд операторов отношения, которые можно использовать с предложением WHERE.

  • SQLite ГРУППА ПО

В SQLite предложение GROUP BY используется для агрегирования данных в одну строку, в которой повторяется значение одного или нескольких указанных столбцов. Это предложение используется с предложением WHERE в операторе SELECT и предшествует предложению ORDER BY.

Синтаксис

ВЫБРАТЬ результат ИЗ [список-таблиц] ГРУППА ПО [список-выражений]
ВЫБЕРИТЕ ИМЯ, АДРЕС ИЗ StudentInfo ГРУППА ПО ИМЕНИ ИМЯ АДРЕС ---------- ---------- Декан Калифорния Джон Норвегия Джони Норвегия Митч Хьюстон Робин Норвегия SAM Техас

Обратите внимание, что процесс группировки состоит из двух этапов. Во-первых, выражение GROUP BY используется для организации строк таблицы в разные группы. После определения групп оператор SELECT определяет, как эти группы объединяются в одну строку.

  • SQLite ЗАКАЗАТЬ

Как правило, таблицы SQLite хранят данные в неопределенном порядке, и они будут возвращать записи в том же неуказанном порядке при выборке данных с помощью оператора выбора SQLite. В таких случаях вы можете использовать предложение ORDER BY для сортировки записей столбцов либо в порядке возрастания, либо в порядке убывания. В приведенном ниже примере я сгруппировал и упорядочил9 в порядке убывания) данные на основе адреса.

Синтаксис

ВЫБРАТЬ выражения ИЗ списка-таблиц [ГДЕ условия] ЗАКАЗАТЬ по столбцу1, столбцу2, ... [ASC | DESC]

пример

ВЫБРАТЬ АДРЕС, СЧЕТЧИК (АДРЕС) ИЗ ГРУППЫ StudentInfo ПО АДРЕСУ ПОРЯДОК ПО АДРЕСУ УДАЛИТЬ АДРЕС СЧЕТЧИК (АДРЕС) ---------- -------------- Техас 1 Норвегия 3 Хьюстон 1 Калифорния 1
  • SQLite ИМЕЕТ

В SQLite ИМЕЕТ пункт идентичен ГДЕ пункт. Предложение HAVING - это дополнительное условие, применяемое после того, как происходит агрегирование вместе с group by в операторе select. Обычно в SQLite ГДЕ предложение используется для применения условия к отдельным элементам в таблице ито ИМЕЕТ Предложение используется для добавления условий фильтрации на основе групп, созданных предложением Group By.

пример

ВЫБРАТЬ АДРЕС, СЧЕТЧИК (АДРЕС) ИЗ ГРУППЫ StudentInfo ПО АДРЕСУ С СЧЕТЧИКОМ (*)> 1 СЧЕТЧИК АДРЕСОВ (АДРЕС) ---------- -------------- Норвегия 3
  • Ограничение SQLite

В SQLite предложение LIMIT используется для установки ограничения на количество записей, возвращаемых оператором select. Давайте рассмотрим пример, чтобы понять концепцию.

Синтаксис

ВЫБРАТЬ выражения ИЗ списка таблиц [ГДЕ условия] LIMIT number_rows OFFSET offset_value

пример

ВЫБЕРИТЕ ИМЯ, АДРЕС ИЗ StudentInfo LIMIT 4 OFFSET 2 ИМЯ АДРЕС ---------- ---------- Митч Хьюстон СЭМ Техас Джонни Норвегия Робин Норвегия

СМЕЩЕНИЕне является обязательным и определяет, сколько строк пропустить в начале набора результатов на основе offset_value .

  • SQLite И И ИЛИ

В SQLite операторы AND и OR используются для выполнения нескольких условий для операторов select, insert, update и delete в соответствии с нашими требованиями. SQLite оператор AND вернет строки или записи, которые удовлетворяют условиям, определенным с помощью оператора AND.

Пример1

ВЫБЕРИТЕ ИМЯ ИЗ StudentInfo, ГДЕ ВОЗРАСТ = 22 И АДРЕС = 'Texas' ИМЯ ---------- SAM

Условие ИЛИ используется для определения нескольких условий в операторах SQLite, и оно будет возвращать строки или записи из оператора, если выполняется какое-либо из условий.

Пример2

ВЫБЕРИТЕ ИМЯ ИЗ StudentInfo ГДЕ (ВОЗРАСТ = 22 И АДРЕС = 'Норвегия') ИЛИ АДРЕС = 'Норвегия' ИМЯ ---------- John Johny Robin
  • Оператор SQLite GLOB

В SQLite оператор GLOB используется для проверки того, соответствует ли данное строковое значение определенному шаблону или нет. В случае, если строковое значение совпадает со значением шаблона, оно вернет правда и он похож на оператор LIKE. Кроме того, GLOB чувствительный к регистру.

Синтаксис

SELECT * FROM table_name WHERE column_name GLOB 'search-expression'

пример

ВЫБЕРИТЕ * ИЗ StudentInfo ГДЕ ИМЯ ГЛОБ 'Joh *' ID ИМЯ ВОЗРАСТ АДРЕС ИД ОТДЕЛА ТЕЛЕФОН ---------- ---------- ---------- --- ------- ------------ ---------- 3 Иоанна 23 Норвегия 1 923 ******* 5 Иоанна 23 Норвегия 2945 ** *****
  • SQLite Distinct

В SQLite ключевое слово DISTINCT просканирует набор результатов оператора SELECT и удалит все повторяющиеся строки. Кроме того, значения NULL считаются дубликатами, поэтому, если мы используем предложение DISTINCT со столбцом, имеющим значения NULL, тогда будет сохранена только одна строка со значением NULL. Когда вы применяете DISTINCT для нескольких столбцов, тогда оператор возвращает каждую уникальную комбинацию кулнм1 и столбец2.

пример

ВЫБЕРИТЕ РАЗЛИЧНЫЙ ВОЗРАСТ ИЗ StudentInfo ВОЗРАСТ ---------- 20 23 22
  • Оператор SQLite IN

В SQLite оператор IN используется, чтобы определить, соответствует ли данное значение списку заданных значений или результату, возвращаемому подзапросом.

пример

ВЫБЕРИТЕ ИМЯ ИЗ StudentInfo ГДЕ АДРЕС В ('Техас', 'Хьюстон') ИМЯ ---------- Митч СЭМ
  • SQLite СОЕДИНЕНИЕ И СОЕДИНЕНИЕ ВСЕ

В SQLite оператор UNION используется для объединения наборов результатов 2 или более операторов SELECT, и он удаляет повторяющиеся строки между различными операторами SELECT. Помните, что операторы SELECT, которые мы использовали с оператором UNION, должны иметь одинаковое количество полей в наборах результатов с аналогичными типами данных.

Синтаксис

ВЫБРАТЬ выражение1, выражение2, ... выражение_n ИЗ таблиц [WHERE условия] UNION / UNION ALL SELECT выражение1, выражение2, ... выражение_n FROM таблицы [WHERE условия]

пример

ВЫБРАТЬ ИД ДЕПАРТАМЕНТА ИЗ StudentInfo UNION ВЫБРАТЬ ОТДЕЛ ИЗ DepartmentInfo ЗАКАЗАТЬ ПО DEPARTMENTID ASC DEPARTMENTID ------------ 1 2 3 4 5

Оператор UNION ALL используется для объединения наборов результатов из двух или более операторов SELECT и возвращает все строки, включая дубликаты.

пример

ВЫБРАТЬ ИД ДЕПАРТАМЕНТА ИЗ StudentInfo UNION ВСЕ ВЫБРАТЬ ОТДЕЛ ИЗ DepartmentInfo ЗАКАЗАТЬ ПО DEPARTMENTID ASC DEPARTMENTID ------------ 1 1 2 2 2 2 3 3 4 4 5

Здесь мы рассмотрели самые основные команды, которые вам, возможно, придется использовать при работе с SQLite. Продолжая изучение этого руководства по SQLite, давайте рассмотрим оператор соединения в SQLite.

Присоединяется в SQLite

В SQLite объединенияиспользуется для объединения записей из двух или более таблиц в базе данных и получения записей в соответствии с нашими требованиями. DВ SQLite доступны разные типы JOINS:

  • Внутреннее соединение -INNER JOIN используется для объединения и возврата только совпадающих записей из кратных таблиц на основе условий, определенных в операторах SQLite.
  • Внешнее соединение -SQLite Outer Join выберет совпадающие строки из нескольких таблиц так же, как Внутреннее соединение и некоторые другие строки вне связи.Проще говоря, можно сказать, что SQLiteВНЕШНЕЕ СОЕДИНЕНИЕявляется добавлениемВНУТРЕННЕЕ СОЕДИНЕНИЕ . Как правило, у нас есть три типа внешних соединений в стандарте SQL: LEFT, RIGHT и FULL Outer Joins, но SQLite поддерживает только LEFT OUTER JOIN.
  • Крестовое соединение -Он используется для получения декартова произведения строкпутем сопоставления каждой строки первой таблицы с каждой строкой второй таблицы.
  • Самостоятельное присоединение - Этоиспользуется для объединения одной таблицы с самим собой. Чтобы использовать Self Join, нам нужно создать разные псевдонимы для одной и той же таблицы для выполнения операций в соответствии с нашими требованиями.

Эта концепция аналогична концепции других систем реляционных баз данных, таких как SQL. Итак, чтобы узнать больше, вы можете обратиться к этой статье о .

На этом мы рассмотрели основные команды SQLite. Расширенные концепции здесь не рассматриваются. Итак, ждите еще одну статью о расширенных концепциях SQLite. Даже со всеми хорошими функциями, которые может предложить SQLite, у него также есть определенные недостатки.

Учебник по SQLite: недостатки SQLite

Ниже перечислены недостатки использования SQLite:

  • Это плохо работает в архитектуре клиент / сервер.
  • Размер базы данных SQLite в большинстве случаев ограничен 2 ГБ.
  • SQLite не реализовал RIGHT OUTER JOIN и FULL OUTER JOIN. С SQLite мы можем реализовать только LEFT OUTER JOIN.
  • Представления в SQLite доступны только для чтения. Мы не можем использовать операторы DML (Insert, Update и Delete) с представлениями.
  • Мы не можем использовать операторы GRANT и REVOKE с SQLite.

На этом мы подошли к концу этого учебника по SQLite.

Если вы хотите узнать больше о MySQL и познакомьтесь с этой реляционной базой данных с открытым исходным кодом, а затем ознакомьтесь с нашими который включает в себя живое обучение под руководством инструктора и реальный проектный опыт. Этот тренинг поможет вам глубже понять MySQL и достичь мастерства в этой области.

Есть вопрос к нам? Пожалуйста, укажите это в комментариях к этому руководству по SQLite, и я вернусь к вам.