Здравствуйте, уважаемые посетители сайта ZametkiNaPolyah.ru. Продолжаем изучать базы данных и наше знакомство с библиотекой SQLite3. В данной публикации мы поговорим про расширения файлов баз данных SQLite3 и посмотрим, как создать базу данных в SQLite3.

Создание баз данных SQLite3. Расширение файлов баз данных в SQLite3

Создание баз данных SQLite3. Расширение файлов баз данных в SQLite3

Давайте теперь поговорим про то, как работает библиотека SQLite3. Хочется сразу отметить то, что базы данных в SQLite3 представляют собой обычные файлы, хранящиеся на вашем компьютере. Я уже упоминал, что база данных SQLite3 создается в той папке, из которой мы запустили шелл.

Создание базы данных SQLite3

Давайте разберемся с тем, какое расширение файлов баз данных у SQLite3. Заодно и научимся создавать базы данных SQLite3. Выполним небольшую работу по шагам:

Шаг первый: запускаем шелл sqlite3 в папке c:\SQLite\Example DB\Lesson 2\ (у вас это может быть любая другая папка).

Шаг второй: я утверждал, что SQLite3 создает файл с базой данных в той папке, откуда мы запускаем консоль. Проверив папку Lesson 2, мы увидим, что в ней ничего нет. Выходит, что база данных SQLite3 не созадлась.

Шаг третий: возможно, если мы создадим таблицу и наполним ее данными, то появится и база данных? Давайте это проверим.

[php]
— Запрос на создание таблицы с именем books

CREATE TABLE books (
id_books INTEGER PRIMARY KEY AUTOINCREMENT,
auth_name TEXT NOT NULL,
title TEXT NOT NULL,
count_page INTEGER NOT NULL,
price REAL NOT NULL
);

— Запрос на добавление данных в таблицу

INSERT INTO books (auth_name, title, count_page, price)
VALUES ('М.А. Булгаков', 'Собачье сердце', 120, 100.10);

INSERT INTO books (auth_name, title, count_page, price)
VALUES ('М.А. Булгаков', 'Мастер и Маргарита', 423, 310.10);

INSERT INTO books (auth_name, title, count_page, price)
VALUES ('Л.Н. Толстой', 'Война и мир', 820, 1320.60);

INSERT INTO books (auth_name, title, count_page, price)
VALUES ('М.А. Шолохов', 'Тихий дон', 1121, 675);
[/php]

Выше написаны пять запросов: один запрос на создание таблицы в текущей базе данных SQLite3 и четыре запроса на добавление данных в только что созданную таблицу. Вы можете скопировать листинг целиком в свой шелл и выполнить его. Не пугайтесь, если на данный момент что-то непонятно, в данный момент мы разбираемся с особенностями SQLite3.

Шаг четвертый: убеждаемся, что таблица создана. Для этого у SQLite3 есть команда .tables, которая показывает все таблицы в базе данных.

Шаг пятый: убеждаемся, что таблица наполнена при помощи оператора SELECT.

[php]
— Выбрать все значения из всех столбцов таблицы books
SELECT * FROM books;
[/php]

Оператор SELECT позволяет выбрать данные. В данном случае все данные из таблицы books.

Шаг шестой: проверяем папку Lesson 2 и видим, что она пуста, база данных SQLIte3 опять не создалась.

Шаг седьмой: проверим какие базы данных доступны нам для управления. Для этого есть команда .databases.

Команда .database показывает, какие базы данных доступны для управления SQLite3

Мы видим, что есть только база данных main, которой нет на вашем жестком диске/SSD.  Вся суть в том, что пока мы явно не выберем файл базы данных или не создадим его при запуске SQLite3, мы будем работать с виртуальной базой данных, находящейся в оперативной памяти. Когда мы закроем консоль всё, что мы создали удалится.

Расширение файлов баз данных SQLite3

Шаг восьмой: давайте создадим базу данных SQLite3. Для этого в командной строке набираем: sqlite3 database_name.ext. Таким образом мы создали базу данных в SQLite3. Проверим при помощи команды .databases.

Мы создали базу данных и видим ее месторасположение на жестком диске

Мы создали базу данных и видим ее месторасположение на жестком диске

Дам некоторые пояснение и рекомендации. Имя файла базы данных SQLite3 может быть любым, как и его расширение. Ограничения накладываются только файловой системой и ОС. Но, чтобы избежать мелких неприятностей и недопонимания, я рекомендую использовать для названия файла буквы латинского алфавита, цифры, тире и символ подчеркивания. А расширению давать понятные и прозрачные имена, например: db3, sqlite, sqlite3, sql3.

Шаг девятый: проверяем нашу рабочую папку и видим, что в ней появился файл с базой данных SQLite3, который мы создали при запуске шелла через командную строку.

Возможно, эти записи вам покажутся интересными


Выберете удобный для себя способ, чтобы оставить комментарий

This article has 12 comments

  1. Alvina Reply

    Нет,не получается создать БД. Делаю пошагово как у Вас и после .databases -нет ничего (((

    И капча код безопасности) — постоянно все ошибку выводит.

    • Кирилл Reply

      Откройте командную строку. Перейдите в ту папку, где у вас установлена SQLite3, в моем случае это cd c:\sqlite.

      Далее напишите sqlite3.exe new_database.db3. Таким образом вы запустите SQLite3 и сразу же создадите файл базы данных с именем new_database.db3. Вот только что сам это сделал:

      sqlite> .databases

      main: c:\sqlite\new_database.db3

      Про капчу ничего не понял 🙂

  2. Alvina Reply

    Приходится сидеть на этом сайте, т.к. черпаешь совсего инета. БД не получаетсясоздать, хотя делаю пошагово как у Вас.

    Комменты отправляются постоянно с глюками:1) постоянно неправильный код капчи ( хотя вижу хорошо)

  3. Alvina Reply

    Для этого в командной строке набираем: sqlite3 database_name.ext.А насамом деле, надо еще и путь набрать или откуда путь взялся? и все равно НЕ ПОЛУЧАЕТСЯ. В отчаянии. Надругих сайтах написано, что надо драйвер sqliteodbc и туда путь прописывать. Зло берет. не получается ни черта.

    • Кирилл Reply

      Ок, сделайте как на других сайтах, я не против.

  4. Alvina Reply

    не получается в шелл создать БД. Делаю пошагово за сайтом. На другом сайте пишут, что надо SQLite OCDB лрайвер установить и туда прописывать путь БД. Можете это прокомментировать?

    • Кирилл Reply

      Так вы может сперва определитесь, что вы хотите сделать? Через командую строку запустить SQLite и создать БД или вы хотите через графический менеджер запускаться? Эта публикация описывает, как создать БД SQLite3 из командой строки, до этого вы писали комментарий в публикации про DBeaver.

      В самой статье есть скрины, которые показывают, что все работает, я повторил сейчас те же самые команды, у меня всё работает. Что там на других сайтах я не знаю 🙂

  5. Alvina Reply

    пропадают комментарии

    • Кирилл Reply

      На модерацию они уходят.

  6. Alvina Reply

    Здравствуйте.Не получается в ком.строке. У меня установлена и sqlite3.exeи разные менеджеры.

    1. Я пробую просто с шелл, но у меня вот так почему-то установлен C:\SQLite3\sqlite-tools-win32-x86-3340000\sqlite3.exe --так я качала по Вашим урокам влияет ли это на то, что не создается БД и после Ваших ответов ( за ответы ПАСИБИЩЕ).

    2. Вот что еще прописано в окне шелла Сonneced to transient in memory database/ Наверное, здесь загвоздка ?

    P.S. Про капчу -это у Вас насайте, чтоб отправить коммент, то правильно вводишь символы, а она не принимает.И так мучаешься несколько минут...

    • Кирилл Reply

      Сделайте скрин папки, в которую sqlite установлен и скрин командной строки, пришлите мне на почту, почта в разделе «От автора» есть, сслыка в шапке сайте.

  7. sdsplus00 Reply

    установите SQLite Expert Professional

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Loading Disqus Comments ...