Deklarieren

DECLARE i INT;
SET i = 10;

Beispiele

DELIMITER || 
CREATE PROCEDURE sp_demo_variables() 
BEGIN 
	DECLARE v_int INT DEFAULT -10; 
	DECLARE v_int_positiv INT UNSIGNED default 300; 
	DECLARE v_bigint1 BIGINT DEFAULT 4000000000000000; 
	
	DECLARE v_float FLOAT DEFAULT 1.5e8; 
	DECLARE v_double DOUBLE DEFAULT 2e40; 
	DECLARE v_numeric NUMERIC(10,2) DEFAULT 21.35; 
	
	DECLARE v_date DATE DEFAULT '2021-09-14'; 
	DECLARE v_datetime DATETIME DEFAULT '2021-09-14 23:59:59'; 
	
	DECLARE v_char CHAR(255) DEFAULT 'immer 255 Zeichen'; 
	DECLARE v_varchar VARCHAR(255) DEFAULT 'variabler Text'; 
	DECLARE v_text TEXT DEFAULT 'Ein sehr langer Text'; 
END|| 
DELIMITER ;

Werte setzen und ändern

DELIMITER || 
CREATE PROCEDURE sp_demo_variables_assignment() 
	BEGIN DECLARE i,j,k INTEGER; SET i = 10; -- Werte auf 10 setzen 
	SELECT i,j,k; -- Ausgabe: 10,NULL,NULL 
	SET i = 1, j = 2,k = 3; -- Werte ändern 
	SELECT i,j,k; -- Ausgabe: 1,2,3 
END|| 
DELIMITER ;

Datentypen

DatentypBeschreibung
TINYINT(m)8-Bit-Ganzzahl (-128 bis +127); die optionale Angabe m gibt die gewünschte Spaltenbreite bei der Ausgabe von SELECT-Ergebnissen an.
SMALLINT(m)16-Bit-Ganzzahl (-32768 bis +32767)
MEDIUMINT(m)24-Bit-Ganzzahl (-8388608 bis +8388607)
INT(m), INTEGER(m)32-Bit-Ganzzahl (-2147483648 bis +2147483647)
BIGINT(m)64-Bit-Ganzzahl (±9,22 × 10^18)
SERIALGleiche Bedeutung wie BIGINT AUTO_INCREMENT NOT NULL PRIMARY KEY
FLOAT(m,d)4-Byte-Fließkommazahl; m ist die Anzahl der Stellen insgesamt und d die Anzahl der Stellen nach dem Dezimalpunkt.
DOUBLE(m,d), REAL(m,d)8-Byte-Fließkommazahl
DECIMAL(p,s), NUMERIC(p,s)Festkommazahl; p gibt die gesamte Stellenanzahl an, s gibt die Anzahl der Nachkommastellen an.
DATEDatum im Format YYYY-MM-DD, z. B. 2008-11-20
TIMEZeit im Format hh:mm:ss, z. B. 22:11:27
DATETIMEKombination aus DATE und TIME, z. B. 2008-11-20 22:11:27
YEARJahreszahl im Bereich 1900–2155
TIMESTAMPDatum und Zeit im Format von DATETIME. Diese Zeitangabe wird von MySQL automatisch bei jeder Änderung aktualisiert.
CHAR(n)Zeichenkette mit vorgegebener Länge n; maximaler Wert für n: 255
VARCHAR(n)Zeichenkette mit variabler Länge. Es sind maximal n Zeichen möglich.
TINYTEXTZeichenkette mit variabler Länge bis zu 255 Zeichen
TEXTZeichenkette mit variabler Länge bis zu Zeichen
MEDIUMTEXTZeichenkette mit variabler Länge bis zu Zeichen
LONGTEXTZeichenkette mit variabler Länge bis zu Zeichen

Benutzervariablen

Sind im Prinzip Globale Variabeln

SELECT 'Ich bin eine Benutzer-Variable:' into @message;
SELECT @message;
SET @message = 5;

Auf Benutzervariablen kann von überall zugegriffen werden.