Главная страница
Навигация по странице:

  • Установка Мы будем взаимодействовать с базой данных через интерфейс командной строки sqlite3

  • Мета Команды

  • Команда Описание

  • Стандартные команды Теперь давайте пройдёмся по списку стандартных команд

  • Язык описания данных DDL

  • Язык управления данными DML

  • Язык запросов DQL

  • Нумерация комментариев Имя Email Сайт

  • Заметка

  • ВЫБОРКА

  • SELECT

  • УДАЛЕНИЕ

  • ИЗМЕНЕНИ СТРУКТУРЫ

  • Стартуем с sqlite3 Основные команды


    Скачать 130.8 Kb.
    НазваниеСтартуем с sqlite3 Основные команды
    Дата03.05.2023
    Размер130.8 Kb.
    Формат файлаdocx
    Имя файлаsqlite3.docx
    ТипДокументы
    #1107106

    Стартуем с SQLite3 – Основные команды

    SQLite - это библиотека, написанная на языке C, которая обеспечивает работу с SQL. Данный инструмент относится к реляционным системам управления базами данных. Большинство баз данных SQL работает по схеме клиент/сервер. Возьмём к примеру MySQL. В процессе работы данные берутся с MySQL сервера, и отправляются в качестве ответа на запрос. В случае использования SQLite, данные будут браться непосредственно с диска, т.е. не будет необходимости обращаться к серверу.



    Установка

    Мы будем взаимодействовать с базой данных через интерфейс командной строки sqlite3 (CLI) в Linux. Работа с sqlite3 CLI в MAC OS и Windows осуществляется таким же образом, однако я рекомендую вам потратить 5 минут на установку виртуальной машины, чтобы не захламлять свой компьютер лишним софтом.

    Для установки sqlite3 на Linux выполняем команду:

    sudo apt-get install sqlite3 libsqlite3-dev
    В результате на вашей машине будет установлен sqlite3. Для установки данного инструмента на других ОС следуйте инструкциям. Для запуска sqlite выполняем команду sqlite3 в консоли. Результат должен быть таким:



    Во второй строчке указана подсказка о том, что для получения справки необходимо выполнить команду .help. Давайте сделаем это. В результате мы увидим Мета Команды и их описание.

    Мета Команды

    Мета Команды - предназначены для формирования таблиц и других административных операций. Все они оканчиваются точкой. Пройдёмся по списку команд, которые могут пригодиться:

    Команда

    Описание

    .show

    Показывает текущие настройки заданных параметров

    .databases

    Показывает название баз данных и файлов

    .quit

    Выход из sqlite3

    .tables

    Показывает текущие таблицы

    .schema

    Отражает структуру таблицы

    .header

    Отобразить или скрыть шапку таблицы

    .mode

    Выбор режима отображения данных таблицы

    .dump

    Сделать копию базы данных в текстовом формате

    Стандартные команды

    Теперь давайте пройдёмся по списку стандартных команд sqlite3, которые предназначены для взаимодействия с базой данных. Стандартные команды могут быть классифицированы по трём группам:
    Язык описания данных DDL: команды для создания таблицы, изменения и удаления баз данных, таблиц и прочего.

      • CREATE

      • ALTER

      • DROP

    Язык управления данными DML: позволяют пользователю манипулировать данными (добавлять/изменять/удалять).

      • INSERT

      • UPDATE

      • DELETE

    Язык запросов DQL: позволяет осуществлять выборку данных.

      • SELECT


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

    Файлы баз данных SQLite являются кроссплатформенными. Они могут располагаться на различного рода устройствах.

    Далее знакомство с sqlite3 будет осуществляться на базе данных, предназначенной для хранения комментариев. Для публикации комментария пользователю необходимо будет добавить следующие данные:

    Нумерация комментариев

    Имя

    Email

    Сайт

    Комментарий

    post_id

    name

    email

    website_url

    comment

    INTEGER

    TEXT

    TEXT

    TEXT

    TEXT
















    NOT NULL

    NOT NULL

    NOT NULL




    NOT NULL


    Тут вы сможете найти все типы данных, поддерживаемые в SQLite3.

    Так же следует отметить, в SQLite3 данные, вставляемые в колонку могут отличаться от указанного типа. В MySQL такое не пройдёт.

    Теперь давайте создадим базу данных. Если вы ещё находитесь в интерфейсе sqlite3, то наберите команду .quit для выхода. Теперь вводим:
    sqlite3 comment_section.db

    В результате, в текущем каталоге у нас появится файл comment_section.db.

    Заметка: если не указать название файла, sqlite3 создаст временную базу данных.
    Создание таблицы
    Для хранения комментариев нам необходимо создать таблицу. Назовём её comments. Выполняем команду:

    1

    CREATE TABLE comments (




    2

    post_id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,



    3

    name TEXT NOT NULL,




    4

    email TEXT NOT NULL,



    5

    website_url TEXT NULL,




    6

    comment TEXT NOT NULL );

    NOT NULL обеспечит уверенность, что ячейка не будет содержать пустое значение. PRIMARY KEY и AUTOINCREMENT расширяют возможности поля post_id.

    Чтобы убедиться в том, что таблица была создана, выполняем мета команду .tables. В результате видим нашу таблицу comments.



    Заметка: Для получения структуры таблицы наберите .schema comments

    Теперь можем внести данные в таблицу.
    ВСТАВКА СТРОК

    Предположим, что нам необходим внести следующую запись:

    1

    Name : Shivam Mamgain







    2

    Email : xyz@gmail.com










    3

    Website : shivammg.blogspot.com




    4

    Comment : Great tutorial for beginners.


    Для вставки воспользуемся командой INSERT.

    1

    INSERT INTO comments ( name, email, website_url, comment )

    2

    VALUES ( 'Shivam Mamgain', 'xyz@gmail.com',




    3

    'shivammg.blogspot.com', 'Great tutorial for beginners.' );








    Указывать значение для post_id не нужно т.к. оно сформируется автоматически благодаря настройке AUTOINCREMENT.

    Чтобы набить руку можете вставить ещё несколько строк.

    ВЫБОРКА

    Для выборки данных воспользуемся командой SELECT.

    1

    SELECT post_id, name, email, website_url, comment

    2

    FROM comments;




    Этот же запрос может выглядеть так:

    1

    SELECT *




    2

    FROM comments;

    В результате из таблицы будут извлечены все строки. Результат может выглядеть без разграничения по колонкам и без заголовка. Чтобы это исправить выполняем:

    .show



    Для отображения шапки введите .headers ON.

    Для отображения колонок выполните команду .mode column.

    Выполняем SELECT запрос ещё раз.



    Заметка: вид отображения можно изменить, воспользовавшись мета командой .mode.
    ОБНОВЛЕНИЕ

    Предположим, что поле email для пользователя ‘Shivam Mamgain’ необходимо изменить на ‘zyx@email.com’. Выполняем следующую команду:

    1

    UPDATE comments







    2

    SET email = 'zyx@email.com'




    3

    WHERE name = 'Shivam Mamgain';

    В результате запись будет изменена.

    Заметка: Значение в колонке name может быть не уникально, так что в результате работы команды может быть затронуто более одной строки. Для всех пользователей, где значение name = ‘Shivam Mamgain’, поле email будет изменено на ‘zyx@email.com’. Для изменения какой-то конкретной строки следует её отследить по полю post_id. Мы его определили как PRIMARY KEY, что обеспечивает уникальность значения.
    УДАЛЕНИЕ

    Для выполнения команды DELETE нужно так же указать условие.

    К примеру нам необходимо удалить комментарий с post_id = 9. Выполняем команду:

    1

    DELETE FROM comments

    2

    WHERE post_id = 9;




    Для удаления комментариев пользователей ‘Bart Simpson’ и ‘Homer Simpson’ выполним:

    1

    DELETE FROM comments




    2

    WHERE name = 'Bart Simpson' OR name = 'Homer Simpson';


    ИЗМЕНЕНИ СТРУКТУРЫ

    Для добавления новой колонки следует использовать команду ALTER. К примеру введём поле username. Выполняем команду:

    1

    ALTER TABLE comments




    2

    ADD COLUMN username TEXT;


    Данная команда создаст новое текстовое поле в таблице comments. Для всех строк в качестве значения будет выставлено NULL.
    Так же мы можем использовать команду ALTER для переименования таблицы comments на Coms.

    1

    ALTER TABLE comments

    2

    RENAME TO Coms;





    УДАЛЕНИЕ

    Для удаление нашей таблицы выполните следующую команду:

    1

    DROP TABLE Coms;

    Заключение

    SQLite3 даёт множество преимуществ в отличии от других СУБД. Множество фрэймворков таких как Django, Ruby on Rails и web2py по умолчанию используют SQLite3. Многие браузеры используют данный инструмент для хранения локальных данных. Так же она используется в качестве хранилища данных таких ОС как Androidи Windows Phone 8.

    Для работы с SQLite3 можно воспользоваться и программами с графическим интерфейсом. К примеру: DB Browser for SQLite и SQLiteStudio. Для тренировки работы с SQL можете поиграть с SQL Fiddle.

    Данный урок может помочь стартовать с SQLite3. Для взаимодействия с данным СУБД в PHP можем воспользоваться расширением PDO.


    написать администратору сайта