MySQL Flashcards

1
Q

Создать БД

A

CREATE DATABASE [IF NOT EXISTS] имя_базы_даных;

Первая форма CREATE DATABASE имя_базы_даных пытается создать базу данных, но если такая база данных уже существует, то операция возвратит ошибку.

Вторая форма CREATE DATABASE IF NOT EXISTS имя_базы_даных пытается создать базу данных, если на сервере отсутствует бд с таким именем.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Использовать БД

A

USE имя_базы_даных

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Удалить БД

A

DROP DATABASE [IF EXISTS] имя_базы_даных;
Первая форма DROP DATABASE имя_базы_даных пытается удалить базу данных, но если такая база данных отсутствует на сервере, то операция возвратит ошибку.

Вторая форма DROP DATABASE IF EXISTS имя_базы_даных пытается удалить базу данных, если на сервере имеется бд с таким именем.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Создать таблицу

A

CREATE TABLE название_таблицы
(название_столбца1 тип_данных атрибуты_столбца1,
название_столбца2 тип_данных атрибуты_столбца2,
…………………………………………
название_столбцаN тип_данных атрибуты_столбцаN,
атрибуты_уровня_таблицы
)

После команды CREATE TABLE идет название таблицы. Имя таблицы выполняет роль ее идентификатора в базе данных, поэтому оно должно быть уникальным. Затем в скобках перечисляются названия столбцов, их типы данных и атрибуты. В самом конце можно определить атрибуты для всей таблицы. Атрибуты столбцов, а также атрибуты таблицы указывать необязательно.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Переименование таблиц

A

RENAME TABLE старое_название TO новое_название;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Полное удаление данных

A

TRUNCATE TABLE название_таблицы;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Удаление таблиц

A

ROP TABLE название_таблицы;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Символьные типы

A

CHAR: представляет строку фиксированной длины.
VARCHAR: представляет строку переменной длины. Тип CHAR может хранить до 255 байт. Всего тип VARCHAR может хранить до 65535 байт.
TINYTEXT: представляет текст длиной до 255 байт.
TEXT: представляет текст длиной до 65 КБ.
MEDIUMTEXT: представляет текст длиной до 16 МБ
LARGETEXT: представляет текст длиной до 4 ГБ

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Числовые типы

A

TINYINT: представляет целые числа от -128 до 127, занимает 1 байт

BOOL: фактически не представляет отдельный тип, а является лишь псевдонимом для типа TINYINT(1) и может хранить два значения 0 и 1. Однако данный тип может также в качестве значения принимать встроенные константы TRUE (представляет число 1) и FALSE (предоставляет число 0).

Также имеет псевдоним BOOLEAN.

TINYINT UNSIGNED: представляет целые числа от 0 до 255, занимает 1 байт

SMALLINT: представляет целые числа от -32768 до 32767, занимает 2 байтa

SMALLINT UNSIGNED: представляет целые числа от 0 до 65535, занимает 2 байтa

MEDIUMINT: представляет целые числа от -8388608 до 8388607, занимает 3 байта

MEDIUMINT UNSIGNED: представляет целые числа от 0 до 16777215, занимает 3 байта

INT: представляет целые числа от -2147483648 до 2147483647, занимает 4 байта

INT UNSIGNED: представляет целые числа от 0 до 4294967295, занимает 4 байта

BIGINT: представляет целые числа от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807, занимает 8 байт

BIGINT UNSIGNED: представляет целые числа от 0 до 18 446 744 073 709 551 615, занимает 8 байт

DECIMAL: хранит числа с фиксированной точностью. Данный тип может принимать два параметра precision и scale: DECIMAL(precision, scale).

Параметр precision представляет максимальное количество цифр, которые может хранить число. Это значение должно находиться в диапазоне от 1 до 65.

Параметр scale представляет максимальное количество цифр, которые может содержать число после запятой. Это значение должно находиться в диапазоне от 0 до значения параметра precision. По умолчанию оно равно 0.

Например, в определении следующего столбца:

1
salary DECIMAL(5,2)
Число 5 - precision, а число 2 - scale, поэтому данный столбец может хранить значения из диапазона от -999.99 до 999.99.

Размер данных в байтах для DECIMAL зависит от хранимого значения.

Данный тип также имеет псевдонимы NUMERIC, DEC, FIXED.

FLOAT: хранит дробные числа с плавающей точкой одинарной точности от -3.4028 * 1038 до 3.4028 * 1038, занимает 4 байта

Может принимать форму FLOAT(M,D), где M - общее количество цифр, а D - количество цифр после запятой

.
DOUBLE: хранит дробные числа с плавающей точкой двойной точности от -1.7976 * 10308 до 1.7976 * 10308, занимает 8 байт. Также может принимать форму DOUBLE(M,D), где M - общее количество цифр, а D - количество цифр после запятой.

Данный тип также имеет псевдонимы REAL и DOUBLE PRECISION, которые можно использовать вместо DOUBLE.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Типы для работы с датой и временем

A

DATE: хранит даты с 1 января 1000 года до 31 деабря 9999 года (c “1000-01-01” до “9999-12-31”). По умолчанию для хранения используется формат yyyy-mm-dd. Занимает 3 байта.

TIME: хранит время от -838:59:59 до 838:59:59. По умолчанию для хранения времени применяется формат “hh:mm:ss”. Занимает 3 байта.

DATETIME: объединяет время и дату, диапазон дат и времени - с 1 января 1000 года по 31 декабря 9999 года (с “1000-01-01 00:00:00” до “9999-12-31 23:59:59”). Для хранения по умолчанию используется формат “yyyy-mm-dd hh:mm:ss”. Занимает 8 байт

TIMESTAMP: также хранит дату и время, но в другом диапазоне: от “1970-01-01 00:00:01” UTC до “2038-01-19 03:14:07” UTC. Занимает 4 байта

YEAR: хранит год в виде 4 цифр. Диапазон доступных значений от 1901 до 2155. Занимает 1 байт.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Составные типы

A

ENUM: хранит одно значение из списка допустимых значений. Занимает 1-2 байта

SET: может хранить несколько значений (до 64 значений) из некоторого списка допустимых значений. Занимает 1-8 байт.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Бинарные типы

A

TINYBLOB: хранит бинарные данные в виде строки длиной до 255 байт.

BLOB: хранит бинарные данные в виде строки длиной до 65 КБ.

MEDIUMBLOB: хранит бинарные данные в виде строки длиной до 16 МБ

LARGEBLOB: хранит бинарные данные в виде строки длиной до 4 ГБ

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

PRIMARY KEY

A

Атрибут PRIMARY KEY задает первичный ключ таблицы.

OrderId INT PRIMARY KEY

PRIMARY KEY(OrderId, ProductId) - на уровне таблицы

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

AUTO_INCREMENT

A

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

Id INT PRIMARY KEY AUTO_INCREMENT,

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

UNIQUE

A

Атрибут UNIQUE указывает, что столбец может хранить только уникальные значения.
Phone VARCHAR(13) UNIQUE

UNIQUE(Email, Phone) - на уровне таблицы

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

NULL и NOT NULL

A

Чтобы указать, может ли столбец принимать значение NULL, при определении столбца ему можно задать атрибут NULL или NOT NULL. Если этот атрибут явным образом не будет использован, то по умолчанию столбец будет допускать значение NULL.

FirstName VARCHAR(20) NOT NULL,

17
Q

DEFAULT

A

Атрибут DEFAULT определяет значение по умолчанию для столбца.

Age INT DEFAULT 18,
18
Q

CHECK

A

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

Age INT DEFAULT 18 CHECK(Age >0 AND Age < 100),

19
Q

Установка имени ограничений

A

С помощью ключевого слова CONSTRAINT можно задать имя для ограничений. Они указываются после ключевого слова CONSTRAINT перед атрибутами на уровне таблицы.
Смысл установки имен ограничений заключается в том, что впоследствии через эти имена мы сможем управлять ограничениями - удалять или изменять их.

CONSTRAINT customers_pk PRIMARY KEY(Id)