Me encontraba diseñando una base de datos en MySQL y estaba teniendo muchos problemas al querer nombrar campos de una tabla con los nombres status y type, entonces me puse a revisar la documentación de MySQL y me di encontré la lista de palabras reservadas para MySQL explícitamente aunque muchas de ellas están prohibidas por SQL estándar como nombres de columna y/o tabla (por ejemplo,
GROUP). Algunas son reservadas porque MySQL las necesita y (frecuentemente) usa un analizador
sintáctico yacc. Una palabra reservada puede usarse como identificador si se entrecomilla.
Palabra | Palabra | Palabra |
---|---|---|
ADD | ALL | ALTER |
ANALYZE | AND | AS |
ASC | ASENSITIVE | BEFORE |
BETWEEN | BIGINT | BINARY |
BLOB | BOTH | BY |
CALL | CASCADE | CASE |
CHANGE | CHAR | CHARACTER |
CHECK | COLLATE | COLUMN |
CONDITION | CONNECTION | CONSTRAINT |
CONTINUE | CONVERT | CREATE |
CROSS | CURRENT_DATE | CURRENT_TIME |
CURRENT_TIMESTAMP | CURRENT_USER | CURSOR |
DATABASE | DATABASES | DAY_HOUR |
DAY_MICROSECOND | DAY_MINUTE | DAY_SECOND |
DEC | DECIMAL | DECLARE |
DEFAULT | DELAYED | DELETE |
DESC | DESCRIBE | DETERMINISTIC |
DISTINCT | DISTINCTROW | DIV |
DOUBLE | DROP | DUAL |
EACH | ELSE | ELSEIF |
ENCLOSED | ESCAPED | EXISTS |
EXIT | EXPLAIN | FALSE |
FETCH | FLOAT | FOR |
FORCE | FOREIGN | FROM |
FULLTEXT | GOTO | GRANT |
GROUP | HAVING | HIGH_PRIORITY |
HOUR_MICROSECOND | HOUR_MINUTE | HOUR_SECOND |
IF | IGNORE | IN |
INDEX | INFILE | INNER |
INOUT | INSENSITIVE | INSERT |
INT | INTEGER | INTERVAL |
INTO | IS | ITERATE |
JOIN | KEY | KEYS |
KILL | LEADING | LEAVE |
LEFT | LIKE | LIMIT |
LINES | LOAD | LOCALTIME |
LOCALTIMESTAMP | LOCK | LONG |
LONGBLOB | LONGTEXT | LOOP |
LOW_PRIORITY | MATCH | MEDIUMBLOB |
MEDIUMINT | MEDIUMTEXT | MIDDLEINT |
MINUTE_MICROSECOND | MINUTE_SECOND | MOD |
MODIFIES | NATURAL | NOT |
NO_WRITE_TO_BINLOG | NULL | NUMERIC |
ON | OPTIMIZE | OPTION |
OPTIONALLY | OR | ORDER |
OUT | OUTER | OUTFILE |
PRECISION | PRIMARY | PROCEDURE |
PURGE | READ | READS |
REAL | REFERENCES | REGEXP |
RENAME | REPEAT | REPLACE |
REQUIRE | RESTRICT | RETURN |
REVOKE | RIGHT | RLIKE |
SCHEMA | SCHEMAS | SECOND_MICROSECOND |
SELECT | SENSITIVE | SEPARATOR |
SET | SHOW | SMALLINT |
SONAME | SPATIA | SPECIFIC |
SQL | SQLEXCEPTION | SQLSTATE |
SQLWARNING | SQL_BIG_RESULT | SQL_CALC_FOUND_ROWS |
SQL_SMALL_RESULT | SSL | STARTING |
STRAIGHT_JOIN | TABLE | TERMINATED |
THEN | TINYBLOB | TINYINT |
TINYTEXT | TO | TRAILING |
TRIGGER | TRUE | UNDO |
UNION | UNIQUE | UNLOCK |
UNSIGNED | UPDATE | USAGE |
USE | USING | UTC_DATE |
UTC_TIME | UTC_TIMESTAMP | VALUES |
VARBINARY | VARCHAR | VARCHARACTER |
VARYING | WHEN | WHERE |
WHILE | WITH | WRITE |
XOR | YEAR_MONTH | ZEROFILL |
Pero cómo todo existen excepciones y MySQL permite que algunas palabras reservadas sean usadas como identificadores sin
entrecomillar porque mucha gente ya las usa. Ejemplos de esas palabras son las siguientes:
ACTION |
BIT |
DATE |
ENUM |
NO |
TEXT |
TIME |
TIMESTAMP |
Esto es una traducción del manual de MySQL extraido de conclase.net.
Seria de mucha utilidad si colocaras la descripcion de cada una de ellas
tengo una memoria de 2gb lo cual me empeso a funcionar muy bien pero de un dia para el otro se me craron carpetas con nombres raros y todas las carpetas que yo tenia me aprecian pero al entrar no tenia musica , yo las elimine. (Antes de que todo eso pase yo tenia ibre 4247 kb una ves que elimine todo me quedo 1980) siendo que todo lo mio habia desaparecido. sin saber que hacer despues de varios dias formatie la memoria y ahora me sigue quedado 1980 de espacio libre
ps no ms aki dejando una sugerencia ps digo no
que si ueden poner su definicion de cada palabra reservado par que se utiliza
asi como tambien ps su sintaxis
para apoyarnos mejor
gracias……
muy bueno el sitio pero suban el significado de cada palabra por fa
DEBE SER NECESARIO PONER SU DEFINICION DE CADA PALABRA …GRACIAS -!-