SQLite База данни: Как да създавате, отваряте, архивирате и пускате файлове

⚡ Умно обобщение

SQLite Базите данни съхраняват цял ​​набор от данни в един лек файл, който не изисква сървър, инсталация или конфигурация. Инструментът за команден ред sqlite3 създава, отваря, попълва, архивира и премахва тези файлове на базата данни директно от обикновена терминална сесия.

  • 🗄️ Няма команда CREATE DATABASE: SQLite няма оператор CREATE DATABASE; изпълнението на sqlite3 SchoolDB.db създава файла автоматично.
  • 📂 Конкретно местоположение: Командата .open създава или отваря база данни по произволен път, който посочите.
  • 🧱 Схема от файл: Piping .sql файл в sqlite3 изгражда нова база данни, която вече е попълнена с нейните таблици.
  • 💾 Архивиране: Командата .backup копира отворена база данни в нов файл за безопасно съхранение.ping.
  • 🗑️ Спадping база данни: SQLite няма команда DROP DATABASE; изтриването на файла с базата данни го премахва изцяло.
  • 🤖 AI помощ: GitHub Copilot и инструментите за преобразуване на текст в SQL генерират SQLite схеми и заявки от подкани на обикновен английски език.

SQLite База данни

SQLite Базите данни са много леки. За разлика от други системи за бази данни, не е необходима конфигурация или инсталация, за да започнете работа върху SQLite база данни. Всичко, от което се нуждаете, е SQLite библиотека, която е под 500 KB, така че можете да започнете да работите с SQLite бази данни и таблици директно.

SQLite СЪЗДАВАНЕ на база данни

За разлика от други системи за управление на бази данни, в нея няма команда CREATE DATABASE. SQLiteЕто как можете да създадете нова база данни:

  • Отворете Windows Инструментът за команден ред (cmd.exe) от менюто „Старт“ въведете „cmd“ и го отворете.
  • Прозорецът на cmd ще се отвори в папката на потребителя по подразбиране. На моята машина това е „C:\Users\MGA“:

SQLite команден ред, отворен в папката по подразбиране за потребители C:/Users/MGA

  • От урока за инсталиране и пакети вече трябва да сте създали SQLite папка в директорията „C“ и копирах sqlite3.exe в нея.
  • След това отидете до мястото, където се намира sqlite3.exe, като използвате следното SQLite команден ред:

Навигиране до папката sqlite3.exe в Windows командния ред

Следва основният синтаксис на командата sqlite3 за създаване на база данни:

sqlite3 SchoolDB.db

Това ще създаде нова база данни с име „SchoolDB.db“ в същата директория, където сте копирали вашия .exe файл.

Ако отидете в директорията „c:\sqlite“, ще видите, че файлът „SchoolDB.db“ е създаден, както е показано на следната екранна снимка:

Изпълнение на командата sqlite3 SchoolDB.db за създаване на базата данни

Файлът на базата данни SchoolDB.db, създаден в директорията c:/sqlite

Можете да потвърдите, че базата данни е създадена, като напишете следното SQLite команда:

.databases

Това ви дава списък със създадени бази данни и би трябвало да видите новата база данни „SchoolDB.db“, изброена там:

Командата .databases изброява новосъздадената база данни SchoolDB

SQLite СЪЗДАВАЙТЕ база данни в конкретно местоположение, като използвате Open

Ако искате да създадете файла на базата данни на определено място, а не в папката, където се намира sqlite3.exe, ето как да го отворите SQLite файл с база данни:

  • Отидете ръчно до папката, където се намира sqlite3.exe, „C:\sqlite“.
  • Double-щракнете върху sqlite3.exe, за да отворите SQLite командна линия.
  • Командата за отваряне на файл с база данни е:

Отваряне на SQLite файл на базата данни на определено място с командата .open

.open c:/users/mga/desktop/SchoolDB.db

Това създава базата данни „SchoolDB.db“ и съхранява файла на посоченото място. Същата команда отваря и съществуваща база данни, така че повторното ѝ изпълнение просто я отваря отново:

.open c:/users/mga/desktop/SchoolDB.db

SQLite проверява дали „SchoolDB.db“ съществува на това място. Ако съществува, SQLite отваря го; в противен случай се създава нова база данни с това име на файл.

SQLite създайте база данни и я попълнете с таблици от файл

Ако имате .SQL файл, който съдържа схемата на таблицата и искате да създадете нова база данни със същите тези таблици, следващият пример обяснява как да направите това.

Пример:

Тук създаваме примерната база данни, използвана през цялото време SQLite урок, наречен „SQLiteTutorialsDB“ и го попълнете с таблици, както следва:

  • Отворете текстов файл и поставете следното SQLite команди в него:
CREATE TABLE [Departments] ( 
	[DepartmentId] INTEGER  NOT NULL PRIMARY KEY, 
	[DepartmentName] NVARCHAR(50)  NOT NULL  
); 
CREATE TABLE [Students] (  
	[StudentId] INTEGER  PRIMARY KEY NOT NULL,
	[StudentName] NVARCHAR(50) NOT NULL, 
	[DepartmentId] INTEGER  NULL,   
	[DateOfBirth] DATE  NULL  
);     
CREATE TABLE [Subjects] (  
	[SubjectId] INTEGER  NOT NULL PRIMARY KEY,  
	[SubjectName] NVARCHAR(50)  NOT NULL  
); 
CREATE TABLE [Marks] (  
	[StudentId] INTEGER  NOT NULL,  
	[SubjectId] INTEGER  NOT NULL,  
	[Mark] INTEGER  NULL  
);

