MySQL start: различия между версиями
Строка 109: | Строка 109: | ||
<pre> | <pre> | ||
База данных | База данных | ||
├подключиться к базе данных: use ''name''; | |||
├отобразить список баз данных: show databases; | |||
├создать базу данных create database ''name''; | |||
└── Сущность | └── Сущность | ||
├ вывести список сущностей (таблиц) (из-под подключенной БД): show tables; | |||
├ создать сущность (таблицу) (из-под подключенной БД): create table ''name''(''запись'' ''тип''); | |||
├ удалить сущность (таблицу) (из-под подключенной БД): drop table ''name''; | |||
└── Записи | └── Записи | ||
└ вывести записи таблицы: describe ''name''; | |||
</pre> | </pre> | ||
Версия от 17:42, 18 октября 2022
Теория
Виды баз данных
- Реляционные - (SQL) — база, где данные хранятся в формате таблиц, они строго структурированы и связаны друг с другом.
В них, обычно, планируются несерьезные, неглобальные изменения. Могут использовать сложные запросы и набор отношений.
- Нереляционные (NoSQL) — хранит данные без четких связей друг с другом и четкой структуры.
Могут/ не могут иметь отношения, не имеют четкой структуры. Меняются в процессе.
Структура
БД └─СУБД └─пользователь
Между базой данных и пользователем используется СУБД - система управления базами данных - ПО обеспечивающее взаимодействие пользователя и БД.
Реляционная БД
Состоит из:
- сущность (таблица) - тип объектов, хранящихся в БД
- поле - часть таблицы, за которой закреплен определенный тип данных. (содержит название и описание)
- запись - строка таблицы (поле) БД, содержащая набор значений и свойств размещенный в полях.
- поле - часть таблицы, за которой закреплен определенный тип данных. (содержит название и описание)
БД ├───таблица │ ├───поле │ │ └запись │ ├───поле │ │ └запись │ └───поле │ └запись ├───таблица │ ├───поле │ │ └запись │ ├───поле │ │ └запись │ └───поле │ └запись └───таблица ├───поле │ └запись ├───поле │ └запись └───поле └запись
БД ├───автор │ ├───библиография │ ├───биография │ ├───дата рождения │ └───имя ├───книги ├───абонементы └───сотрудник
В данном примере БД - база данных; автор, инвентарный номер, книга - таблицы; библиография, биография, дата рождения, имя - поля.
Типы данных
строковые
- char - строка фиксированной длины
- пример char(20)
- максимум 20 символов
- при меньшем количестве переменная заполняется пробелами
- больше 20 заполнить нельзя
- пример char(20)
- varchar - строка переменной длины
- пример varchar(20)
- будет записано 10 символов
- в памяти будет хранится 10 символов и 1 говорящий о кол-ве используемых символов
- tiny - текст до 255 байт
- text - текст до 65 кб
числовые
- целые
tinyint | 1 byte -128 to 127 0 to 255 smallint | 2 bytes -32768 to 32767 0 to 65535 mediumint | 3 bytes -8388608 to 8388607 0 to 16777215 int/integer | 4 bytes -2147483648 to 2147483647 0 to 4294967295 bigint | 8 bytes -9223372036854775808 to 9223372036854775807 0 to 18446744073709551615
- дробные (указывается в скобках (всего, точность))
- decimal(3,2) => (xxx,yy) => -999,99 - 999,99
- float(a,b)
- double(a,b)
Практика
Установка MySQL
Согласно MySQL:
$ su - # apt-get install MySQL-server # service mysqld enable # service mysqld start
Shell СУБД
Запуск
$ mysql mysql>
Создание/удаление
- Вывести список БД:
show databases;
- Создать БД:
create database name; create database if not exists name;
- Удалить БД:
drop database name; drop database if exists name;
Работа с сущностями
База данных ├подключиться к базе данных: use ''name''; ├отобразить список баз данных: show databases; ├создать базу данных create database ''name''; └── Сущность ├ вывести список сущностей (таблиц) (из-под подключенной БД): show tables; ├ создать сущность (таблицу) (из-под подключенной БД): create table ''name''(''запись'' ''тип''); ├ удалить сущность (таблицу) (из-под подключенной БД): drop table ''name''; └── Записи └ вывести записи таблицы: describe ''name'';
Следующие команды создают БД, создают таблицу, выводят список таблиц на экран, выводят описание созданной таблицы и удаляют таблицу.
>show databases; >create database test; >use test; >create table test2 (name varchar(10), id int, description char(40)); >show tables; >describe test2; >drop table test2;
Создание БД и таблиц
mysql> use test; create table authors (id int, name varchar(30), lastname varchar(30), middlename varchar(30), books text, rating tinytext);
Пример интерективного создания таблицы:
mysql> use test; mysql> create table books( -> id int, -> title varchar(50), -> `short description` tinytext, -> author varchar(60), -> `publish year` date, -> `last time grab` datetime, -> `last user grab` varchar(60));