SQLite
 sql >> база данни >  >> RDS >> SQLite

Урок за SQLite:Всичко, което трябва да знаете

Ако сте работили със системи за релационни бази данни, вероятно сте чували за популярни системи за бази данни като MySQL, SQL Server или PostgreSQL. SQLite е друга изключително полезна RDBMS, която е много лесна за настройка и работа. Освен това той има много различни характеристики спрямо други релационни бази данни. Този урок за SQLite преподава основни понятия, които трябва да знаете с помощта на обширни практически практики.

Темите, обсъждани в тази статия са:

  • Какво е SQLite?
    • Характеристики на SQLite
  • Инсталиране на SQLite на Windows
  • Команди на SQLite
    • Команди на базата данни
    • Команди за таблица
    • CRUD операции
    • Клаузи/условия на SQLite
    • Присъединява се към SQLite
  • Недостатъци на SQLite

Урок за SQLite:Какво е SQLite?

Ето индустриалната стандартна дефиниция на SQLite:

SQLite е с отворен код, с нулева конфигурация, самостоятелна, самостоятелна машина за релационна база данни за транзакции, предназначена да бъде вградена в приложение.

Можете да помислите за SQLite като „запалка ” версия на друга сложна RDBMS (Oracle, SQL и др.), където нейната база данни е конфигурирана за независима обработка (библиотека в процеса) т.е. безсървър, самостоятелен, с нулева конфигурация и транзакционен . Той е известен със своята преносимост, надеждност и силна производителност дори в среди с ниска памет. Също така, SQLite е популярен избор като вградена база данни за локално/клиентско съхранение в крайни програми или приложения, за разлика от други RDBMS, където е конфигурирана DB машината клиент-сървър.

Характеристики на SQLite

SQLite предлага много различни функции като:

  • Без сървър: Повечето SQL бази данни са внедрени като отделен сървърен процес, но SQLite няма отделен сървърен процес. Това е машина за база данни без сървър. Той чете и записва директно в обикновени дискови файлове.
  • Нулева конфигурация: Не изисква конфигурация, за да работи. Това означава, че няма сървърен процес, който трябва да бъде стартиран, спрян или конфигуриран като в система клиент/сървър.
  • Въвеждане на манифест: SQLite използва въвеждане на манифест, което позволява съхранението на произволно количество от всеки тип данни във всяка колона, без независимо от декларирания тип данни на колоната. Имайте предвид, че има определени изключения от това правило.
  • Олекотени: Както подсказва името, библиотеката SQLite е много лека. Работата е там, че въпреки че използваното от него пространство варира в зависимост от системата, където е инсталирано, то може да заема по-малко от 600KiB пространство.
  • Преносим: За разлика от други СУБД, цялата база данни на SQLite се съхранява в един файл. Този файл може да бъде споделен чрез сменяеми носители или чрез протокол за прехвърляне на файлове много лесно.
  • Разнообразен избор: Много езици за програмиране предоставят връзки за SQLite, включително C, C++, C#, Java, JavaScript, Ruby, Python и много други.
  • Безплатно: 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, което ще накара командния ред да изскача.

Ако искате да тествате допълнително, просто въведете .help команда от 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> ATTACH DATABASE 'DepartmentDetails.db' AS 'Department';

sqlite> .databases
main: D:sqliteStudentDetails.db;
Department: D:sqliteDepartmentDetails.db
  • SQLite Detach Database

В SQLite операторът DETACH DATABASE се използва за отделяне на база данни с псевдоним от връзка с база данни, която преди това е била прикачена с помощта на оператора ATTACH. Ако един и същ файл на базата данни е бил прикачен с множество псевдоними, тогава тази команда ще прекъсне връзката само с даденото име, а останалата част от прикачения файл ще продължи да съществува. Базите данни в паметта или временната база данни ще бъдат унищожени напълно и съдържанието ще бъде загубено.

Пример

sqlite> .databases
main: D:sqliteStudentDetails.db;
Department: D:sqliteDepartmentDetails.db
Student: D:sqliteStudentDetails.db
DeptInformation: D:sqliteDepartmentDetails.db

