DDL - Creació de Taules i Restriccions
Mariadb permet definir molts tipus de dades diferents que podem classificar en:
-
Numèrics
-
Strings
-
Dia i hora
-
Altres
Ens centrarem només en els més habituals:
Tipus de dades comuns
Numèrics
INT: Valors enters entre -2147483648 i 2147483647 (per defecte és amb signe)
DECIMAL(M, D): Nombre decimal on especifiquem M com el nombre màxim de dígits (65) i dins d’aquests, D com el nombre de decimals (màxim 30) dins del total M.
Strings
CHAR(M): Tamany fixe on M representa el tamany en caràcters. El rang de M és de 0 a 255. Si no especifiquem M, la longitut és 1.
VARCHAR(M): Tamany variable. El valor màxim a indicar, M, és 65532. Compte ja que si el camp admet valors de tipus utf8 llavors
el màxim és 21,844 ja que cada caràcter pot arribar a ocupar 3 bytes.
Dia i Hora
DATE: Rang entre 1000-01-01 i 9999-12-31
(format AAAA-MM-DD).
TIME: Rang entre -838:59:59.999999 i
838:59:59.999999, inclou μs.
DATETIME: Rang entre 1000-01-01
00:00:00.000000 i 9999-12-31 23:59:59.999999.
Per a valors grans de Text o Binaris:
LONGTEXT: Text fins a 4.294.967.295 bytes o 4 GB. (231 - 1)
LONGBLOB: Dades binàries fins a 4.294.967.295 bytes o 4 GB. (231 - 1)
Exemple de creació d'una taula
CREATE TABLE T1 (
C1 INT(4) PRIMARY KEY AUTO_INCREMENT,
C2 VARCHAR(50) NOT NULL,
C3 CHAR(2) NULL DEFAULT 'ES',
C4 DECIMAL(10,2) NOT NULL CHECK (c4 > 0),
C5 LONGTEXT NULL,
C6 LONGBLOB NULL,
C7 DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
);