Ahir vaig detectar que les contrasenyes dels usuaris de Klaku, amb SHA1 i un algoritme de cifrat propi, eren massa llargues, i necessitava ampliar les característiques del camp de les contrasenyes. Per això aquestos apunts d'ací baix per a canviar, des de la consola del terminal, alguns camps de les meues taules i les seues característiques.
La manera de renombrar el nom i les característiques d'un camp seria:
ALTER TABLE nom_de_la_taula CHANGE camp camp_canviar noves_propietats;
Tal com veieu a la captura del terminal, ho vaig fer amb:
ALTER TABLE uzanto CHANGE pasvorto pasvorto varchar(200);
Si vullguerem afegir una columna que siga la clau primària:
ALTER TABLE nom_de_la_taula ADD PRIMARY KEY(nom_columna);
Si vullguerem que una taula numèrica tinga un valor autoincremental a partir del número 390 (per exemple) seria:
ALTER TABLE nom_de_la_taula AUTO_INCREMENT=390;
Si volem canviar el nom i el tipus de data d'una columna (el primer exemple que he mostrat):
ALTER TABLE nom_de_la_taula CHANGE nom_antic_columna nom_nou_columna VARCHAR(20);
Si nomès volem canviar el tipus de data d'una columna:
ALTER TABLE nom_de_la_taula MODIFY nom_columna DATE NOT NULL;
Si vols saber les característiques completes dels camps d'una taula pots fer show create table nom_de_la_taula:
novajxo | CREATE TABLE `novajxo` (
`id_novajxo` int(11) NOT NULL AUTO_INCREMENT,
`dato` int(11) NOT NULL,
`uzanto` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL,
`titolo` varchar(140) COLLATE utf8_unicode_ci DEFAULT NULL,
`ligilo` varchar(200) COLLATE utf8_unicode_ci DEFAULT NULL,
`total_pozitivoj` int(6) DEFAULT NULL,
`total_malpozitivoj` int(6) DEFAULT NULL,
`etikedoj` varchar(140) COLLATE utf8_unicode_ci DEFAULT NULL,
`kategorio` varchar(70) COLLATE utf8_unicode_ci DEFAULT NULL,
`sxtato` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL,
`priskribo` text COLLATE utf8_unicode_ci,
PRIMARY KEY (`id_novajxo`)
) ENGINE=InnoDB AUTO_INCREMENT=10742 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
Un altre article interessant que vaig fer fa temps és Esborrar al vol totes les taules d'una base de dades MySQL. Espere que trobes útils aquestos apunts ;-)