sqlite> DETACH DATABASE 'Department';

sqlite> .databases
main: D:sqliteStudentDetails.db;
Student: D:sqliteStudentDetails.db
DeptInformation: D:sqliteDepartmentDetails.db

Команди за таблица

Тук ще научим как да работим с таблици, когато използваме SQLite.

  • SQL създаване на таблица

В SQLite операторът CREATE TABLE се използва за създаване на нова таблица. Докато създавате таблицата, трябва да наименувате таблицата и да дефинирате нейната колона и типове данни за всяка колона.

Синтаксис:

CREATE TABLE table_name(
         Column1 column_type [constraints]
         Column2 column_type [constraints]
         [.....]
          );

Пример


CREATE TABLE StudentInfo(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
DEPARTMENTID INTEGER NOT NULL,
PHONE TEXT DEFAULT 'UNKNOWN',
FOREIGN KEY(DEPARTMENTID) REFERENCES DepartmentInfo(DeptID)
); 

Можете да проверите дали таблицата е създадена или не, като използвате .tables команда, както е показано по-долу. Имайте предвид, че вече създадох таблица, наречена DepartmentInfo където DeptID е първичният ключ. Таблицата Departments има ограничение за външен ключ към таблицата Students.

 

sqlite> .tables
StudentInfo Contacts Emp_Master

  • SQLite Drop Table

В SQLite операторът DROP TABLE ви позволява да премахнете или изтриете таблица от базата данни на SQLite. След като таблицата бъде премахната, всички данни, които съдържа, се премахват за постоянно от базата данни. Всички свързани индекси и тригери също се премахват. Ако има някакво ограничение на външния ключ, активирано за тази таблица, тогава това ще премахне еквивалентно за всеки ред в таблицата и всички задействания, свързани с таблицата, също ще бъдат премахнати.

Синтаксис

DROP TABLE [ IF EXISTS ] table_name;

Пример

 DROP TABLE Department;
Error: no such table: Department

DROP TABLE Company;
sqlite> .tables
StudentInfo

Забележка: IF EXISTS, е незадължителна клауза. Ако е посочено, операторът DROP TABLE няма да предизвика грешка, ако една от таблиците не съществува.

Освен това има изявление за промяна на таблицата на SQLite , което ще разберем в следващите няколко раздела на тази статия. След като създадохме таблица, нека да проверим как да вмъкваме, изтриваме и променяме данните.

Урок за SQLite:CRUD операции

  • Заявка за вмъкване на SQLite

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

Синтаксис


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

Пример

INSERT INTO StudentInfo ( ID, NAME, AGE, ADDRESS, DEPARTMENTID, PHONE)
VALUES (1,'Dean', 20, 'California', 2, '934*******');
>

Изход

SELECT *from StudentInfo;
ID          NAME        AGE         ADDRESS     DEPARTMENTID  PHONE
----------  ----------  ----------  ----------  ----------  ----------
1           Dean        20          California  2  934*******

Тук се създава един нов ред и всяка стойност се записва в съответната колона. Обърнете внимание, че и двата списъка трябва да имат едни и същи брой артикули. Ето и списъка с колоните е по избор. Можем също да вмъкнем данни в таблицата без да посочваме списъка с колони .

Пример

INSERT INTO StudentInfo 
VALUES ( 2, 'SAM', 22, 'Texas', 2, '976*******');

Изход

 SELECT *from StudentInfo;
ID          NAME        AGE         ADDRESS     DEPARTMENTID  PHONE
----------  ----------  ----------  ----------  ----------  ----------
1           Dean        20          California  2  934*******
2           SAM         22          Texas        2  976*******

SQLite също така предлага функция завмъкване на няколко реда в един израз INSERT. Синтаксисът е както е показано по-долу.

Пример

INSERT INTO StudentInfo
VALUES (3,'John',23,'Norway',1,'923*******'),
(4,'Mitch',22,'Houston',3,'934*******');

Изход

 Select *from StudentInfo;
