English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Spiegazione dettagliata della creazione, eliminazione, selezione e utilizzo dei tipi di dati in MariaDB (MySQL)

Sezione 1: Introduzione a MariaDB (l'introduzione a MySQL è omessa)

        Il sistema di gestione del database MariaDB è un ramo di MySQL, mantenuto principalmente dalla comunità open source, e adotta la licenza GPL. L'obiettivo di MariaDB è essere completamente compatibile con MySQL, inclusi API e riga di comando, rendendolo facile da utilizzare come sostituto di MySQL. Nel campo del motore di archiviazione, utilizza XtraDB (in inglese: XtraDB) per sostituire InnoDB di MySQL. MariaDB è guidata dal fondatore di MySQL, Michael Widenius (in inglese: Michael Widenius), che in precedenza ha venduto la sua azienda MySQL AB a SUN per 1 miliardo di dollari, e con l'acquisizione di SUN da parte di Oracle, la proprietà di MySQL è passata nelle mani di Oracle. Il nome MariaDB deriva dal nome della figlia di Michael Widenius, Maria.

        MariaDB utilizza il motore di archiviazione basato su transazioni Maria, sostituendo il motore di archiviazione MyISAM di MySQL, utilizza XtraDB di Percona e la variante di InnoDB, i sviluppatori di ramo sperano di fornire l'accesso alle prestazioni InnoDB di MySQL 5.4 in arrivo. Questa versione include anche i motori di archiviazione PrimeBase XT (PBXT) e FederatedX.

Sezione 2: Creazione, eliminazione, selezione e utilizzo dei tipi di dati dettagliati di MariaDB (Nota: la demo di questo articolo è eseguita con privilegi di root)

(1) Creazione del database MariaDB

    1.1: Creazione del database utilizzando mysqladmin           

[root@test01 10.19.166.166 ~ ] 
# mysqladmin -u root -p create testdb1
Inserisci la password:  //Inserisci la password del database MariaDB
[root@test01 10.19.166.166 ~ ] 
# mysql
MariaDB [(nessuno)]> show databases;
+--------------------+
| Database         |
+--------------------+
| hellodb          |
| information_schema|
| mydb             |
| mysql            |
| performance_schema|
| test             |
| testdb           |
| testdb1      |<---Database creato
+--------------------+

   1.2: Accesso al database MariaDB per creare

MariaDB [(nessuno)]> create database testdb2;
Query OK, 1 riga influenzata (0.00 sec)
MariaDB [(nessuno)]> show databases;
+--------------------+
| Database         |
+--------------------+
| hellodb          |
| information_schema|
| mydb             |
| mysql            |
| performance_schema|
| test             |
| testdb           |
| testdb1      |
| testdb2      |<---Database creato
+--------------------+

(2) Eliminazione del database MariaDB

    2.1: Eliminazione del database utilizzando mysqladmin

[root@test01 10.19.166.166 ~ ] 
# mysqladmin -u root -p drop testdb1
Inserisci la password: //Inserisci la password del database
//Dopo aver eseguito il comando di eliminazione sopra, verrà visualizzata una finestra di dialogo che chiede di confermare l'eliminazione di questo database
Eliminare il database potrebbe essere una cosa molto negativa da fare.
Tutti i dati memorizzati nel database saranno distrutti.
Vuoi davvero eliminare il database 'testdb1' [s/N] s  //Elimina
Il database "testdb1" è stato eliminato

    Accesso e visualizzazione

MariaDB [(nessuno)]> show databases; //Conferma che testdb1 è stato eliminato 
+--------------------+
| Database         |
+--------------------+
| hellodb          |
| information_schema|
| mydb             |
| mysql            |
| performance_schema|
| test             |
| testdb           |
| testdb2      |
+--------------------+

  2.2: Accesso al database MariaDB per eliminare

MariaDB [(nessuno)]> drop database testdb2;
Query OK, 0 righe influenzate (0.00 sec)
MariaDB [(nessuno)]> show databases; //Conferma che testdb2 è stato eliminato
+--------------------+
| Database         |
+--------------------+
| hellodb          |
| information_schema|
| mydb             |
| mysql            |
| performance_schema|
| test             |
| testdb           |
+--------------------+

(3) Seleziona il database MariaDB e visualizza tutte le tabelle sotto il database selezionato

MariaDB [(nessuno)]> show databases; //Visualizza tutti i database
+--------------------+
| Database         |
+--------------------+
| hellodb          |
| information_schema|
| mydb             |
| mysql            |
| performance_schema|
| test             |
| testdb           |
+--------------------+
7 rows in set (0.00 sec)
MariaDB [(none)]> use mydb //Select the mydb database 
Database changed  
MariaDB [mydb]> show tables;  //View all table information under the mydb database
+----------------+
| Tables_in_mydb |
+----------------+
| ssc            |
| t1             |
| tb2            |
| tb4            |
| tb5            |
+----------------+
5 rows in set (0.00 sec)

(4) MariaDB data types
The data field types defined in MariaDB are very important for database optimization
MariaDB supports multiple types, which can be roughly divided into three categories: numeric, date/time, and string (character type)

   4.1 Numeric type

tipo dimensione Range (signed) Range (unsigned) utilizzo
TINYINT 1 byte (-128, 127) (0, 255) Small integer value
SMALLINT 2 byte (-32 768, 32 767) (0, 65 535) Large integer value
MEDIUMINT 3 byte (-8 388 608, 8 388 607) (0, 16 777 215) Large integer value
INT or INTEGER 4 byte (-2 147 483 648, 2 147 483 647) (0, 4 294 967 295) Large integer value
BIGINT 8 byte (-9 223 372 036 854 775 808, 9 223 372 036 854 775 807) (0, 18 446 744 073 709 551 615) Extremely large integer value
FLOAT 4 byte (-3.402 823 466 E+38, 1.175 494 351 E-38), 0, (1.175 494 351 E-38, 3.402 823 466 351 E+38) 0, (1.175 494 351 E-38, 3.402 823 466 E+38) precisione singola
valori a virgola mobile
DOUBLE 8 byte (1.797 693 134 862 315 7 E+308, 2.225 073 858 507 201 4 E-308), 0, (2.225 073 858 507 201 4 E-308, 1.797 693 134 862 315 7 E+308) 0, (2.225 073 858 507 201 4 E-308, 1.797 693 134 862 315 7 E+308) double precisione
valori a virgola mobile
DECIMAL per DECIMAL(M,D), se M>D, è M+2 altrimenti è D+2 dipende dai valori di M e D dipende dai valori di M e D valori decimali

    4.2 Tipi di data e ora

I tipi di data e ora che rappresentano i valori di tempo sono DATETIME, DATE, TIMESTAMP, TIME e YEAR.
Ogni tipo di tempo ha un intervallo di valori validi e un valore "zero", che viene utilizzato quando si specifica un valore non legittimo che MySQL non può rappresentare.
Il tipo TIMESTAMP ha una caratteristica di aggiornamento automatico speciale, che verrà descritta in seguito.

tipo dimensione (byte) intervallo formato utilizzo
DATE 3 01/01/1000/31/12/9999 YYYY-MM-DD valore di data
TIME 3 '-838:59:59'/'838:59:59' HH:MM:SS valore di tempo o durata
YEAR 1 1901/2155 YYYY valore dell'anno
DATETIME 8 01/01/1000 00:00:00/31/12/9999 23:59:59 YYYY-MM-DD HH:MM:SS valori misti di data e ora
TIMESTAMP 8 01/01/1970 00:00:00/2037 a un certo punto YYYYMMDD HHMMSS valori misti di data e ora, timestamp

      4.3 Tipi di stringa

I tipi di stringa sono CHAR, VARCHAR, BINARY, VARBINARY, BLOB, TEXT, ENUM e SET. Questa sezione descrive come funzionano questi tipi e come usarli nelle query.

tipo dimensione utilizzo
CHAR 0-255 byte stringa fissa
VARCHAR 0-255 byte stringa variabile
TINYBLOB 0-255 byte stringa binaria di lunghezza non superiore a 255 caratteri
TINYTEXT 0-255 byte stringa breve
BLOB 0-65 535 byte Dati testuali lunghi in forma binaria
TEXT 0-65 535 byte Dati testuali lunghi
MEDIUMBLOB 0-16 777 215 byte Dati testuali di lunghezza media in forma binaria
MEDIUMTEXT 0-16 777 215 byte Dati testuali di lunghezza media
LOGNGBLOB 0-4 294 967 295 byte Grandi dati testuali in forma binaria
LONGTEXT 0-4 294 967 295 byte Grandi dati testuali

I tipi CHAR e VARCHAR sono simili, ma conservano e recuperano in modo diverso. La loro lunghezza massima e se i spazi in coda vengono conservati sono diversi. Non si esegue una conversione di maiuscole e minuscole durante il processo di archiviazione o recupero.

Le classi BINARY e VARBINARY sono simili a CHAR e VARCHAR, ma contengono stringhe binarie invece di stringhe non binarie. Questo significa che contengono stringhe di byte invece di stringhe di caratteri. Questo implica che non hanno un set di caratteri e l'ordinamento e la comparazione sono basati sul valore numerico dei byte del valore della colonna.
BLOB è un oggetto grande binario, che può contenere una quantità variabile di dati. Ci sono 4 tipi di BLOB: TINYBLOB, BLOB, MEDIUMBLOB e LONGBLOB. La differenza tra di loro è solo la lunghezza massima dei valori che possono contenere.

Ci sono 4 tipi di TEXT: TINYTEXT, TEXT, MEDIUMTEXT e LONGTEXT. Questi corrispondono a 4 tipi di BLOB, con lunghezze massime e richieste di archiviazione identiche.

Dichiarazione: il contenuto di questo articolo è stato raccolto da Internet, di proprietà del rispettivo autore. Il contenuto è stato caricato autonomamente dagli utenti di Internet, il sito web non detiene i diritti di proprietà, non è stato editato manualmente e non assume responsabilità legali correlate. Se trovi contenuti sospetti di violazione del copyright, ti preghiamo di inviare una e-mail a: notice#oldtoolbag.com (al momento dell'invio dell'e-mail, sostituisci # con @) per segnalare il problema e fornire prove pertinenti. Una volta verificata, il sito eliminerà immediatamente il contenuto sospetto di violazione del copyright.

Ti potrebbe interessare