Конфігураційний файл my.Ini
Конфігураційний файл MySQL “my.ini” містить в собі налаштування сервера. У останній, на даний момент, версії MySQL (5.7) він знаходиться у директорії – C:\ProgramData\MySQL\MySQL Server 5.7.
В ньому є три секції:
· [client] - Налаштування для всіх клієнтських програм.
· [mysql] - Налаштування для командного рядка Windows.
· [mysqld] - Налаштування для самого сервера MySQL.
Консоль (командний рядок)
Працювати з базами даних у СКБД MySQL можливо черезконсоль (командний рядок) або за допомогою різноманітних інструментів, таких як phpMyAdmin, MySQL Workbench, SQLyog, Navicat, dbForge Studio for MySQL, HeidiSQL, SQL Maestro для MySQL і т.д.
Для початку, розглянемо роботу з консоллю. Консоль можна запустити з папки на диску С (C:\ProgramData\Microsoft\Windows\Start Menu\Programs\MySQL\ MySQL Server 5.7). Застосування MySQL 5.7 Command Line Client та MySQL 5.7 Command Line Client - Unicode в цій папці, це і буде консоль mysql.
Також командний рядок можна запустити через пуск-приложения, та знайти ярлик MySQL 5.7 Command Line Client або MySQL 5.7 Command Line Client - Unicode.
Не забуваємо один важливий момент: роздільником команд mysql є ";" (крапка з комою).
Команди консолі
· \h або ? – список всіх параметрів, які можна використовувати при роботі з консоллю.
· ? SELECT – справка по команді (в даному випадку по команді SELECT).
· \с – очищення, при некоректному вводі команди.
· \r – перепідключення до сервера.
· \d – зміна роздільника (напр. з ; на *).
· \G – дана команда вказується після запиту, вона відправляє запит на сервер та повертає результат в горизонтальному вигляді.
· \T – логування консолі в текстовий файл (працює до перепідключення).
· \T D:\mysqlday1.log
· \t – відміна логування.
· \. – виконання SQL скрипта з файлу.
· \. С:\mysqlscript.sql
· \s – переглянути статус сервера.
· \W – ввімкнути відображення попереджень.
· \w – вимкнути відображення попереджень.
· \q – вихід з консолі.
Команди SQL
Команди для роботи з базою даних:
· CREATE DATABASE db_name; - створюємо нову БД з назвою db_name.
· SHOW DATABASES; - перегляд наявних БД.
· USE db_name; - вибрати БД з ім'ям db_name.
· DROP DATABASE database_name – видалити існуючу БД.
Команди для роботи з таблицями:
· SHOW TABLES; - перегляд всіх таблиць.
· SHOW COLUMNS FROM table_name; - перегляд колонок і їх властивостей.
· CREATE TABLE table_name (`id` int (11) AUTO_INCREMENT,` name` varchar (255)); - створення таблиці з колонками id і name.
· DESCRIBE tаble_name - показує структуру створеної таблиці (скорочений варіант DESC tаble_name).
· DROP TABLE table_name – видалити таблицю.
· ALTER TABLE - дозволяє змінити структуру таблиці.
· ALTER TABLE table_name ADD column1 int (11); - додати колонку в таблицю.
· ALTER TABLE table_name DROP column1; - видалити колонку з таблиці.
· INSERT INTO table_name VALUES (values,…) – вставляє нові записи в існуючу таблицю.
· DELETE FROM table_name [WHERE definition] – видаляє з таблиці table_name записи, що задовольняють заданим в definition умовам, і повертає число видалених записів.
Типи даних (ANSI/ISO SQL92)
· Числові типи даних
· Символьні типи даних
· Типи даних дати та часу
Цілі числа
Тип | Байт | Від | До |
TINYINT | -128 | ||
SMALLINT | -32768 | ||
MEDIUMINT | -8388608 | ||
INT | -2147483648 | ||
BIGINT | -9,22337E+18 | 9,22337E+18 |
Усі цілі числа вміють працювати у так званому без знаковому режимі (UNSIGNED). В такому режимі неможливо вказати мінусове число а плюсова частина подвоюється за рахунок мінусової. Наприклад, SMALLINT у без знаковому режимі буде приймати значення від 0 до 255.
Похідні від цілих чисел
Тип | Синонім |
SERIAL | BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQE |
BOOL, BOOLEAN | TINYINT(1) |
Дробові числа
Тип | Байт | Від | До |
FLOAT | 1,175E-38 | 3,4E+38 | |
DOUBLE | 2,23E-308 | 1,8E+308 | |
DECIMAL(precision, scale) (діапазон/точність) Числа з фіксованою точністю і масштабом. | Змінний | precision = від 1 до 15. Визначає, що зберігається, принаймні precision цифр числа. scale = від 1 до 15. Визначає число знаків після коми. Повинно бути менше або дорівнювати precision. |
Символьні типи даних
Величина | CHAR(4) | Необхідна пам'ять | VARCHAR(4) | Необхідна пам'ять |
‘’ | ‘ ’ | 4 байти | ‘’ | 1 байт |
‘ab’ | ‘ab ’ | 4 байти | ‘ab’ | 3 байти |
‘abcd’ | ‘abcd’ | 4 байти | ‘abcd’ | 5 байт |
‘abcdefgh’ | ‘abcd’ | 4 байти | ‘abcd’ | 5 байт |
CHAR –характеризуєтьсяфіксованим розміром пам’яті на зберігання одного символу. Не може зберігати більше ніж 256 символів. Зайве витрачення пам’яті, якщо у рядку символів менше ніж їх зазначена кількість. Через те, що рядок має фіксований розмір збільшується швидкість пошуку, оскільки серверу не потрібно визначати довжину рядка.
VARCHAR –характеризується змінною довжиною рядка. Тобто, пам’яті виділяється стільки, скільки потрібно для зберігання введеної (а не зазначеної) кількості символів, плюс один байт завжди займається на зберігання довжини рядка. Дозволяє зберігати до 65 тис. символів. Через те, що серверу потрібно визначати довжину рядка зменшується швидкість пошуку (несуттєво для невеликих БД).
Типи даних BLOB таTEXT
Тип | Максимальний розмір | Байт |
TINYTEXT TINYBLOB | 28-1 | |
TEXT BLOB | 216-1 (64K-1) | |
MEDIUMTEXT MEDIUMBLOB | 224-1 (16M-1) | |
LONGBLOB | 232-1 (4G-1) | 4,29E+09 |
Тип даних BLOB являє собою двійковий об'єкт великого розміру, який може містити змінну кількість даних (напр. картинка, відео і т.п.).
Єдина відмінність між типами BLOB і TEXT полягає в тому, що сортування і порівняння даних виконуються з урахуванням регістру для величин BLOB і без урахування регістру для величин TEXT. Іншими словами, TEXT - це незалежний від регістру BLOB.
Тип перерахування ENUM
Тип | Максимальний розмір | Байт |
ENUM | 65535 варіантів | від 1 до 2 |
ENUM (перерахування) - це стовпець, який може приймати значення зі списку допустимих значень, явно перерахованих в специфікації стовпця в момент створення таблиці.
Цим значенням також може бути порожній рядок ("") або NULL за певних умов:
· Якщо робиться вставка некоректного значення в стовпець ENUM (тобто вставка рядка, який не перерахований в списку допустимих), то вставляється порожній рядок, що є вказівкою на помилкове значення. Цей рядок відрізняється від "звичайного" порожнього рядка за тією ознакою, що він має цифрове значення, рівне 0. Про це трохи нижче.
· Якщо ENUM визначається як NULL, то тоді NULL теж є допустимим значенням стовпця і значення за замовчуванням - NULL. Якщо ENUM визначається як NOT NULL, то значенням за замовчуванням є перший елемент зі списку допустимих значень.
Цей тип даних можна використовувати для вибору значення зі списку допустимих. Наприклад, вибір статі: «чоловік» або «жінка» можна описати як enum(‘Чоловік’,‘Жінка’). При цьому в таблиці зберігається не сам текст, а номер перерахування всередині ENUM. Тобто, якщо користувач вибере варіант «чоловік» в базі даних буде збережено «0» замість слова «чоловік», що зменшує використання пам’яті.
Тип множини SET
Тип | Максимальний розмір | Байт |
SET | 64 елемента |
SET -це строковий тип, який може приймати нуль або більше значень, кожне з яких повинно бути вибрано зі списку допустимих значень, визначених при створенні таблиці. Елементи множини SET розділяються комами. Як наслідок, самі елементи множини не можуть містити ком.
Наприклад, стовпець, визначений як SET ("один", "два") NOT NULL може приймати такі значення:
· ""
· "один"
· "два"
· "один, два"
Типи даних дати та часу
Тип | Діапазон | Необхідна пам’ять |
DATE | від 1001-01-01 до 9999-12-31 | 3 байти |
DATETIME | від 1001-01-01 00:00:00 до 9999-12-31 23:59:59 | 8 байт |
TIME | від -838:59:59 до 838:59:59 | 3 байти |
TIMESTAMP | від 1970-01-01 00:00:00 до 2037 | 4 байти |
YEAR | від 1901 до 2155 від 1970 до 2069 | 1 байт |
Більш детально про типи даних MySQL 5.7 http://dev.mysql.com/doc/refman/5.7/en/data-types.html