1|Dean|20|California|2|934*******
2|SAM|22|Texas|2|976*******
3|John|23|Norway|1|923*******
4|Mitch|22|Houston|3|934*******

Както можете да видите, форматът на изхода не е съвсем подобен на предишния. И така, как да промените формата на изхода в SQLite? Нека форматираме изхода, така че нашите резултати да са малко по-лесни за четене.

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

Можете да използвате .mode, за да промените изходния режим. Горният пример използва .mode списък, който показва резултатите като списък. Освен това можете да използвате .headers оператор, за да укажете дали да се показват заглавки на колони или не. След като направите промените, можете да видите настройката, като използвате .show команда.

Пример

 sqlite>.mode 'column'
sqlite> .headers on
sqlite> .show
echo: off
eqp: off
explain: auto
headers: on
mode: column
nullvalue: ""
output: stdout
colseparator: "|"
rowseparator: "n"
stats: off
width:
filename: StudentDetails.db

Изход

 SELECT *FROM StudentInfo;

ID NAME AGE ADDRESS DEPARTMENT PHONE
---------- ---------- ---------- ---------- ---------- ----------
1 Dean 20 California 2 934*******
2 SAM 22 Texas 2 976*******
3 John 23 Norway 1 923*******
4 Mitch 22 Houston 3 934*******
  • Заявка за избор на SQLite

В SQLite операторът Select се използва за извличане на данни от таблица, която връща данни под формата на таблица с резултати. Тези таблици с резултати се наричат ​​още набори. С помощта на SQLite select оператор можем да извършим прости изчисления или множество изрази въз основа на нашите изисквания. Вече използвахме израз SELECT преди, когато вмъкнахме данни.

Синтаксис

SELECT [ALL | DISTINCT] result [FROM table-list]
[WHERE expr]
  • ОТЛИЧНО – Когато използваме различна ключова дума в оператор select, той връща само отделни редове с данни.
  • ВСИЧКИ – Ако използваме ВСИЧКИ ключова дума в оператор select, той връща всички редове с данни, дори ако са дублирани.
  • ОТ списък с таблица – Това е списък с таблици, от които искате да получите данни.
  • Израз WHERE – Изразът WHERE се използва за дефиниране на нашите персонализирани условия за получаване на необходимите данни от таблици.

Пример1

 SELECT ID, NAME FROM StudentInfo WHERE AGE < 21;

Изход

ID NAME
---------- ----------
1 Dean

Пример2

Select NAME FROM StudentInfo WHERE DEPARTMENTID
= (SELECT DeptID FROM DepartmentInfo WHERE DeptName = 'Psychology');

Изход

//fetches people from department whose id is 2

NAME
----------
Dean
SAM
  • Заявка за актуализиране на SQLite

В SQLite операторът UPDATE може да се използва за модифициране на съществуващите записи в таблица. Клаузата WHERE на SQLite може да се използва, за да се посочи точно кои редове трябва да бъдат актуализирани. Можете лесно да актуализирате всички редове, някои редове или нито един, в зависимост от условията за филтриране, приложени от клаузата WHERE.

Синтаксис

UPDATE table_name  
SET column1 = value1, column2 = value2...., columnN = valueN  
WHERE [condition];

Пример

UPDATE StudentInfo SET DEPARTMENTID = 4 WHERE ID = '2';

Изход

 SELECT *FROM StudentInfo;
ID          NAME        AGE         ADDRESS     DEPARTMENTID  PHONE
----------  ----------  ----------  ----------  ------------  ----------
1           Dean        20          California  2             934*******
2           SAM         22          Texas       4             976*******
3           John        23          Norway      1             923*******
4           Mitch       22          Houston     3             934*******
  • Заявка за изтриване на SQLite

В SQLite изразът DELETE може да се използва за изтриване на записа от таблицата. Можете лесно да изтриете всички редове, някои редове или нито един, в зависимост от условията за филтриране, приложени от клаузата WHERE.

Пример

 DELETE FROM DepartmentInfo WHERE DeptName = 'Science';

Изход

 SELECT *FROM DepartmentInfo;
DeptID DeptName
---------- -----------
1 Mathematics
2 Psychology
3 Sports
4 Music

Ако се опитате да изтриете запис, който е препратен от външен ключ, ще получите грешка. Първо ще трябва да изтриете записите на външния ключ, преди да изтриете записа на първичния ключ. Нека се опитаме да изтрием науката на отделите.

Пример

DELETE FROM DepartmentInfo WHERE DeptName = 'Music';
Error: FOREIGN KEY constraint failed

Така че трябва да изтрием записите на външния ключ, преди да изтрием първичния ключ.

DELETE FROM StudentInfo WHERE DEPARTMENTID = 4;

sqlite> DELETE FROM DepartmentInfo WHERE DeptName = 'Music';

sqlite> SELECT *FROM DepartmentInfo;
DeptID      DeptName
----------  -----------
1           Mathematics
2           Psychology
3           Sports

 SELECT *FROM StudentInfo;
ID          NAME        AGE         ADDRESS     DEPARTMENTID  PHONE
----------  ----------  ----------  ----------  ------------  ----------
1           Dean        20          California  2             934*******
3           John        23          Norway      1             923*******
4           Mitch       22          Houston     3             934*******

Сега знаете как да редактирате записите в таблицата на базата данни на SQLite. Продължавайки по-нататък в този блог с урок за SQLite, нека обсъдим различни клаузи и условия, които най-често срещате в SQLite.

Клаузи/условия на SQLite

Преди да започнете с клаузите, ето пълния синтаксис на израза SELECT в SQLite.

Синтаксис

SELECT [ALL | DISTINCT] result [FROM table-list]
[WHERE expr]
[GROUP BY expr-list]
[HAVING expr]
[compound-op select]*
[ORDER BY sort-expr-list]
[LIMIT integer [(OFFSET|,) integer]]

Забележка:Актуализирах таблиците StudentInfo и DepartmentInfo, както е показано по-долу.

//Student 
Table ID          NAME        AGE         ADDRESS     DEPARTMENTID  PHONE
----------  ----------  ----------  ----------  ------------  ----------
1           Dean        20          California  2             934*******
3           John        23          Norway      1             923*******
4           Mitch       22          Houston     3             934*******
2           SAM         22          Texas       4             976*******
5           Johny       23          Norway      2             945*******
6           Robin       23          Norway      2             UNKNOWN

//Department Details
DeptID      DeptName
----------  -----------
1           Mathematics
2           Psychology
3           Sports
4           Music
5           Science
  • SQLite КЪДЕ

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

Пример

SELECT NAME FROM StudentInfo WHERE AGE = 23;NAME
----------
John
Johny
Robin

В SQLite има редица релационни оператори, които могат да се използват с клаузата WHERE.

  • SQLite GROUP BY

В SQLite клаузата GROUP BY се използва за агрегиране на данни в един ред, където стойността на една или повече посочени колони се повтаря. Тази клауза се използва с клауза WHERE в израза SELECT и предхожда клаузата ORDER BY.

Синтаксис

SELECT result
FROM [table-list]
GROUP BY [expr-list]
SELECT NAME, ADDRESS FROM StudentInfo GROUP BY NAME;

NAME ADDRESS
---------- ----------
Dean California
John Norway
Johny Norway
Mitch Houston
Robin Norway
SAM Texas

Забележете, че процесът на групиране има две стъпки. Първо, изразът GROUP BY се използва за подреждане на редове в таблицата в различни групи. След като групите са дефинирани, операторът SELECT дефинира как тези групи се изравняват в един ред.

  • SQLite ПОРЪЧАЙ ПО

По принцип таблиците на SQLite съхраняват данни в неопределен ред и те ще връщат записи в същия неопределен ред, докато извличат данни с помощта на SQLite select оператор. В такива случаи можете да използвате клаузата ORDER BY, която се използва за сортиране на записи в колони във възходящ или низходящ ред. В примера по-долу съм групирал и подредил9 в низходящ ред) данните въз основа на адреса.

Синтаксис

SELECT expressions
FROM tables-list
[WHERE conditions]
ORDER BY column1, column2,... [ ASC | DESC ];

Пример

SELECT ADDRESS, COUNT(ADDRESS) FROM StudentInfo GROUP BY ADDRESS ORDER BY ADDRESS DESC;
ADDRESS COUNT(ADDRESS)
---------- --------------
Texas 1
Norway 3
Houston 1
California 1
  • SQLite HAVING BY

В SQLite, HAVING клаузата е идентична на WHERE клауза. Клаузата HAVING е допълнително условие, прилагано след като агрегирането се извършва заедно с групата от в оператор select. Обикновено в SQLite, WHERE Клаузата се използва за прилагане на условие към отделни елементи в таблица и HAVING клаузата се използва за добавяне на условия за филтриране въз основа на групите, създадени от клауза Group By.

Пример

SELECT ADDRESS, COUNT(ADDRESS) FROM StudentInfo 
GROUP BY ADDRESS 
HAVING COUNT(*)>1;

ADDRESS     COUNT(ADDRESS)
----------  --------------
Norway      3
  • Клауза за ограничения на SQLite

В SQLite клаузата LIMIT се използва за задаване на ограничение на записите, върнати от оператора select. Нека разгледаме пример, за да разберем концепцията.

Синтаксис

SELECT expressions
FROM tables-list
[WHERE conditions]
LIMIT number_rows OFFSET offset_value;

Пример

SELECT NAME, ADDRESS FROM StudentInfo LIMIT 4 OFFSET 2;
NAME        ADDRESS
----------  ----------
Mitch       Houston
SAM         Texas
Johny       Norway
Robin       Norway 

OFFSET е по избор и определя колко реда да се пропусне в началото на набора от резултати въз основа на offset_value .

  • SQLite И И ИЛИ

В SQLite операторите И &ИЛИ се използват за изпълнение на множество условия при оператори за избор, вмъкване, актуализиране и изтриване въз основа на нашите изисквания. SQLite AND операторът ще върне редове или записи, които отговарят на условията, дефинирани с помощта на оператор AND.

Пример1

SELECT NAME FROM StudentInfo WHERE AGE = 22 AND ADDRESS = 'Texas';
NAME
----------
SAM

Условието ИЛИ се използва за дефиниране на множество условия в SQLite изрази и ще върне редове или записи от оператор, ако някое от едно условие е изпълнено.

Пример2

SELECT NAME FROM StudentInfo WHERE (AGE = 22 AND ADDRESS = 'Norway') OR ADDRESS = 'Norway';
NAME
----------
John
Johny
Robin
  • SQLite GLOB оператор

В SQLite операторът GLOB се използва за проверка дали дадената стойност на низ съответства на конкретен модел или не. В случай, че стойността на низа съвпада със стойността на шаблона, тя ще върне true и е подобен на оператора LIKE. Освен това GLOB е чувствителен към малки и малки букви.

Синтаксис

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

Пример

SELECT *FROM StudentInfo WHERE NAME GLOB 'Joh*';
ID NAME AGE ADDRESS DEPARTMENTID PHONE
---------- ---------- ---------- ---------- ------------ ----------
3 John 23 Norway 1 923*******
5 Johny 23 Norway 2 945*******
  • SQLite Distinct

В SQLite ключовата дума DISTINCT ще сканира резултатния набор на оператора SELECT и елиминира всички дублиращи се редове. Също така, NULL стойностите се считат за дубликати, така че ако използваме клаузата DISTINCT с колона, която има стойности NULL, тогава тя ще запази само един ред с NULL стойност. Когато приложите DISTINCT за множество колони, операторът връща всяка уникална комбинация от coulnm1 иколона 2.

Пример

SELECT DISTINCT AGE FROM StudentInfo;
AGE
----------
20
23
22
  • SQLite IN оператор

В SQLite операторът IN се използва, за да се определи дали дадената стойност съвпада със списък с дадени стойности или резултатът, върнат от подзаявката.

Пример

