首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

MySQL、Oracle、SQL Server 保留關鍵字完整對照表

     編輯:關於SqlServer

資料庫設計時,避免使用保留關鍵字作為資料表、欄位名稱,可防止語法錯誤與相容性問題。本文彙整 MySQL 5.7、Oracle、SQL Server 三大主流資料庫的保留關鍵字清單,並補充 ODBC 標準與未來可能保留的關鍵字,供開發人員查閱參考。

MySQL 5.7 保留關鍵字

官方參考:MySQL Keywords and Reserved Words

關鍵字標記說明:(R) 表示保留字,[a]-[ag] 為版本相關註記。以下節錄常用關鍵字:

ACCESSIBLE(R)  ACCOUNT  ACTION  ADD(R)  AFTER  AGAINST  ALTER(R)  ALWAYS
ANALYZE(R)  AND(R)  ANY  AS(R)  ASC(R)  ASENSITIVE(R)  AUTO_INCREMENT
BETWEEN(R)  BIGINT(R)  BINARY(R)  BLOB(R)  BOTH(R)  BY(R)  CALL(R)
CASCADE(R)  CASE(R)  CHANGE(R)  CHAR(R)  CHARACTER(R)  CHECK(R)  COLLATE(R)
COLUMN(R)  COLUMNS  COMMENT  COMMIT  COMMITTED  CONSTRAINT(R)  CREATE(R)
CROSS(R)  CURRENT_DATE(R)  CURRENT_TIME(R)  CURRENT_TIMESTAMP(R)  CURRENT_USER(R)
CURSOR(R)  DATABASE(R)  DATABASES(R)  DATE  DATETIME  DAY  DEC(R)  DECIMAL(R)
DECLARE(R)  DEFAULT(R)  DELAYED(R)  DELETE(R)  DESC(R)  DESCRIBE(R)  DISTINCT(R)
DISTINCTROW(R)  DIV(R)  DOUBLE(R)  DROP(R)  DUAL(R)  ELSE(R)  ELSEIF(R)
ENCLOSED(R)  END  ENGINE  ENGINES  ENUM  ERROR  ERRORS  ESCAPE  ESCAPED(R)
EXISTS(R)  EXIT(R)  EXPLAIN(R)  FALSE(R)  FETCH(R)  FLOAT(R)  FOR(R)  FORCE(R)
FOREIGN(R)  FROM(R)  FULLTEXT(R)  GRANT(R)  GROUP(R)  HAVING(R)  HIGH_PRIORITY(R)
HOST  IDENTIFIED  IF(R)  IGNORE(R)  IN(R)  INDEX(R)  INDEXES  INFILE(R)
INNER(R)  INOUT(R)  INSENSITIVE(R)  INSERT(R)  INT(R)  INTEGER(R)  INTERVAL(R)
INTO(R)  IS(R)  ISOLATION  JOIN(R)  KEY(R)  KEYS(R)  KILL(R)  LEADING(R)
LEAVE(R)  LEFT(R)  LIKE(R)  LIMIT(R)  LINES(R)  LOAD(R)  LOCALTIME(R)  LOCALTIMESTAMP(R)
LOCK(R)  LONG(R)  LONGBLOB(R)  LONGTEXT(R)  LOOP(R)  LOW_PRIORITY(R)  MASTER
MATCH(R)  MAXVALUE(R)  MEDIUMBLOB(R)  MEDIUMINT(R)  MEDIUMTEXT(R)  MINUTE
MOD(R)  NATURAL(R)  NCHAR  NO(R)  NOT(R)  NULL(R)  NUMERIC(R)  NVARCHAR
OFFSET  ON(R)  ONLY  OPEN  OPTIMIZE(R)  OPTION(R)  OPTIONALLY(R)  OR(R)
ORDER(R)  OUT(R)  OUTER(R)  OUTFILE(R)  PARTITION(R)  PASSWORD  PRECISION(R)
PRIMARY(R)  PRIVILEGES  PROCEDURE(R)  PROCESSLIST  PURGE(R)  RANGE(R)
READ(R)  READS(R)  READ_ONLY  READ_WRITE(R)  REAL(R)  REFERENCES(R)  REGEXP(R)
RELAY  RELEASE(R)  RENAME(R)  REPEAT(R)  REPLACE(R)  REQUIRE(R)  RESTRICT(R)
RETURN(R)  RETURNS  REVOKE(R)  RIGHT(R)  RLIKE(R)  ROLLBACK  ROLLUP  ROW
ROWS  SCHEMA(R)  SCHEMAS(R)  SECOND  SELECT(R)  SENSITIVE(R)  SEPARATOR(R)
SERIAL  SET(R)  SHOW(R)  SHUTDOWN  SIGNAL(R)  SMALLINT(R)  SNAPSHOT  SOME
SPATIAL(R)  SPECIFIC(R)  SQL(R)  SQLEXCEPTION(R)  SQLSTATE(R)  SQLWARNING(R)
SSL(R)  START  STARTING(R)  STATS_AUTO_RECALC  STATS_PERSISTENT  STATUS
STOP  STORAGE  STORED(R)  STRAIGHT_JOIN(R)  TABLE(R)  TABLES  TABLESPACE
TEMPORARY  TEMPTABLE  TERMINATED(R)  TEXT  THAN  THEN(R)  TIME  TIMESTAMP
TINYBLOB(R)  TINYINT(R)  TINYTEXT(R)  TO(R)  TRAILING(R)  TRANSACTION  TRIGGER(R)
TRIGGERS  TRUE(R)  TRUNCATE  UNCOMMITTED  UNION(R)  UNIQUE(R)  UNKNOWN
UNLOCK(R)  UNSIGNED(R)  UNTIL  UPDATE(R)  USAGE(R)  USE(R)  USER  USER_RESOURCES
USING(R)  UTC_DATE(R)  UTC_TIME(R)  UTC_TIMESTAMP(R)  VALUES(R)  VARBINARY(R)
VARCHAR(R)  VARCHARACTER(R)  VARYING(R)  VIEW  VIRTUAL(R)  WAIT  WARNINGS
WEEK  WHEN(R)  WHERE(R)  WHILE(R)  WITH(R)  WORK  WRITE(R)  XOR(R)  YEAR
YEAR_MONTH(R)  ZEROFILL(R)

Oracle 保留關鍵字

查詢方式:SELECT * FROM v$reserved_words ORDER BY keyword ASC

包含運算子(! != & ( ) * + , - . / : ; < <= = > >= @)、PL/SQL 關鍵字、SQL 指令、資料型別、提示、系統函數等數千個關鍵字。完整清單極長,建議直接查詢系統視圖或參考 Oracle 官方文件。

SQL Server 保留關鍵字

官方參考:Reserved Keywords (Transact-SQL)

主要分類:

  • Transact-SQL 保留字:ADD, ALL, ALTER, AND, ANY, AS, ASC, AUTHORIZATION, BACKUP, BEGIN, BETWEEN, BREAK, BROWSE, BULK, BY, CASCADE, CASE, CHECK, CHECKPOINT, CLOSE, CLUSTERED, COALESCE, COLLATE, COLUMN, COMMIT, COMPUTE, CONSTRAINT, CONTAINS, CONTINUE, CONVERT, CREATE, CROSS, CURRENT, CURSOR, DATABASE, DBCC, DEALLOCATE, DECLARE, DEFAULT, DELETE, DENY, DESC, DISK, DISTINCT, DISTRIBUTED, DOUBLE, DROP, DUMP, ELSE, END, ERRLVL, ESCAPE, EXCEPT, EXEC, EXECUTE, EXISTS, EXIT, FETCH, FILE, FILLFACTOR, FOR, FOREIGN, FREETEXT, FROM, FULL, FUNCTION, GOTO, GRANT, GROUP, HAVING, HOLDLOCK, IDENTITY, IDENTITY_INSERT, IDENTITYCOL, IF, INDEX, INNER, INSERT, INTERSECT, INTO, IS, JOIN, KEY, KILL, LEFT, LIKE, LINENO, LOAD, MERGE, NATIONAL, NOCHECK, NONCLUSTERED, NOT, NULL, NULLIF, OF, OFF, OFFSETS, ON, OPEN, OPENDATASOURCE, OPENQUERY, OPENROWSET, OPENXML, OPTION, OR, ORDER, OUTER, OVER, PERCENT, PIVOT, PLAN, PRECISION, PRIMARY, PRINT, PROC, PROCEDURE, PUBLIC, RAISERROR, READ, READTEXT, RECONFIGURE, REFERENCES, REPLICATION, RESTORE, RESTRICT, RETURN, REVERT, REVOKE, RIGHT, ROLLBACK, ROWCOUNT, ROWGUIDCOL, RULE, SAVE, SCHEMA, SECURITYAUDIT, SELECT, SEMANTICKEYPHRASETABLE, SESSION_USER, SET, SETUSER, SHUTDOWN, SOME, STATISTICS, SYSTEM_USER, TABLE, TABLESAMPLE, TEXTSIZE, THEN, TO, TOP, TRAN, TRANSACTION, TRIGGER, TRUNCATE, TRY_CONVERT, TSEQUAL, UNION, UNIQUE, UNPIVOT, UPDATE, UPDATETEXT, USE, USER, VALUES, VARYING, VIEW, WAITFOR, WHEN, WHERE, WHILE, WITH, WITHIN GROUP, WRITETEXT
  • ODBC 保留字:ABSOLUTE, ACTION, ADA, ADD, ALL, ALLOCATE, ALTER, AND, ANY, ARE, AS, ASC, ASSERTION, AT, AUTHORIZATION, AVG, BEGIN, BETWEEN, BIT, BIT_LENGTH, BOTH, BY, CASCADE, CASCADED, CASE, CAST, CATALOG, CHAR, CHAR_LENGTH, CHARACTER, CHARACTER_LENGTH, CHECK, CLOSE, COALESCE, COLLATE, COLLATION, COLUMN, COMMIT, CONNECT, CONNECTION, CONSTRAINT, CONSTRAINTS, CONTINUE, CONVERT, CORRESPONDING, COUNT, CREATE, CROSS, CURRENT, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, CURRENT_USER, CURSOR, DATE, DAY, DEALLOCATE, DEC, DECIMAL, DECLARE, DEFAULT, DEFERRABLE, DEFERRED, DELETE, DESC, DESCRIBE, DESCRIPTOR, DIAGNOSTICS, DISCONNECT, DISTINCT, DOMAIN, DOUBLE, DROP, ELSE, END, END-EXEC, ESCAPE, EXCEPT, EXCEPTION, EXEC, EXECUTE, EXISTS, EXTERNAL, EXTRACT, FALSE, FETCH, FIRST, FLOAT, FOR, FOREIGN, FOUND, FROM, FULL, GET, GLOBAL, GO, GOTO, GRANT, GROUP, HAVING, HOUR, IDENTITY, IMMEDIATE, IN, INDEX, INDICATOR, INITIALLY, INNER, INPUT, INSENSITIVE, INSERT, INT, INTEGER, INTERSECT, INTERVAL, INTO, IS, ISOLATION, JOIN, KEY, LANGUAGE, LAST, LEADING, LEFT, LEVEL, LIKE, LOCAL, LOWER, MATCH, MAX, MIN, MINUTE, MODULE, MONTH, NAMES, NATIONAL, NATURAL, NCHAR, NEXT, NO, NONE, NOT, NULL, NULLIF, NUMERIC, OCTET_LENGTH, OF, ON, ONLY, OPEN, OPTION, OR, ORDER, OUTER, OUTPUT, OVERLAPS, PAD, PARAMETER, PARAMETERS, PARTIAL, PASCAL, POSITION, PRECISION, PREPARE, PRESERVE, PRIMARY, PRIOR, PRIVILEGES, PROCEDURE, PUBLIC, READ, REAL, REFERENCES, RELATIVE, RESTRICT, REVOKE, RIGHT, ROLLBACK, ROWS, SCHEMA, SCROLL, SECOND, SECTION, SELECT, SESSION, SESSION_USER, SET, SIZE, SMALLINT, SOME, SPACE, SQL, SQLCA, SQLCODE, SQLERROR, SQLSTATE, SQLWARNING, SUBSTRING, SUM, SYSTEM_USER, TABLE, TEMPORARY, THEN, TIME, TIMESTAMP, TIMEZONE_HOUR, TIMEZONE_MINUTE, TO, TRAILING, TRANSACTION, TRANSLATE, TRANSLATION, TRIM, TRUE, UNION, UNIQUE, UNKNOWN, UPDATE, UPPER, USAGE, USER, USING, VALUE, VALUES, VARCHAR, VARYING, VIEW, WHEN, WHENEVER, WHERE, WITH, WORK, WRITE, YEAR, ZONE
  • 未來可能保留字:ABSOLUTE, ACTION, ADMIN, AFTER, AGGREGATE, ALIAS, ALLOCATE, ARE, ARRAY, ASENSITIVE, ASSERTION, ASYMMETRIC, ATOMIC, BEFORE, BINARY, BLOB, BOOLEAN, BOTH, BREADTH, CALL, CALLED, CARDINALITY, CASCADED, CAST, CATALOG, CHAR, CHARACTER, CLASS, CLOB, COLLATION, COLLECT, COMPLETION, CONDITION, CONNECT, CONNECTION, CONSTRAINTS, CONSTRUCTOR, CORR, CORRESPONDING, COVAR_POP, COVAR_SAMP, CUBE, CUME_DIST, CURRENT_CATALOG, CURRENT_DEFAULT_TRANSFORM_GROUP, CURRENT_PATH, CURRENT_ROLE, CURRENT_SCHEMA, CURRENT_TRANSFORM_GROUP_FOR_TYPE, CYCLE, DATA, DATE, DAY, DEC, DECIMAL, DEFERRABLE, DEFERRED, DEPTH, DEREF, DESCRIBE, DESCRIPTOR, DESTROY, DESTRUCTOR, DETERMINISTIC, DICTIONARY, DIAGNOSTICS, DISCONNECT, DOMAIN, DYNAMIC, EACH, ELEMENT, END-EXEC, EQUALS, EVERY, EXCEPTION, FALSE, FILTER, FIRST, FLOAT, FOUND, FREE, FULLTEXTTABLE, FUSION, GENERAL, GET, GLOBAL, GO, GROUPING, HOLD, HOST, HOUR, IGNORE, IMMEDIATE, INDICATOR, INITIALIZE, INITIALLY, INOUT, INPUT, INT, INTEGER, INTERSECTION, INTERVAL, ISOLATION, ITERATE, LANGUAGE, LARGE, LAST, LATERAL, LEADING, LESS, LEVEL, LIKE_REGEX, LIMIT, LN, LOCAL, LOCALTIME, LOCALTIMESTAMP, LOCATOR, MAP, MATCH, MEMBER, METHOD, MINUTE, MOD, MODIFIES, MODIFY, MODULE, MONTH, MULTISET, NAMES, NATURAL, NCHAR, NCLOB, NEW, NEXT, NO, NONE, NORMALIZE, NOT, OBJECT, OCCURRENCES_REGEX, OLD, ONLY, OPERATION, ORDINALITY, OUT, OUTPUT, OVERLAY, PAD, PARAMETER, PARAMETERS, PARTIAL, PARTITION, PATH, PERCENT_RANK, PERCENTILE_CONT, PERCENTILE_DISC, PERCENT_RANK, POSTFIX, PREFIX, PREORDER, PREPARE, PRESERVE, PRIOR, PRIVILEGES, RANGE, READS, REAL, RECURSIVE, REF, REFERENCING, REGR_AVGX, REGR_AVGY, REGR_COUNT, REGR_INTERCEPT, REGR_R2, REGR_SLOPE, REGR_SXX, REGR_SXY, REGR_SYY, RELATIVE, RELEASE, RESULT, RETURNS, ROLE, ROLLUP, ROUTINE, ROW, ROWS, SAVEPOINT, SCOPE, SCROLL, SEARCH, SECOND, SECTION, SEQUENCE, SESSION, SETS, SIMILAR, SIZE, SMALLINT, SPECIFIC, SPECIFICTYPE, SQL, SQLEXCEPTION, SQLSTATE, SQLWARNING, START, STATE, STATEMENT, STATIC, STDDEV_POP, STDDEV_SAMP, STRUCTURE, SUBMULTISET, SUBSTRING_REGEX, SUM, SYMMETRIC, SYSTEM, TEMPORARY, TERMINATE, THAN, TIME, TIMESTAMP, TIMEZONE_HOUR, TIMEZONE_MINUTE, TRAILING, TRANSLATE_REGEX, TRANSLATION, TREAT, TRUE, UESCAPE, UNDER, UNKNOWN, UNNEST, USAGE, USING, VALUE, VALUES, VAR_POP, VAR_SAMP, VARCHAR, VARIABLE, VARYING, WHENEVER, WIDTH_BUCKET, WINDOW, WITHIN, WITHOUT, WORK, WRITE, XMLAGG, XMLATTRIBUTES, XMLBINARY, XMLCAST, XMLCOMMENT, XMLCONCAT, XMLDOCUMENT, XMLELEMENT, XMLEXISTS, XMLFOREST, XMLITERATE, XMLNAMESPACES, XMLPARSE, XMLPI, XMLQUERY, XMLSERIALIZE, XMLTABLE, XMLTEXT, XMLVALIDATE, YEAR, ZONE

最佳實務建議

  1. 命名物件時,優先使用有意義的英文單字組合,避免單一關鍵字。
  2. 若必須使用關鍵字,SQL Server 可用方括號 [keyword],MySQL 用反引號 `keyword`,Oracle 用雙引號 "keyword" 包裹。
  3. 定期查閱官方文件,因版本升級可能新增保留字。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved