Как да създадете база данни в MySQL (Създаване MySQL таблици)
⚡ Умно обобщение
Създаване на база данни в MySQL следва два доказани пътя: изпълнение на оператор CREATE DATABASE или генериране на физически схеми от ER модел чрез MySQL Инженеринг на работни маси напред. И двата подхода произвеждат идентични, готови за производство маси.

Стъпки за създаване на база данни в MySQL
База данни в MySQL е именуван контейнер за таблици, изгледи и свързани обекти. Можете да създадете такъв по два начина:
1) Чрез изпълнение на проста SQL заявка
2) Чрез използване на преден инженеринг в MySQL Workbench
As SQL начинаещ, нека първо разгледаме метода на заявка.
Как да създадете база данни в MySQL
Ето как да създадете база данни в MySQL:
CREATE DATABASE е SQL командата, използвана за създаване на база данни в MySQL.
Представете си, че трябва да създадете база данни с име „филми“. Можете да създадете база данни в MySQL чрез изпълнение на следната SQL команда.
CREATE DATABASE movies;
Забележка: Можете също да използвате командата CREATE SCHEMA вместо CREATE DATABASE.
Изразът работи само веднъж. Повторното му изпълнение хвърля грешка, така че нека подобрим заявката с повече параметри.
АКО НЕ СЪЩЕСТВУВА
Сингъл MySQL Сървърът може да съхранява много бази данни. Когато няколко души споделят този сървър, можете да опитате да създадете база данни с името на съществуваща.
АКО НЕ СЪЩЕСТВУВА инструктира MySQL сървърът да провери за база данни със същото име, преди да я създаде. Базата данни се създава само ако името е свободно; без тази клауза, MySQL хвърля грешка.
CREATE DATABASE IF NOT EXISTS movies;
След като името на базата данни е безопасно, следващото решение е как MySQL трябва да съхранява и сравнява текста вътре в него.
Подреждане и набор от символи
A набор от символи решава кои символи може да съхранява дадена колона, докато a сверка е множеството от правила, използвани при сравнение и сортиране. И двете могат да бъдат дефинирани на четири нива: сървър, база данни, таблица и колона.
Избраното от вас сортиране зависи от набора от символи. Например, наборът от символи latin1 използва latin1_swedish_ci сортиране, което е шведският ред без отчитане на главни и малки букви.
CREATE DATABASE IF NOT EXISTS movies CHARACTER SET latin1 COLLATE latin1_swedish_ci;
За местни езици като арабски или китайски, изберете Unicode utf8mb4 набор от символи, който съхранява всеки Unicode символ, включително емоджи. В MySQL 8.0, utf8mb4 е наборът от символи по подразбиране и utf8mb4_0900_ai_ci подразбиращото се сравнение.
CREATE DATABASE IF NOT EXISTS movies CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
Можете да намерите списъка с всички съпоставки и набори от знаци тук.
Можете да видите списъка със съществуващите бази данни, като изпълните следната SQL команда.
SHOW DATABASES;
След като базата данни е на мястото си, вече можете да добавите таблиците, които действително ще съдържат записите.
Как да създадете таблица в MySQL
Командата CREATE TABLE се използва за създаване на таблици в база данни.
Както показва диаграмата, всяка таблица принадлежи към една база данни. Таблиците се създават с СЪЗДАЙТЕ МАСА израз, който има следния синтаксис.
CREATE TABLE [IF NOT EXISTS] `TableName` (`fieldname` dataType [optional parameters]) ENGINE = storage Engine;
ТУК
- „CREATE TABLE“ отговаря за създаването на таблицата в базата данни.
- „[IF NOT EXISTS]“ е по избор и създава таблицата само ако не е намерено съответстващо име на таблица.
- „`fieldName`“ е името на полето, а „data Type“ определя естеството на данните, съхранявани в него.
- „[незадължителни параметри]“ е допълнителна информация за поле, като например „AUTO_INCREMENT“ или NOT NULL.
- „Storage Engine“ управлява таблицата, обикновено InnoDB, която поддържа транзакции и външни ключове.
MySQL Пример за създаване на таблица
По-долу е показан a MySQL пример за създаване на таблица в база данни:
CREATE TABLE IF NOT EXISTS `MyFlixDB`.`Members` ( `membership_number` INT AUTO_INCREMENT , `full_names` VARCHAR(150) NOT NULL , `gender` VARCHAR(6) , `date_of_birth` DATE , `physical_address` VARCHAR(255) , `postal_address` VARCHAR(255) , `contact_number` VARCHAR(75) , `email` VARCHAR(255) , PRIMARY KEY (`membership_number`) ) ENGINE = InnoDB;
Забележка: правилното MySQL ключовата дума е AUTO_INCREMENT с долна черта. AUTOINCREMENT принадлежи на SQLite и повдига синтактична грешка в MySQL.
Всяка колона носи тип данни, така че избирайте внимателно: нито подценявайте, нито надценявайте диапазона от данни, които очаквате.
MySQL Типове данни
Типовете данни определят естеството на данните, които могат да се съхраняват в определена колона на таблица.
MySQL има 3 основни категории типове данни, а именно:
- Numeric
- Текст
- Време за среща
Числови типове данни
Числовите типове данни се използват за съхраняване на числови стойности. Много е важно да се уверите, че диапазонът на вашите данни е между долната и горната граница на избрания от вас числов тип данни.
| TINYINT( ) | -128 до 127 нормално 0 до 255 НЕПОДПИСАН. |
| SMALLINT( ) | -32768 до 32767 нормално 0 до 65535 НЕПОДПИСАН. |
| СРЕДЕН( ) | -8388608 до 8388607 нормално 0 до 16777215 НЕПОДПИСАН. |
| INT( ) | -2147483648 до 2147483647 нормално 0 до 4294967295 НЕПОДПИСАН. |
| BIGINT( ) | -9223372036854775808 до 9223372036854775807 нормално 0 до 18446744073709551615 НЕПОДПИСАН. |
| ПЛАВА | Малко приблизително число с плаваща десетична запетая. |
| ДВОЙНО ( , ) | Голямо число с плаваща десетична запетая. |
| DECIMAL( , ) | DOUBLE, съхранен като низ, позволяващ фиксирана десетична точка. Избор за съхраняване на валутни стойности. |
Текстови типове данни
Както подсказва името на категорията тип данни, те се използват за съхраняване на текстови стойности. Винаги се уверявайте, че дължината на текстовите ви данни не надвишава максималната дължина на колоната.
| CHAR( ) | Фиксирана секция с дължина от 0 до 255 знака. |
| VARCHAR() | Променлива секция с дължина от 0 до 255 знака. |
| МАЛЪК ТЕКСТ | Низ с максимална дължина от 255 знака. |
| ТЕКСТ | Низ с максимална дължина от 65535 знака. |
| петна | Низ с максимална дължина от 65535 знака. |
| СРЕДЕН ТЕКСТ | Низ с максимална дължина от 16777215 знака. |
| СРЕДЕН БЛОБ | Низ с максимална дължина от 16777215 знака. |
| ДЪЛЪГ ТЕКСТ | Низ с максимална дължина от 4294967295 знака. |
| LONGBLOB | Низ с максимална дължина от 4294967295 знака. |
Типове данни за дата и час
Типовете данни за дата и час съхраняват стойностите на календара и часовника във фиксиран формат, което осигурява надеждност на сортирането и сравнението.
| ДАННИ | ГГГГ-ММ-ДД |
| ВРЕМЕ ЗА СРЕЩА | ГГГГ-ММ-ДД ЧЧ: ММ: СС |
| КЛАПОТО ЗА ЧАС | YYYYMMDDHHMMSS |
| ВРЕМЕ | HH: MM: SS |
Други типове данни
Освен горепосочените, има и други типове данни в MySQL.
| ENUM | За съхраняване на текстова стойност, избрана от списък с предварително дефинирани текстови стойности |
| КОМПЛЕКТ | Това се използва и за съхраняване на текстови стойности, избрани от списък с предварително дефинирани текстови стойности. Може да има множество стойности. |
| BOOL | Синоним на TINYINT(1), използван за съхраняване на булеви стойности |
| двоен | Подобно на CHAR; разликата е, че текстовете се съхраняват в двоичен формат. |
| ВАРБИНАРИЯ | Подобно на VARCHAR; разликата е, че текстовете се съхраняват в двоичен формат. |
Сега нека видим заявка за създаване на таблица, която използва всички типове данни. Разгледайте я и определете как е дефиниран всеки тип данни в таблицата за създаване по-долу. MySQL пример.
CREATE TABLE `all_data_types` ( `varchar` VARCHAR( 20 ) , `tinyint` TINYINT , `text` TEXT , `date` DATE , `smallint` SMALLINT , `mediumint` MEDIUMINT , `int` INT , `bigint` BIGINT , `float` FLOAT( 10, 2 ) , `double` DOUBLE , `decimal` DECIMAL( 10, 2 ) , `datetime` DATETIME , `timestamp` TIMESTAMP , `time` TIME , `year` YEAR , `char` CHAR( 10 ) , `tinyblob` TINYBLOB , `tinytext` TINYTEXT , `blob` BLOB , `mediumblob` MEDIUMBLOB , `mediumtext` MEDIUMTEXT , `longblob` LONGBLOB , `longtext` LONGTEXT , `enum` ENUM( '1', '2', '3' ) , `set` SET( '1', '2', '3' ) , `bool` BOOL , `binary` BINARY( 20 ) , `varbinary` VARBINARY( 20 ) ) ENGINE = MYISAM;
Най-добри практики за създаване на a MySQL База данни
Няколко правила поддържат скриптовете ви четливи:
- Използвайте главни букви за SQL ключови думи, например „DROP SCHEMA IF EXISTS `MyFlixDB`;“
- Завършвайте всичките си SQL команди с точка и запетая.
- Избягвайте използването на интервали в имената на схеми, таблици и полета. Използвайте долни черти, за да ги разделите.
- Предпочитайте InnoDB пред MyISAM за нови таблици, защото InnoDB поддържа транзакции, заключване на ниво ред и външни ключове.
Методът на заявката е завършен. Вторият маршрут достига до същата база данни чрез визуален модел, вместо чрез ръчно написан SQL код.
Как се създава MySQL Диаграма на ER на работната маса за Forward Engineering
MySQL Workbench има помощни програми, които поддържат напредничаво инженерство. Предно инженерство е техническият термин, който описва процеса на автоматично превеждане на логически модел във физическа имплементация.
Ние създадохме ER диаграма в нашата ER моделиране урок. Сега ще използваме този ER модел, за да генерираме SQL скриптовете, които ще създадат нашата база данни.
Създаване на база данни MyFlix от модела MyFlix ER
Стъпка 1) Отворете ER модела на базата данни MyFlix които сте създали по-рано.
Стъпка 2) Изберете преден инженер
Щракнете върху менюто База данни и изберете Напред Инженер.
Стъпка 3) Опции за свързване
Следващият прозорец ви позволява да се свържете с екземпляр на MySQL сървър. Щракнете върху падащия списък със съхранени връзки и изберете локален хост. Щракнете върху Изпълнение.
Стъпка 4) Изберете опциите, показани по-долу
Изберете опциите, показани по-долу, в появилия се съветник. Щракнете върху „Напред“.
Стъпка 5) Запазете настройките по подразбиране и щракнете върху „Напред“
Следващият екран показва обобщение на обектите в нашата EER диаграма. Нашата MyFlix база данни има 5 таблици. Запазете селекциите по подразбиране и щракнете върху „Напред“.
Стъпка 6) Revт.е. SQL скрипта
Прозорецът по-долу показва предварителен преглед на SQL скрипта, който създава нашата база данни. Запазете скрипта във файл *.sql или го копирайте в клипборда, след което щракнете върху „Напред“.
Стъпка 7) Фиксиране на напредъка
Прозорецът по-долу се появява, след като базата данни бъде създадена на избраната MySQL екземпляр на сървъра. Таблиците от ER модела вече съществуват физически на сървъра.
Базата данни, заедно с фиктивните данни, е прикачена. Ще използваме тази база данни в следващите уроци. Просто я импортирайте в MySQL Работна маса, за да започнете.
Щракнете тук, за да изтеглите MyFlixDB







.png)