Горният код създава четири таблици, както следва:

  • Таблица „Отдели“ със следните колони:
    • „DepartmentId“, целочислен идентификатор на отдел, деклариран като ПЪРВИЧЕН КЛЮЧ.
    • „DepartmentName“ – низ за име на отдел, който не позволява нулеви стойности (NOT NULL).
  • Таблица „Студенти“ със следните колони:
    • „StudentId“, цяло число, декларирано като PRIMARY KEY.
    • „ИмеНаСтудента“ – името на студента, което не позволява null стойност.
    • „DepartmentId“ – цяло число, отнасящо се до идентификатора на отдела в таблицата „Отдели“.
    • „ДатаНаРаждане“, датата на раждане на студента.
  • Таблица „Теми“ със следните колони:
    • „SubjectId“, цяло число, декларирано като PRIMARY KEY.
    • „SubjectName“ – низова стойност, която не позволява нулеви стойности.
  • Таблица „Оценки“ със следните колони:
    • „StudentId“ – цяло число, указващо студентски идентификатор.
    • „SubjectId“, цяло число, указващо идентификатор на тема.
    • „Оценка“ – оценката, която ученикът получава по даден предмет, цяло число, което позволява нулеви стойности.
  • Запазете файла като „SQLiteTutorialsDB.sql“ на същото място като sqlite3.exe.
  • Отворете cmd.exe и отидете до директорията, където се намира sqlite3.exe.
  • Напишете следната команда:
sqlite3 SQLiteTutorialsDB.db < SQLiteTutorialsDB.sql

Нова база данни „SQLite„TutorialsDB“ се създава и файлът „SQLiteTutorialsDB.db“ се поставя в същата директория, както следва:

- SQLiteБаза данни TutorialsDB, създадена от .sql schema файла

Можете да потвърдите, че таблиците са създадени, като отворите базата данни, която току-що създадохме:

.open SQLiteTutorialsDB.db

След това напишете следната команда:

.tables

Това ви дава списъка с таблици в „SQLiteTutorialsDB“ и би трябвало да видите четирите таблици, които току-що създадохме:

Командата .tables изброява четирите таблици, създадени в SQLiteУроциDB

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

SQLite Архивиране и база данни

За да архивирате база данни, първо трябва да я отворите, както следва:

  • Отидете до папката „C:\sqlite“, след което щракнете двукратно върху sqlite3.exe, за да я отворите.
  • Отворете базата данни, като използвате следната заявка:
.open c:/sqlite/sample/SchoolDB.db

Тази команда отваря база данни, разположена в директорията „c:/sqlite/sample/“.

Ако е в същата директория като sqlite3.exe, тогава не е необходимо да посочвате местоположение, ето така:

.open SchoolDB.db

След това, за да архивирате базата данни, напишете следната команда. Това архивира цялата база данни в нов файл „SchoolDB.db“ в същата директория:

.backup SchoolDB.db

Ако не видите никакви грешки след изпълнението на тази команда, резервното копие е създадено успешно.

SQLite Пуснете база данни

За разлика от други системи за управление на бази данни, в нея няма команда DROP DATABASE. SQLiteАко искате да пуснете база данни в SQLite, всичко, което трябва да направите, е да изтриете файла с базата данни.

Забележки:

  • Не можете да създадете две бази данни на едно и също място с едно и също име; името на базата данни е уникално в рамките на една директория.
  • Имената на базите данни не са чувствителни към главни и малки букви.
  • Не са необходими привилегии за създаване на бази данни.

Въпроси и Отговори

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

SQLite Базите данни обикновено използват разширението .db, .sqlite или .db3 и трите са идентични. SQLite идентифицира файловете си чрез вътрешен заглавен файл, така че разширението е само етикет.

Да. SQLite е софтуер с обществено достояние, напълно безплатен за лична и търговска употреба без лиценз или авторски права. Неговият изходен код и инструментите от командния ред са на официалния SQLite уебсайта.

Отворете sqlite3 с име на база данни и изпълнете .restore с резервния файл. За .sql дъмп, изпълнете sqlite3 newdb.db < backup.sql, за да преиграете всеки оператор и да възстановите данните.

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

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

Да. Копилот на GitHub пише CREATE TABLE оператори и SQL заявки от кратък коментар или подкана на разбираем английски език и обяснява съществуващите схеми. Винаги преглеждайте генерирания SQL, преди да го изпълните.

Инструментите за преобразуване на текст в SQL и моделите с големи езици превръщат въпросите на обикновен английски в SQLite заявки чрез четене на вашата схема. Асистентите с изкуствен интелект генерират, оптимизират и обясняват заявки, въпреки че човешкият преглед на резултата остава от съществено значение.

Обобщете тази публикация с: