コマンドライン ユーティリティ(mysql)を使用して、 MySQL(5.x)のすべての予約語を一覧表示する方法はありますか?
3411 次
5 に答える
13
MySQL(5.x)にはmysqlスキーマがあります
クエリできます:
SELECT * FROM mysql.help_keyword;
于 2013-01-31T11:18:56.243 に答える
4
これが5.6までの完全なリストです...
DROP TABLE IF EXISTS reserved_words;
CREATE TABLE reserved_words (keyword VARCHAR(30) NOT NULL PRIMARY KEY);
INSERT INTO reserved_words VALUES
("ACCESSIBLE"),
("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"),
("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"),
("FLOAT4"),
("FLOAT8"),
("FOR"),
("FORCE"),
("FOREIGN"),
("FROM"),
("FULLTEXT"),
("GET"),
("GRANT"),
("GROUP"),
("HAVING"),
("HIGH_PRIORITY"),
("HOUR_MICROSECOND"),
("HOUR_MINUTE"),
("HOUR_SECOND"),
("IF"),
("IGNORE"),
("IN"),
("INDEX"),
("INFILE"),
("INNER"),
("INOUT"),
("INSENSITIVE"),
("INSERT"),
("INT"),
("INT1"),
("INT2"),
("INT3"),
("INT4"),
("INT8"),
("INTEGER"),
("INTERVAL"),
("INTO"),
("IO_AFTER_GTIDS"),
("IO_BEFORE_GTIDS"),
("IS"),
("ITERATE"),
("JOIN"),
("KEY"),
("KEYS"),
("KILL"),
("LEADING"),
("LEAVE"),
("LEFT"),
("LIKE"),
("LIMIT"),
("LINEAR"),
("LINES"),
("LOAD"),
("LOCALTIME"),
("LOCALTIMESTAMP"),
("LOCK"),
("LONG"),
("LONGBLOB"),
("LONGTEXT"),
("LOOP"),
("LOW_PRIORITY"),
("MASTER_BIND"),
("MASTER_SSL_VERIFY_SERVER_CERT"),
("MATCH"),
("MAXVALUE"),
("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"),
("PARTITION"),
("PRECISION"),
("PRIMARY"),
("PROCEDURE"),
("PURGE"),
("RANGE"),
("READ"),
("READS"),
("READ_WRITE"),
("REAL"),
("REFERENCES"),
("REGEXP"),
("RELEASE"),
("RENAME"),
("REPEAT"),
("REPLACE"),
("REQUIRE"),
("RESIGNAL"),
("RESTRICT"),
("RETURN"),
("REVOKE"),
("RIGHT"),
("RLIKE"),
("SCHEMA"),
("SCHEMAS"),
("SECOND_MICROSECOND"),
("SELECT"),
("SENSITIVE"),
("SEPARATOR"),
("SET"),
("SHOW"),
("SIGNAL"),
("SMALLINT"),
("SPATIAL"),
("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");
于 2013-01-31T11:23:51.650 に答える
0
私はそうは思わない。ドキュメントには、次の単語を含むテーブルの作成を提案するコメントがあります。
create table reserved_words (reserved_word varchar(50));
insert into reserved_words (reserved_word) values
('ACCESSIBLE'),
('ALTER'),
('AS'),
('BEFORE'),
('BINARY'),
('BY'),
('CASE'),
('CHARACTER'),
('COLUMN'),
('CONTINUE'),
('CROSS'),
('CURRENT_TIMESTAMP'),
('DATABASE'),
('DAY_MICROSECOND'),
('DEC'),
('DEFAULT'),
('DESC'),
('DISTINCT'),
('DOUBLE'),
('EACH'),
('ENCLOSED'),
('EXIT'),
('FETCH'),
('FLOAT8'),
('FOREIGN'),
('GRANT'),
('HIGH_PRIORITY'),
('HOUR_SECOND'),
('IN'),
('INNER'),
('INSERT'),
('INT2'),
('INT8'),
('INTO'),
('JOIN'),
('KILL'),
('LEFT'),
('LINEAR'),
('LOCALTIME'),
('LONG'),
('LOOP'),
('MATCH'),
('MEDIUMTEXT'),
('MINUTE_SECOND'),
('NATURAL'),
('NULL'),
('OPTIMIZE'),
('OR'),
('OUTER'),
('PRIMARY'),
('RANGE'),
('READ_WRITE'),
('REGEXP'),
('REPEAT'),
('RESTRICT'),
('RIGHT'),
('SCHEMAS'),
('SENSITIVE'),
('SHOW'),
('SPECIFIC'),
('SQLSTATE'),
('SQL_CALC_FOUND_ROWS'),
('STARTING'),
('TERMINATED'),
('TINYINT'),
('TRAILING'),
('UNDO'),
('UNLOCK'),
('USAGE'),
('UTC_DATE'),
('VALUES'),
('VARCHARACTER'),
('WHERE'),
('WRITE'),
('ZEROFILL'),
('ALL'),
('AND'),
('ASENSITIVE'),
('BIGINT'),
('BOTH'),
('CASCADE'),
('CHAR'),
('COLLATE'),
('CONSTRAINT'),
('CREATE'),
('CURRENT_TIME'),
('CURSOR'),
('DAY_HOUR'),
('DAY_SECOND'),
('DECLARE'),
('DELETE'),
('DETERMINISTIC'),
('DIV'),
('DUAL'),
('ELSEIF'),
('EXISTS'),
('FALSE'),
('FLOAT4'),
('FORCE'),
('FULLTEXT'),
('HAVING'),
('HOUR_MINUTE'),
('IGNORE'),
('INFILE'),
('INSENSITIVE'),
('INT1'),
('INT4'),
('INTERVAL'),
('ITERATE'),
('KEYS'),
('LEAVE'),
('LIMIT'),
('LOAD'),
('LOCK'),
('LONGTEXT'),
('MASTER_SSL_VERIFY_SERVER_CERT'),
('MEDIUMINT'),
('MINUTE_MICROSECOND'),
('MODIFIES'),
('NO_WRITE_TO_BINLOG'),
('ON'),
('OPTIONALLY'),
('OUT'),
('PRECISION'),
('PURGE'),
('READS'),
('REFERENCES'),
('RENAME'),
('REQUIRE'),
('REVOKE'),
('SCHEMA'),
('SELECT'),
('SET'),
('SPATIAL'),
('SQLEXCEPTION'),
('SQL_BIG_RESULT'),
('SSL'),
('TABLE'),
('TINYBLOB'),
('TO'),
('TRUE'),
('UNIQUE'),
('UPDATE'),
('USING'),
('UTC_TIMESTAMP'),
('VARCHAR'),
('WHEN'),
('WITH'),
('YEAR_MONTH'),
('ADD'),
('ANALYZE'),
('ASC'),
('BETWEEN'),
('BLOB'),
('CALL'),
('CHANGE'),
('CHECK'),
('CONDITION'),
('CONVERT'),
('CURRENT_DATE'),
('CURRENT_USER'),
('DATABASES'),
('DAY_MINUTE'),
('DECIMAL'),
('DELAYED'),
('DESCRIBE'),
('DISTINCTROW'),
('DROP'),
('ELSE'),
('ESCAPED'),
('EXPLAIN'),
('FLOAT'),
('FOR'),
('FROM'),
('GROUP'),
('HOUR_MICROSECOND'),
('IF'),
('INDEX'),
('INOUT'),
('INT'),
('INT3'),
('INTEGER'),
('IS'),
('KEY'),
('LEADING'),
('LIKE'),
('LINES'),
('LOCALTIMESTAMP'),
('LONGBLOB'),
('LOW_PRIORITY'),
('MEDIUMBLOB'),
('MIDDLEINT'),
('MOD'),
('NOT'),
('NUMERIC'),
('OPTION'),
('ORDER'),
('OUTFILE'),
('PROCEDURE'),
('READ'),
('REAL'),
('RELEASE'),
('REPLACE'),
('RETURN'),
('RLIKE'),
('SECOND_MICROSECOND'),
('SEPARATOR'),
('SMALLINT'),
('SQL'),
('SQLWARNING'),
('SQL_SMALL_RESULT'),
('STRAIGHT_JOIN'),
('THEN'),
('TINYTEXT'),
('TRIGGER'),
('UNION'),
('UNSIGNED'),
('USE'),
('UTC_TIME'),
('VARBINARY'),
('VARYING'),
('WHILE'),
('XOR')
;
于 2013-01-31T11:18:26.677 に答える
0
このスクリプトを作成して、各予約語をテストしました。これは、ドキュメントのすべての特殊性を理解するよりも簡単に実行できることがわかったためです。
#!/usr/bin/env bash
if ! $MYSQL_CMD -e 'select 1' > /dev/null; then
echo 'Failed to run query.'
exit 1;
fi
$MYSQL_CMD --skip-column-names -e 'select name from mysql.help_keyword' | grep -v '[^A-Z_0-9]' | while read -r k; do
$MYSQL_CMD -e "select 1 as $k" > /dev/null 2>&1 || echo "$k"
done
使用例:
MYSQL_CMD='mysql -uroot -proot -h127.0.0.1' ./mysql_keywords.sh
MySQL 5.7.34 の予約語のリストは次のとおりです。
ADD
ALL
ALTER
ANALYZE
AND
AS
ASC
BEFORE
BETWEEN
BINARY
BOTH
BY
CALL
CASCADE
CASE
CHANGE
CHAR
CHARACTER
CHECK
COLLATE
COLUMN
CONDITION
CONSTRAINT
CONTINUE
CONVERT
CREATE
CROSS
CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
CURRENT_USER
CURSOR
DATABASE
DATABASES
DAY_HOUR
DAY_MINUTE
DAY_SECOND
DEC
DECIMAL
DECLARE
DEFAULT
DELAYED
DELETE
DESC
DESCRIBE
DISTINCT
DISTINCTROW
DIV
DROP
DUAL
ELSE
ELSEIF
ENCLOSED
ESCAPED
EXISTS
EXIT
EXPLAIN
FALSE
FETCH
FLOAT4
FLOAT8
FOR
FORCE
FOREIGN
FROM
FULLTEXT
GET
GRANT
GROUP
HAVING
HIGH_PRIORITY
HOUR_MINUTE
HOUR_SECOND
IF
IGNORE
IN
INDEX
INFILE
INNER
INSERT
INT1
INT2
INT3
INT4
INT8
INTEGER
INTERVAL
INTO
IS
ITERATE
JOIN
KEY
KEYS
KILL
LEADING
LEAVE
LEFT
LIKE
LIMIT
LINES
LOAD
LOCALTIME
LOCALTIMESTAMP
LOCK
LONG
LOOP
LOW_PRIORITY
MASTER_BIND
MASTER_SSL_VERIFY_SERVER_CERT
MATCH
MIDDLEINT
MINUTE_SECOND
MOD
NATURAL
NOT
NO_WRITE_TO_BINLOG
NULL
NUMERIC
ON
OPTIMIZE
OPTIMIZER_COSTS
OPTION
OPTIONALLY
OR
ORDER
OUTER
OUTFILE
PARTITION
PRECISION
PRIMARY
PROCEDURE
PURGE
READ
REAL
REFERENCES
REGEXP
RELEASE
RENAME
REPEAT
REPLACE
REQUIRE
RESIGNAL
RESTRICT
RETURN
REVOKE
RIGHT
RLIKE
SCHEMA
SCHEMAS
SELECT
SEPARATOR
SET
SHOW
SIGNAL
SPATIAL
SQLSTATE
SQL_BIG_RESULT
SQL_CALC_FOUND_ROWS
SQL_SMALL_RESULT
SSL
STARTING
STORED
STRAIGHT_JOIN
TABLE
TERMINATED
THEN
TO
TRAILING
TRIGGER
TRUE
UNDO
UNION
UNIQUE
UNLOCK
UNSIGNED
UPDATE
USAGE
USE
USING
UTC_DATE
UTC_TIME
UTC_TIMESTAMP
VALUES
VARCHARACTER
VARYING
VIRTUAL
WHEN
WHERE
WHILE
WITH
WRITE
XOR
YEAR_MONTH
ZEROFILL
MySQL 8.0.24 の場合:
ADD
ALL
ALTER
ANALYZE
AND
AS
ASC
BEFORE
BETWEEN
BINARY
BOTH
BY
CALL
CASCADE
CASE
CHANGE
CHAR
CHARACTER
CHECK
COLLATE
COLUMN
CONDITION
CONSTRAINT
CONTINUE
CONVERT
CREATE
CROSS
CUME_DIST
CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
CURRENT_USER
CURSOR
DATABASE
DATABASES
DAY_HOUR
DAY_MINUTE
DAY_SECOND
DEC
DECIMAL
DECLARE
DEFAULT
DELAYED
DELETE
DENSE_RANK
DESC
DESCRIBE
DISTINCT
DISTINCTROW
DIV
DROP
DUAL
ELSE
ELSEIF
ENCLOSED
ESCAPED
EXCEPT
EXISTS
EXIT
EXPLAIN
FALSE
FETCH
FIRST_VALUE
FLOAT4
FLOAT8
FOR
FORCE
FOREIGN
FROM
FULLTEXT
FUNCTION
GET
GRANT
GROUP
GROUPING
HAVING
HIGH_PRIORITY
HOUR_MINUTE
HOUR_SECOND
IF
IGNORE
IN
INDEX
INFILE
INNER
INSERT
INT1
INT2
INT3
INT4
INT8
INTEGER
INTERVAL
INTO
IS
ITERATE
JOIN
JSON_TABLE
KEY
KEYS
KILL
LAG
LAST_VALUE
LEAD
LEADING
LEAVE
LEFT
LIKE
LIMIT
LINES
LOAD
LOCALTIME
LOCALTIMESTAMP
LOCK
LONG
LOOP
LOW_PRIORITY
MASTER_BIND
MASTER_SSL_VERIFY_SERVER_CERT
MATCH
MIDDLEINT
MINUTE_SECOND
MOD
NATURAL
NOT
NO_WRITE_TO_BINLOG
NTH_VALUE
NTILE
NULL
NUMERIC
OF
ON
OPTIMIZE
OPTIMIZER_COSTS
OPTION
OPTIONALLY
OR
ORDER
OUTER
OUTFILE
PARTITION
PERCENT_RANK
PRECISION
PRIMARY
PROCEDURE
PURGE
RANK
READ
REAL
REFERENCES
REGEXP
RELEASE
RENAME
REPEAT
REPLACE
REQUIRE
RESIGNAL
RESTRICT
RETURN
REVOKE
RIGHT
RLIKE
ROW
ROWS
ROW_NUMBER
SCHEMA
SCHEMAS
SELECT
SEPARATOR
SET
SHOW
SIGNAL
SPATIAL
SQLSTATE
SQL_BIG_RESULT
SQL_CALC_FOUND_ROWS
SQL_SMALL_RESULT
SSL
STARTING
STORED
STRAIGHT_JOIN
SYSTEM
TABLE
TERMINATED
THEN
TO
TRAILING
TRIGGER
TRUE
UNDO
UNION
UNIQUE
UNLOCK
UNSIGNED
UPDATE
USAGE
USE
USING
UTC_DATE
UTC_TIME
UTC_TIMESTAMP
VALUES
VARCHARACTER
VARYING
VIRTUAL
WHEN
WHERE
WHILE
WITH
WRITE
XOR
YEAR_MONTH
ZEROFILL
そして、5.7.34 と 8.0.24 の間に追加された予約語のみ:
CUME_DIST
DENSE_RANK
EXCEPT
FIRST_VALUE
FUNCTION
GROUPING
JSON_TABLE
LAG
LAST_VALUE
LEAD
NTH_VALUE
NTILE
OF
PERCENT_RANK
RANK
ROW
ROW_NUMBER
ROWS
SYSTEM
于 2021-09-13T15:16:16.473 に答える