Notes d'étude MySQL ------ type de données

#Types de données courants
/*
Type numérique :
    entier
    décimal : nombre
        à virgule fixe et
        flottant
Type de caractère :
    texte plus court : char, varchar
    Texte plus long : texte, blob (données binaires plus longues)

type de date :
    


*/

# 1. Classification Entier
/*
 :
tinyint, smallint, mediumint, int/integer, bigint
1 2 3 4 8

Caractéristiques :
① Si vous ne définissez pas non signé ou signé, la valeur par défaut est signée. Si vous souhaitez définir non signé, vous devez ajouter le mot-clé non signé. ② Si la valeur insérée
dépasse la plage de l'entier, une exception hors plage sera sera signalé et une valeur critique sera insérée. Valeur
③ Si la longueur n'est pas définie, il y aura une longueur par défaut.
La longueur représente la largeur maximale de l'écran. Si elle n'est pas suffisante, elle sera remplie de 0 sur la gauche, mais il faut l'utiliser avec zerofill !

*/

# 1. Comment définir non signé et signé

SUPPRIMER LA TABLE SI EXISTE tab_int;
CREATE TABLE tab_int(
    t1 INT(7) ZEROFILL,
    t2 INT(7) ZEROFILL 

);

DESC tab_int;


INSÉRER DANS tab_int VALEURS(-123456);
INSERT INTO tab_int VALUES(-123456,-123456);
INSÉRER DANS tab_int VALEURS(2147483648,4294967296);

INSERT INTO tab_int VALUES(123,123);


SELECT * FROM tab_int;


# 2. Classification décimale
/*
 :
1. Type à virgule flottante
float(M,D)
double(M,D)
2. Type à virgule fixe
dec(M,D)
decimal(M,D)

Caractéristiques:


M : partie entière + partie décimale
D : partie décimale
Si elle dépasse la plage, insérez une valeur critique


M et D peuvent être omis.
S'il est décimal, M est par défaut 10 et D par défaut 0.
S'il est float ou double, la précision sera déterminée en fonction de la précision de la valeur insérée.

③La précision du type à virgule fixe est élevée. Si la précision de la valeur insérée doit être élevée, comme le calcul de la devise, etc., envisagez de l'utiliser


*/
#test M et D

DROP TABLE tab_float;
CREATE TABLE tab_float(
    f1 FLOAT,
    f2 DOUBLE,
    f3 DECIMAL
);
SELECT * FROM tab_float;
DESC tab_float ;

INSÉRER DANS tab_float VALUES(123.4523,123.4523,123.4523);
INSÉRER DANS tab_float VALUES(123.456,123.456,123.456);
INSÉRER DANS tab_float VALUES(123.4,123.4,123.4);
INSÉRER DANS tab_float VALUES(1523.4,1523.4,1523.4);

#Principe :
/*
Plus le type sélectionné est simple, mieux c'est, et plus le type qui peut enregistrer la valeur est petit, mieux c'est

*/

# 3. Type de caractère
/*
Texte plus court :

char
varchar

autre:

binaire et varbinary sont utilisés pour contenir
des énumérations binaires plus courtes sont utilisés pour contenir
des ensembles d'énumérations sont utilisés pour contenir des collections


Texte plus long :
texte
blob (binaire plus grand)

Caractéristiques:

    La signification de l'écriture M Caractéristiques Consommation d'espace Efficacité
char char(M) Le nombre maximum de caractères peut être omis, la valeur par défaut est 1 Caractères de longueur fixe Relativement cher Élevé

varchar varchar(M) Le nombre maximum de caractères ne peut pas être omis. Les caractères de longueur variable sont plus économiques et plus faibles
*/

CREATE TABLE tab_char(
    c1 ENUM('a','b','c')


);


INSÉRER DANS tab_char VALUES('a');
INSÉRER DANS tab_char VALUES('b');
INSÉRER DANS tab_char VALUES('c');
INSÉRER DANS tab_char VALUES('m');
INSÉRER DANS tab_char VALUES('A');

SELECT * FROM tab_set ;

CREATE TABLE tab_set(

    s1 ENSEMBLE('a','b','c','d')

);
INSERT INTO tab_set VALUES('a');
INSERT INTO tab_set VALUES('A,B');
INSERT INTO tab_set VALUES('a,c,d');


# 4. Type de date

/*

Classification :
la date enregistre uniquement la date
l'heure enregistre uniquement l'heure
année enregistre uniquement l'année

datetime enregistre la date + l'heure
timestamp enregistre la date + l'heure


Caractéristiques:

        Influencé par la plage d'octets, le fuseau horaire, etc.
datetime 8 1000——9999 n'est pas affecté par
l'horodatage 4 1970-2038 n'est pas affecté

*/


CREATE TABLE tab_date(
    t1 DATETIME,
    t2 TIMESTAMP

);

INSERT INTO tab_date VALUES(MAINTENANT(),MAINTENANT());

SELECT * FROM tab_date ;


AFFICHER LES VARIABLES COMME 'time_zone' ;

SET time_zone='+9:00';

Je suppose que tu aimes

Origine blog.csdn.net/weixin_47156401/article/details/131930826
conseillé
Classement