Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да създадете база данни от скрипт в MySQL

За да създадете база данни от скрипт в MySQL:

  1. Отворете раздел Заявка в MySQL Workbench
  2. Изпълнете CREATE DATABASE или CREATE SCHEMA изявление за създаване на базата данни (пример по-долу)

Това ще създаде нова база данни.

Скриптът може да бъде толкова прост като CREATE DATABASE myDatabase; но това ще създаде празна база данни. Няма да създава никакви таблици или други обекти на база данни. За да ги създадете, трябва да включите CREATE TABLE и други изявления във вашия скрипт.

Примерни скриптове

По-долу са дадени примери за скриптове, които създават база данни.

Създайте празна база данни

Следното изявление създава празна база данни, наречена „Музика“. Не са създадени таблици.

СЪЗДАВАНЕ НА БАЗА ДАННИ Музика;

Следното изявление прави точно същото нещо (CREATE SCHEMA е синоним на CREATE DATABASE ). Можете да изберете кой предпочитате да използвате.

СЪЗДАВАНЕ НА СХЕМА Музика;

Но НЕ, ако вече съществува...

Добавяне на IF NOT EXISTS ще създаде базата данни само ако тя вече не съществува.

СЪЗДАВАНЕ НА БАЗА ДАННИ, АКО НЕ СЪЩЕСТВУВА Музика;

Или го ПУСКАНЕ, ако вече съществува...

Започвайки с DROP DATABASE IF EXISTS; ще премахне базата данни, ако тя вече съществува. След това CREATE DATABASE изявлението може да продължи и да създаде новата база данни, както е посочено.

ИЗПУСКАНЕ НА БАЗА ДАННИ, АКО СЪЩЕСТВУВА Музика; СЪЗДАВАЙТЕ БАЗА ДАННИ Музика;

Проста база данни с таблица

Следният скрипт създава база данни (ако тя все още не съществува), след което създава таблица с две колони. Той задава типовете данни на колоните и задава колоната ActorId като първичен ключ.

СЪЗДАВАНЕ НА БАЗА ДАННИ Филми;ИЗПОЛЗВАНЕ НА филми;СЪЗДАВАНЕ НА ТАБЛИЦА Актьори (ActorId INT NOT NULL AUTO_INCREMENT, ActorName VARCHAR(255) NOT NULL, PRIMARY KEY (ActorId));

База данни с 3 таблици

Следният скрипт е генериран от диаграма с помощта на MySQL Workbench и е по-пълен от горния пример.

Това премахва всяка съществуваща база данни с това име, след което създава базата данни, създава таблиците, колоните и техните типове данни. Той също така установява връзка между таблиците, използвайки ограничения за първичен и външен ключ.

Освен това в горната част на скрипта има куп SET изрази, които деактивират проверките на уникални и външни ключове. След това те се активират отново в долната част, след като скриптът се изпълни.

Тази техника обикновено се използва при вмъкване на данни в таблици с връзки. Без да правите това, можете да срещнете тривиални грешки, просто защото всички данни все още не са били вмъкнати (например, ако попълвате поле за външен ключ, преди да е попълнено свързаното поле за първичен ключ).

-- MySQL скрипт, генериран от MySQL Workbench-- Понеделник, 30 май 11:25:32 2016-- Модел:Нова версия на модела:1.0-- MySQL Workbench Forward EngineeringSET @[email protected]@UNIQUE_CHECCHEC, UNIKS=0; SET @[email protected]@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;SET @[email protected]@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';-- ---------------- --------------------------------------- Музика за схема-- ------- ------------------------------------------------------- ИЗПУСКАНЕ СХЕМА, АКО СЪЩЕСТВУВА `Музика`;-- ---------------------------------------------------- ----------- Музика на схемата ------------------------------------ ------------------ СЪЗДАВАЙТЕ СХЕМА, АКО НЕ СЪЩЕСТВУВА `Music` НАБОР НА СИМВОЛИ ПО ПОДРАЗБИРАНЕ utf8;ИЗПОЛЗВАЙТЕ `Music`;-- ------------ ------------------------------------------- Таблица `Музика`.`Артисти `--------------------------------------------------------- ------ПРОСТАНЕ ТАБЛИЦА, АКО СЪЩЕСТВУВА `Музика`.`Артисти`;СЪЗДАВАЙТЕ ТАБЛИЦА, АКО НЕ СЪЩЕСТВУВА `Музика`.`Изпълнители` ( `ArtistId` INT NOT NULL AUTO_INCREMENT, `Artist Name` VARCHAR(255) NOT НУЛ, ПЪРВЕН КЛЮЧ (`ArtistId`));-- ------------------------------------- ------------------ Таблица `Музика`.`Жанрове`-- ---------------------- -------------------------------ПРОПУСКАНЕ НА ТАБЛИЦА, АКО СЪЩЕСТВУВА `Музика`.`Жанрове`;СЪЗДАВАЙТЕ ТАБЛИЦА, АКО НЕ СЪЩЕСТВУВА `Музика `.`Genres` (`GenreId` INT NOT NULL AUTO_INCREMENT, `Genre` VARCHAR(255) НЕ NULL, PRIMARY KEY (`GenreId`));-- ---------------- ---------------------------------------- Таблица `Музика`.`Албуми`-- -------------------------------------------------- ---ПРОСТЪПНЕТЕ ТАБЛИЦА, АКО СЪЩЕСТВУВА `Музика`.`Албуми`;СЪЗДАЙТЕ ТАБЛИЦА, АКО НЕ СЪЩЕСТВУВА `Музика`.`Албуми` ( `AlbumId` INT NOT NULL AUTO_INCREMENT, `AlbumName` VARCHAR(255, DATE) NOT NULL DATE NOT NULL, `ArtistId` INT NOT NULL, `GenreId` INT NOT NULL, ПЪРВИЧЕН КЛЮЧ (`AlbumId`), INDEX `ArtistId_idx` (`ArtistId` ASC), INDEX `GenreId_idx` (`GenreI`), INDEX `GenreId_idx` (`GenreI`), ` FOREIGN KEY (`ArtistId`) РЕФЕРЕНЦИИ `Music`.`Artists` (`ArtistId`) ЗА ИЗТРИВАНЕ ОГРАНИЧЕНИЕ ЗА ОГРАНИЧЕНИЕ НА АКТУАЛИЗИРАНЕ, ОГРАНИЧЕНИЕ `GenreId` FOREIGN KEY (`GenreId` ) РЕФЕРЕНЦИИ `Музика`.`Жанрове` (`GenreId`) ПРИ ИЗТРИВАНЕ НА ОГРАНИЧЕНИЕТО ПРИ ОГРАНИЧЕНИЕ НА АКТУАЛИЗИРАНЕТО); 
  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL SERVER – Един трик за боравене с динамичен SQL за избягване на атака с инжектиране на SQL?

  2. Laravel Eloquent срещу конструктор на заявки - Защо да използвате eloquent за намаляване на производителността

  3. Как да получа първия ден от всеки съответен месец в mysql?

  4. Данните с отворен код нарастват:Избор на MySQL, NoSQL или и двете

  5. MySQL списък на всички процедури