Salta el contingut

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
);