Как да създадете база данни в SQL
- Много е необходимо да се създаде база данни, за да се съхраняват данните в базата данни.
- Името на базата данни винаги трябва да е уникално.
- SQL не позволява създаването на база данни със същото име, която вече съществува на сървъра.
- За да се гарантира уникалността при създаването на нова база данни, администраторът на базата данни трябва да е наясно с вече съществуващите бази данни в сървъра.
- ПОКАЖЕТЕ БАЗА ДАННИ командата се използва в SQL за изброяване на всички бази данни, които присъстват в сървъра.
Пример:
Ще проверим всички налични бази данни.
mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | demo | | mysql | | performance_schema | | test | +--------------------+ 5 rows in set (0.05 sec)
В горния пример се показват всички бази данни, които присъстват в сървъра, включително системните бази данни (информационна_схема, performance_schema, mysql) и създадени от потребителя бази данни (демо, тест).
- След като администраторът на базата данни е запознат с имената на вече съществуващи бази данни, които присъстват в SQL сървъра, сега администраторът на базата данни може да създаде база данни с произволно име, като вземе предвид изхода на командата SHOW DATABASES.
Синтаксис за създаване на база данни в SQL:
CREATE DATABASE DATABASENAME;
Пример: Ще създадем нова база данни с името “Exampledb”.
mysql> CREATE DATABASE Exampledb;
Нова база данни с име “exampledb” е създадена успешно на сървъра.
- За да гарантираме, че базата данни е създадена успешно, отново ще използваме командата SHOW DATABASES.
Пример:
Ще покажем всички налични бази данни, за да проверим дали „exampledb“ е създаден или не.
mysql> SHOW DATABASES;
Изход:
+--------------------+ | Database | +--------------------+ | information_schema | | demo | | exampledb | | mysql | | performance_schema | | test | +--------------------+
Сега можем да видим и новосъздадената база данни с името “exampledb”.
- Алтернатива на командата CREATE DATABASE е CREATE SCHEMA COMMAND . И двете заявки изпълняват една и съща задача за създаване на база данни.
Синтаксис:
CREATE SCHEMA DATABASENAME;
Пример: Ще използваме алтернативна заявка, за да създадем база данни с името „testDB“.
mysql> CREATE SCHEMA testDB;
Пример: Ще покажем всички налични бази данни, за да проверим дали „testdb“ е създаден или не.
mysql> SHOW DATABASES;
Изход
+--------------------+ | Database | +--------------------+ | information_schema | | demo | | exampledb | | mysql | | performance_schema | | test | | testdb | +--------------------+ 7 rows in set (0.05 sec)
- Можете също да прегледате вече създадената база данни, като използвате командата по-долу:
SHOW CREATE DATABASE DATABASE_NAME;
Пример:
We will review the already created database named as “exampledb”. mysql> SHOW CREATE DATABASE exampledb;
Изход:
+------------+-----------------------------------------------------------------------+ | Database | Create Database | +------------+-----------------------------------------------------------------------+ | exampledb | CREATE DATABASE ` exampledb ` /*!40100 DEFAULT CHARACTER SET latin1 */ | +------------+-----------------------------------------------------------------------+ 1 row in set (0.00 sec)
Тук командата, която е била използвана за създаване на база данни с име “exampledb”, се показва заедно с набора от знаци. Тъй като наборът от знаци не е посочен по време на създаването на тази база данни, базата данни се създава с набора от символи по подразбиране, т.е. latin1 .
- За да съхранявате данните в конкретна база данни, човек трябва да каже на сървъра коя конкретна база данни иска да използва администраторът.
Синтаксис:
USE DATABASE_NAME;
Пример:
За да работи с конкретна база данни, потребителят трябва да каже на сървъра, че иска да изпълнява допълнителни заявки на „exampledb“.
mysql> USE exampledb;
Изход:
Database changed
Тъй като използвахме базата данни, наречена „exampledb“, всички по-нататъшни заявки вече ще се изпълняват в тази конкретна база данни.
Параметри на израза CREATE
Може също така да се импровизира заявката CREATE DATABASE чрез добавяне на параметри и спецификации към нея.
- АКО НЕ СЪЩЕСТВУВА
В един MySQL сървър може да има множество бази данни. Човек може да се опита да създаде база данни, която вече присъства в MySQL сървъра. Така че, в този случай използването на параметър „IF NOT EXISTS“ със заявката CREATE DATABASE служи на целта. Преди създаването на нова база данни, той инструктира сървъра да провери дали базата данни вече съществува с посоченото име.
Синтаксис:
CREATE DATABASE IF NOT EXISTS DATABASENAME;
Пример:
За да създадем нова база данни „demodb“, първо ще покажем всички налични бази данни и след това ще създадем „demodb“, ако база данни с това име все още не съществува.
mysql> SHOW DATABASES;
Изход:
+--------------------+ | Database | +--------------------+ | information_schema | | demo | | exampledb | | mysql | | performance_schema | | test | | testdb | +--------------------+ 7 rows in set (0.05 sec)
mysql> CREATE DATABASE IF NOT EXISTS demodb; Query OK, 1 row affected (0.00 sec)
По-рано нямаше база данни с името „demodb“. И така, сега ще бъде създадена базата данни с име “demodb”. Ако се опитаме да създадем база данни със съществуващото име без използването на IF NOT EXISTS, тогава в този случай SQL ще изведе грешка.
Пример:
Сега ще покажем всички налични бази данни, за да гарантираме, че базата данни „demodb“ е създадена.
mysql> SHOW DATABASES;
Изход:
+--------------------+ | Database | +--------------------+ | information_schema | | demo | | demodb | | exampledb | | mysql | | performance_schema | | test | | testdb | +--------------------+ 8 rows in set (0.00 sec)
Тук се създава база данни с името “demodb”.
- Колекция и набор от знаци
Съпоставянето е набор от правила, които са полезни за сравнение. Човек може да съхранява SQL данните на различен език, различен от английски. За да съхранявате данните на друг език, трябва да изберете набора от знаци за този конкретен език. Различните нива на набор от знаци включват сървър, база данни, таблица и колона. След като наборът от знаци е избран, тогава могат да бъдат избрани само правилата за съпоставяне.
Пример:
Ще създадем нова база данни с име „sample“, чийто набор от знаци е „latin1“, а правилото за съпоставяне е „latin1_swedish_ci“.
mysql> CREATE DATABASE IF NOT EXISTS sample CHARACTER SET latin1 COLLATE latin1_swedish_ci;
Тук се създава „примерна“ база данни с latin1 като набор от знаци и latin1_swedish_ci като правило за съпоставяне.