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
| Datentyp | Beschreibung |
|---|---|
| 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) |
| SERIAL | Gleiche 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. |
| DATE | Datum im Format YYYY-MM-DD, z. B. 2008-11-20 |
| TIME | Zeit im Format hh:mm:ss, z. B. 22:11:27 |
| DATETIME | Kombination aus DATE und TIME, z. B. 2008-11-20 22:11:27 |
| YEAR | Jahreszahl im Bereich 1900–2155 |
| TIMESTAMP | Datum 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. |
| TINYTEXT | Zeichenkette mit variabler Länge bis zu 255 Zeichen |
| TEXT | Zeichenkette mit variabler Länge bis zu Zeichen |
| MEDIUMTEXT | Zeichenkette mit variabler Länge bis zu Zeichen |
| LONGTEXT | Zeichenkette 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.