SELECT NAME FROM StudentInfo WHERE ADDRESS IN ('Texas', 'Houston');
NAME
----------
Mitch
SAM
  • SQLite UNION &UNION ALL

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

Синтаксис

SELECT expression1, expression2,... expression_n
FROM tables
[WHERE conditions]

UNION / UNION ALL

SELECT expression1, expression2,... expression_n
FROM tables
[WHERE conditions];

Пример

 SELECT DEPARTMENTID FROM StudentInfo 
UNION
SELECT DeptId FROM DepartmentInfo ORDER BY DEPARTMENTID ASC;

DEPARTMENTID
------------
1
2
3
4
5

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

Пример

SELECT DEPARTMENTID FROM StudentInfo UNION ALL SELECT DeptId FROM DepartmentInfo ORDER BY DEPARTMENTID ASC;
DEPARTMENTID
------------
1
1
2
2
2
2
3
3
4
4
5

С това ние покрихме най-основните команди, които може да се наложи да използвате, когато работите със SQLite. Продължавайки напред с този урок за SQLite, нека разгледаме оператора за присъединяване в SQLite.

Присъединява се към SQLite

В SQLite Joins се използват за комбиниране на записи от две или повече таблици в база данни и получаване на записи въз основа на нашите изисквания. Различните типове JOINS, налични в SQLite, са:

  • Вътрешно присъединяване – INNER JOIN се използва за комбиниране и връщане само на съвпадащи записи от множествени таблици въз основа на условията, дефинирани в SQLite изрази.
  • Външно присъединяване – SQLite Outer Join ще избере съвпадащи редове от множество таблици, както Inner Join и някои други редове извън връзката. С прости думи можем да кажем, че SQLite OUTER JOIN е допълнение към INNER JOIN. Като цяло имаме три типа външни присъединявания в SQL стандарта, това са ЛЯВО, ДЯСНО и ПЪЛНО Външно присъединяване, но SQLite поддържа само ЛЯВО ВЪНШНО ПРИСЪЕДИНЕНИЕ.
  • Кръстосано присъединяване – Използва се за получаване на декартовото произведение на редовете чрез съпоставяне на всеки ред от първата таблица с всеки ред от втората таблица.
  • Самоприсъединяване – Използва се за свързване на една и съща маса със себе си. За да използваме Self Join, трябва да създадем различни псевдоними за една и съща таблица, за да изпълняваме операции въз основа на нашите изисквания.

Концепцията е подобна на тази на други системи за релационни бази данни като SQL. Така че, за да научите повече, можете да се обърнете към тази статия за SQL Joins.

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

Урок за SQLite:Недостатъци на SQLite

По-долу са изброени недостатъците на използването на SQLite:

  • Не работи добре в архитектура клиент/сървър.
  • Размерът на база данни на SQLite е ограничен до 2GB в повечето случаи.
  • SQLite не е внедрил RIGHT OUTER JOIN и FULL OUTER JOIN. Със SQLite можем да внедрим само LEFT OUTER JOIN.
  • Изгледите в SQLite са само за четене. Не можем да използваме DML изрази (вмъкване, актуализиране и изтриване) с изгледи.
  • Не можем да използваме изрази GRANT и REVOKE със SQLite.

С това стигаме до края на този урок за SQLite.

Ако искате да научите повече за MySQL и да се запознаете с тази релационна база данни с отворен код, разгледайте нашетоОбучение за сертифициране на MySQL DBA който идва с обучение на живо от инструктор и реален опит с проекти. Това обучение ще ви помогне да разберете MySQL в дълбочина и ще ви помогне да постигнете майсторство по темата.

Имате въпрос към нас? Моля, споменете го в секцията за коментари на този урок за SQLite и аз ще се свържа с вас.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Могат ли записи в базата данни, добавени от елементи, да бъдат изтрити с бутон?

  2. SQLite - Импортиране на данни от CSV файл

  3. Не може да се вмъкне запис в базата данни на SQLite от услугата за съобщения на Firebase, когато приложението е във фоново или затворено състояние

  4. Как правилно да затворите курсора в android

  5. Експортирайте цяла база данни на SQLite в SQL файл