MySQL Crea tabella - Come creare database in MySQL

Sommario:

Anonim

Passaggi per creare database in MySQL

Crea database in due modi

1) Eseguendo una semplice query SQL

2) Utilizzando l'ingegneria avanzata in MySQL Workbench

In questo tutorial SQL imparerai-

  • Come creare un database
  • Come creare una tabella in MySQL
  • Tipi di dati
  • Diagramma ER MySQL workbench forward Engineering

Come principiante SQL, esaminiamo prima il metodo di query.

Come creare un database

Ecco come creare un database in MySQL:

CREATE DATABASE è il comando SQL utilizzato per creare un database in MySQL.

Immagina di dover creare un database con il nome "film". È possibile creare un database in MySQL eseguendo il seguente comando SQL.

CREATE DATABASE movies; 

Nota: puoi anche usare il comando CREATE SCHEMA invece di CREATE DATABASE

Ora miglioriamo la nostra query SQL aggiungendo più parametri e specifiche.

SE NON ESISTE

Un singolo server MySQL potrebbe avere più database. Se non sei l'unico ad accedere allo stesso server MySQL o se hai a che fare con più database, è probabile che tenti di creare un nuovo database con il nome di un database esistente. SE NON ESISTE consente di istruire il server MySQL a verificare l'esistenza di un database con un nome simile prima di creare il database.

Quando viene utilizzato IF NOT EXISTS, il database viene creato solo se il nome fornito non è in conflitto con il nome di un database esistente. Senza l'uso di SE NON ESISTE, MySQL genera un errore.

CREATE DATABASE IF NOT EXISTS movies;

Regole di confronto e set di caratteri

Le regole di confronto sono un insieme di regole utilizzate in confronto. Molte persone usano MySQL per memorizzare dati diversi dall'inglese. I dati vengono archiviati in MySQL utilizzando un set di caratteri specifico. Il set di caratteri può essere definito a diversi livelli vale a dire, server, database, tabella e colonne.

È necessario selezionare le regole di confronto che a loro volta dipendono dal set di caratteri scelto.

Ad esempio, il set di caratteri Latin1 utilizza l'estensione

latin1_swedish_ci collation che è l'ordine svedese senza distinzione tra maiuscole e minuscole.
CREATE DATABASE IF NOT EXISTS movies CHARACTER SET latin1 COLLATE latin1_swedish_ci

La migliore pratica durante l'utilizzo di lingue locali come l'arabo, il cinese ecc. È quella di selezionare il set di caratteri Unicode (utf-8) che ha diverse regole di confronto o semplicemente attenersi alle regole di confronto predefinite utf8-general-ci.

Puoi trovare l'elenco di tutte le regole di confronto e i set di caratteri qui

È possibile visualizzare l'elenco dei database esistenti eseguendo il seguente comando SQL.

SHOW DATABASES

Come creare una tabella in MySQL

Il comando CREATE TABLE viene utilizzato per creare tabelle in un database

Le tabelle possono essere create utilizzando l' istruzione CREATE TABLE e in realtà ha la seguente sintassi.

CREATE TABLE [IF NOT EXISTS] `TableName` (`fieldname` dataType [optional parameters]) ENGINE = storage Engine; 

QUI

  • "CREATE TABLE" è il responsabile della creazione della tabella nel database.
  • "[IF NOT EXISTS]" è facoltativo e crea la tabella solo se non viene trovato alcun nome di tabella corrispondente.
  • "` fieldName` "è il nome del campo e" data Type "definisce la natura dei dati da memorizzare nel campo.
  • "[parametri facoltativi]" informazioni aggiuntive su un campo come "AUTO_INCREMENT", NOT NULL ecc.

Esempio di creazione di tabelle in MySQL

Di seguito è riportato un esempio MySQL per creare una tabella nel database:

CREATE TABLE IF NOT EXISTS `MyFlixDB`.`Members` (`membership_number` INT AUTOINCREMENT ,`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;

Ora vediamo quali sono i tipi di dati di MySQL. Puoi usarne uno qualsiasi a seconda delle tue necessità. Dovresti sempre cercare di non sottovalutare o sovrastimare il potenziale intervallo di dati durante la creazione di un database.

TIPI DI DATI

I tipi di dati definiscono la natura dei dati che possono essere archiviati in una particolare colonna di una tabella

MySQL ha 3 categorie principali di tipi di dati, vale a dire

  1. Numerico,
  2. Testo
  3. Appuntamento.

Tipi di dati numerici

I tipi di dati numerici vengono utilizzati per memorizzare valori numerici. È molto importante assicurarsi che l'intervallo dei dati sia compreso tra i limiti inferiore e superiore dei tipi di dati numerici.

TINYINT () Da -128 a 127 normale da
0 a 255 UNSIGNED.
PICCOLO () Da -32768 a 32767 normale da
0 a 65535 UNSIGNED.
MEDIUMINT () Da -8388608 a 8388607 normale da
0 a 16777215 UNSIGNED.
INT () Da -2147483648 a 2147483647 normale da
0 a 4294967295 NON SEGNATO .
BIGINT () -9223372036854775808 a 9223372036854775807 normale
0 a 18446744073709551615 NON SEGNATO.
GALLEGGIANTE Un piccolo numero approssimativo con un punto decimale mobile.
DOPPIO( , ) Un numero elevato con una virgola decimale mobile.
DECIMALE (,) Un DOUBLE memorizzato come stringa, che consente un punto decimale fisso. Scelta per memorizzare i valori di valuta.

Tipi di dati di testo

Come suggerisce il nome della categoria del tipo di dati, questi vengono utilizzati per memorizzare i valori di testo. Assicurati sempre che la lunghezza dei tuoi dati testuali non superi le lunghezze massime.

CHAR () Una sezione fissa da 0 a 255 caratteri.
VARCHAR () Una sezione variabile da 0 a 255 caratteri.
TINYTEXT Una stringa con una lunghezza massima di 255 caratteri.
TESTO Una stringa con una lunghezza massima di 65535 caratteri.
BLOB Una stringa con una lunghezza massima di 65535 caratteri.
TESTO MEDIO Una stringa con una lunghezza massima di 16777215 caratteri.
MEDIUMBLOB Una stringa con una lunghezza massima di 16777215 caratteri.
LONGTEXT Una stringa con una lunghezza massima di 4294967295 caratteri.
LONGBLOB Una stringa con una lunghezza massima di 4294967295 caratteri.

Appuntamento

DATA AAAA-MM-GG
APPUNTAMENTO AAAA-MM-GG HH: MM: SS
TIMESTAMP AAAAMMGGHHMMSS
TEMPO HH: MM: SS

Oltre a quanto sopra, ci sono altri tipi di dati in MySQL.

ENUM Per memorizzare il valore di testo scelto da un elenco di valori di testo predefiniti
IMPOSTATO Viene utilizzato anche per memorizzare i valori di testo scelti da un elenco di valori di testo predefiniti. Può avere più valori.
BOOL Sinonimo di TINYINT (1), utilizzato per memorizzare valori booleani
BINARIO Simile a CHAR, la differenza è che i testi vengono memorizzati in formato binario.
VARBINARIA Simile a VARCHAR, la differenza è che i testi vengono memorizzati in formato binario.

Vediamo ora una query per creare una tabella che contiene dati di tutti i tipi di dati. Studiatela e identificate come ogni tipo di dati è definito nell'esempio di MySQL della tabella di seguito.

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 ;

Migliori pratiche

  • Usa lettere maiuscole per le parole chiave SQL, ad esempio "DROP SCHEMA IF EXISTS` MyFlixDB`; "
  • Termina tutti i tuoi comandi SQL usando i punti e virgola.
  • Evita di utilizzare spazi nei nomi di schemi, tabelle e campi. Utilizza invece i trattini bassi per separare i nomi di schema, tabella o campo.

MySQL workbench ER diagramma forward engineering

MySQL workbench dispone di utilità che supportano l'ingegneria avanzata. Forward engineering è un termine tecnico per descrivere il processo di traduzione automatica di un modello logico in un attrezzo fisico .

Abbiamo creato un diagramma ER nel nostro tutorial sulla modellazione ER. Ora useremo quel modello ER per generare gli script SQL che creeranno il nostro database.

Creazione del database MyFlix dal modello MyFlix ER

1. Aprire il modello ER del database MyFlix creato nel tutorial precedente.

2. Fare clic sul menu del database. Seleziona forward engineer

3. La finestra successiva, ti permette di connetterti a un'istanza del server MySQL. Fare clic sull'elenco a discesa della connessione archiviata e selezionare l'host locale. Fare clic su Esegui

4. Selezionare le opzioni mostrate di seguito nella procedura guidata che appare. Fare clic su Avanti

5. La schermata successiva mostra il riepilogo degli oggetti nel nostro diagramma EER. Il nostro MyFlix DB ha 5 tabelle. Mantieni le selezioni predefinite e fai clic su Avanti.

6… Viene visualizzata la finestra mostrata di seguito. Questa finestra consente di visualizzare in anteprima lo script SQL per creare il nostro database. Possiamo salvare gli script in un file * .sql "o copiare gli script negli appunti. Fare clic sul pulsante Avanti

7. La finestra mostrata di seguito appare dopo aver creato con successo il database sull'istanza del server MySQL selezionata.

Sommario

  • La creazione di un database implica la traduzione del modello di progettazione del database logico nel database fisico.
  • MySQL supporta una serie di tipi di dati per valori numerici, date e stringhe.
  • Il comando CREATE DATABASE viene utilizzato per creare un database
  • Il comando CREATE TABLE viene utilizzato per creare tabelle in un database
  • MySQL workbench supporta l'ingegneria avanzata che implica la generazione automatica di script SQL dal modello di database logico che può essere eseguito per creare il database fisico

Il database insieme ai dati fittizi è allegato. Useremo questo DB per tutti i nostri ulteriori tutorial. Per iniziare, importa semplicemente il database in MySQL Workbench

Fare clic qui per scaricare MyFlixDB