Tous les produits
Search
Centre de documentation

Lindorm:Structure lexicale de Lindorm SQL

Dernière mise à jour :Aug 11, 2026

Une instruction SQL est une séquence de jetons se terminant par un point-virgule (;). Les jetons sont séparés par des espaces, des tabulations ou des sauts de ligne. Ils peuvent être des mots clés, des identifiants, des constantes ou des caractères spéciaux.

Identifiants

Un identifiant désigne un objet de données tel qu'une base de données, une table ou une colonne. Lindorm SQL utilise des accents graves (` ``) pour délimiter les identifiants.

Type d'identifiant Règles Exemple
Non délimité Doit commencer par une lettre ; ne peut contenir que des lettres, des chiffres et des traits de soulignement (_) employee_name
Délimité Entouré d'accents graves ; peut contenir n'importe quels caractères ` Employee Name `

Pour séparer les objets de données à différents niveaux, utilisez un point (.). Par exemple, db.tbl fait référence à la table tbl dans la base de données db.

Identifiants valides et invalides

Valide Invalide Raison
orders, user_id, tbl1 1table, my-table, user name Les identifiants non délimités doivent commencer par une lettre et ne contenir que des lettres, des chiffres et des traits de soulignement
` 1table , my-table , user name ` Les identifiants délimités acceptent tous les caractères
Important

Outre ces règles lexicales, les identifiants doivent également respecter les contraintes du moteur Lindorm spécifique utilisé :

Constantes

Lindorm SQL prend en charge deux types de constantes : les constantes de chaîne et les constantes numériques.

Constantes de chaîne

Une constante de chaîne est une séquence de caractères entourée de guillemets simples ('). Exemple : 'This is a string'.

Caractères d'échappement (pris en charge à partir de la version SQL 2.8.4.8)

À partir de la version SQL 2.8.4.8, l'analyseur SQL interprète la barre oblique inverse (\) comme un caractère d'échappement selon le caractère qui suit.

Séquence d'échappement Caractère
\0 ASCII NUL (X'00')
\' Guillemet simple (')
\" Guillemet double (")
\\ Barre oblique inverse (\)
\Z ASCII 26 (Control-Z)
\r Retour chariot
\n Saut de ligne

Pour traiter les barres obliques inverses comme des caractères ordinaires plutôt que comme des séquences d'échappement, définissez le paramètre SQL_MODE sur NO_BACKSLASH_ESCAPES. Pour plus de détails, reportez-vous à la section Variables de session.

Remarque
  • Pour vérifier la version SQL utilisée, consultez la page Versions SQL.

  • Les séquences d'échappement s'appliquent uniquement aux constantes de chaîne dans les instructions SQL. Les paramètres des instructions préparées ne sont pas échappés.

Constantes numériques

Format Description Exemple
digits Un ou plusieurs chiffres décimaux (0–9) 42
digitse[+-]digits Contient un indicateur d'exposant (e) 4e3
digits.[digits][e[+-]digits] Contient un point décimal (.) et un exposant facultatif 5.3e2
[digits].digits[e[+-]digits] Point décimal au début
Important
  • Une constante numérique ne peut pas contenir d'espaces ni de caractères étrangers aux formats ci-dessus.

  • Si une constante numérique contient un point décimal (.), au moins un chiffre doit le précéder.

  • Si une constante numérique contient un indicateur d'exposant (e), au moins un chiffre doit le précéder.

Caractères spéciaux

Caractère Utilisation
() parenthèses Grouper des expressions ; prioriser l'ordre d'évaluation ; requis par certaines syntaxes SQL
, virgule Séparer les éléments dans les listes
; point-virgule Terminer une instruction SQL ; également valide à l'intérieur des constantes de chaîne
: deux-points Séparer les noms de famille de colonnes des noms de colonnes dans les identifiants
* astérisque Faire référence à tous les champs d'une table, ou indiquer une combinaison de valeurs
. point Point décimal dans les constantes numériques ; séparateur entre les objets de données hiérarchiques

Mots clés

Les mots clés SQL sont classés comme réservés ou non réservés :

  • Les mots clés réservés sont de véritables mots clés. Pour les utiliser comme identifiants, entourez-les d'accents graves.

  • Les mots clés non réservés ont une signification particulière uniquement dans des contextes spécifiques et peuvent être utilisés comme identifiants ailleurs.

Exemple : mot clé réservé utilisé comme identifiant

-- Using a reserved keyword without backticks causes an error
CREATE TABLE select (id INT);
-- ERROR: "select" is a reserved keyword

-- Enclose the keyword in backticks to use it as an identifier
CREATE TABLE `select` (id INT);
-- OK

Interroger les mots clés dynamiquement

La liste des mots clés peut ne pas refléter les dernières mises à jour. Pour LindormTable 2.6.3 et versions ultérieures, interrogez la vue système INFORMATION_SCHEMA.KEYWORDS pour obtenir la liste actuelle des mots clés.

Pour vérifier si un mot spécifique est un mot clé réservé :

SELECT * FROM information_schema.keywords WHERE WORD = UPPER('<word>');

Si l'ensemble de résultats n'est pas vide et que le champ RESERVED est égal à 1, le mot est un mot clé réservé.

Exemple : Vérifiez si CASCADED est réservé :

SELECT * FROM information_schema.keywords WHERE WORD = UPPER('CASCADED');

Mots clés réservés

Initiale Mots clés réservés
A ABS, ALL, ALLOCATE, ALLOW, ALTER, AND, ANY, ARE, ARRAY, ARRAY_MAX_CARDINALITY, AS, ASENSITIVE, ASYMMETRIC, AT, ATOMIC, AUTHORIZATION, AVG
B BEGIN, BEGIN_FRAME, BEGIN_PARTITION, BETWEEN, BIGINT, BINARY, BIT, BLOB, BOOLEAN, BOTH, BY
C CALL, CALLED, CARDINALITY, CASCADED, CASE, CAST, CEIL, CEILING, CHAR, CHARACTER, CHARACTER_LENGTH, CHAR_LENGTH, CHECK, CLASSIFIER, CLOB, CLOSE, COALESCE, COLLATE, COLLECT, COLUMN, COMMIT, CONDITION, CONNECT, CONSTRAINT, CONTAINS, CONVERT, CORR, CORRESPONDING, COUNT, COVAR_POP, COVAR_SAMP, CREATE, CROSS, CUBE, CUME_DIST, CURRENT, CURRENT_CATALOG, CURRENT_DATE, CURRENT_DEFAULT_TRANSFORM_GROUP, CURRENT_PATH, CURRENT_ROLE, CURRENT_ROW, CURRENT_SCHEMA, CURRENT_TIME, CURRENT_TIMESTAMP, CURRENT_TRANSFORM_GROUP_FOR_TYPE, CURRENT_USER, CURSOR, CYCLE
D DATE, DATETIME, DAY, DEALLOCATE, DEC, DECIMAL, DECLARE, DEFAULT, DEFINE, DELETE, DENSE_RANK, DEREF, DESCRIBE, DETERMINISTIC, DISALLOW, DISCONNECT, DISTINCT, DOUBLE, DROP, DYNAMIC
E EACH, ELEMENT, ELSE, EMPTY, END, END-EXEC, END_FRAME, END_PARTITION, EQUALS, ESCAPE, EVERY, EXCEPT, EXEC, EXECUTE, EXISTS, EXP, EXPLAIN, EXTEND, EXTERNAL, EXTRACT
F FALSE, FETCH, FILTER, FIRST_VALUE, FLOAT, FLOOR, FOR, FOREIGN, FRAME_ROW, FREE, FRIDAY, FROM, FULL, FUNCTION, FUSION
G GEOMETRYCOLLECTION, GET, GLOBAL, GRANT, GROUP, GROUPING, GROUPS
H HAVING, HOLD, HOUR
I IDENTITY, IMPORT, IN, INDICATOR, INITIAL, INNER, INOUT, INSENSITIVE, INSERT, INT, INTEGER, INTERSECT, INTERSECTION, INTERVAL, INTO, IS
J JOIN, JSON_ARRAY, JSON_ARRAYAGG, JSON_EXISTS, JSON_OBJECT, JSON_OBJECTAGG, JSON_QUERY, JSON_VALUE
L LAG, LANGUAGE, LARGE, LAST_VALUE, LATERAL, LEAD, LEADING, LEFT, LIKE, LIKE_REGEX, LIMIT, LINESTRING, LN, LOCAL, LOCALTIME, LOCALTIMESTAMP, LOWER
M MATCH, MATCHES, MATCH_NUMBER, MATCH_RECOGNIZE, MAX, MEASURES, MEMBER, MERGE, METHOD, MIN, MINUS, MINUTE, MOD, MODIFIES, MODULE, MONDAY, MONTH, MULTILINESTRING, MULTIPOINT, MULTIPOLYGON, MULTISET
N NATIONAL, NATURAL, NCHAR, NCLOB, NEW, NEXT, NO, NONE, NORMALIZE, NOT, NTH_VALUE, NTILE, NULL, NULLIF, NUMERIC
O OCCURRENCES_REGEX, OCTET_LENGTH, OF, OFFSET, OLD, OMIT, ON, ONE, ONLY, OPEN, OR, ORDER, ORDINAL, OUT, OUTER, OVER, OVERLAPS, OVERLAY
P PARAMETER, PARTITION, PATTERN, PER, PERCENT, PERCENT_RANK, PERIOD, PERMUTE, PORTION, POSITION, POSITION_REGEX, POINT, POLYGON, POWER, PRECEDES, PRECISION, PREPARE, PREV, PRIMARY, PROCEDURE
Q QUALIFY
R RANGE, RANK, READS, REAL, RECURSIVE, REF, REFERENCES, REFERENCING, REGR_AVGX, REGR_AVGY, REGR_COUNT, REGR_INTERCEPT, REGR_R2, REGR_SLOPE, REGR_SXX, REGR_SXY, REGR_SYY, RELEASE, RESET, RESULT, RETURN, RETURNS, REVOKE, RIGHT, ROLLBACK, ROLLUP, ROW, ROWS, ROW_NUMBER, RUNNING
S SAFE_CAST, SAFE_OFFSET, SAFE_ORDINAL, SATURDAY, SAVEPOINT, SCOPE, SCROLL, SEARCH, SECOND, SEEK, SELECT, SENSITIVE, SESSION_USER, SET, SHOW, SIMILAR, SKIP, SMALLINT, SOME, SPECIFIC, SPECIFICTYPE, SQL, SQLEXCEPTION, SQLSTATE, SQLWARNING, SQRT, START, STATIC, STDDEV_POP, STDDEV_SAMP, STREAM, SUBMULTISET, SUBSET, SUBSTRING, SUBSTRING_REGEX, SUCCEEDS, SUM, SUNDAY, SYMMETRIC, SYSTEM, SYSTEM_TIME, SYSTEM_USER
T TABLE, TABLESAMPLE, THEN, THURSDAY, TIME, TIMESTAMP, TIMEZONE_HOUR, TIMEZONE_MINUTE, TINYINT, TO, TRAILING, TRANSLATE, TRANSLATE_REGEX, TRANSLATION, TREAT, TRIGGER, TRIM, TRIM_ARRAY, TRUE, TRUNCATE, TRY_CAST, TUESDAY
U UESCAPE, UNION, UNIQUE, UNKNOWN, UNNEST, UPDATE, UPPER, UPSERT, USER, USING
V VALUE, VALUES, VALUE_OF, VARBINARY, VARCHAR, VARYING, VAR_POP, VAR_SAMP, VERSIONING, WEDNESDAY
W WHEN, WHENEVER, WHERE, WIDTH_BUCKET, WINDOW, WITH, WITHIN, WITHOUT
Y YEAR

Mots clés non réservés

Initiale Mots clés non réservés
A A, ABSENT, ABSOLUTE, ACTION, ADA, ADD, ADMIN, AFTER, AGGREGATORS, ALWAYS, APPLY, ARRAY_AGG, ARRAY_CONCAT_AGG, ASC, ASSERTION, ASSIGNMENT, ATTR, ATTRIBUTE, ATTRIBUTES, AUTO_INCREMENT
B BEFORE, BERNOULLI, BREADTH
C C, CASCADE, CATALOG, CATALOG_NAME, CENTURY, CHAIN, CHARACTERISTICS, CHARACTERS, CHARACTER_SET_CATALOG, CHARACTER_SET_NAME, CHARACTER_SET_SCHEMA, CLASS_ORIGIN, COBOL, COLLATION, COLLATION_CATALOG, COLLATION_NAME, COLLATION_SCHEMA, COLUMN_FAMILY, COLUMN_NAME, COLUMNS, COMMAND_FUNCTION, COMMAND_FUNCTION_CODE, COMMENT, COMMITTED, CONDITIONAL, COMPACT, CONDITION_NUMBER, CONNECTION, CONNECTION_NAME, CONSTRAINTS, CONSTRAINT_CATALOG, CONSTRAINT_NAME, CONSTRAINT_SCHEMA, CONSTRUCTOR, CONTINUE, CONTINUOUS, CURSOR_NAME
D DATA, DATABASE, DATETIME_DIFF, DATETIME_INTERVAL_CODE, DATETIME_INTERVAL_PRECISION, DATETIME_TRUNC, DATE_DIFF, DATE_TRUNC, DAYOFWEEK, DAYOFYEAR, DAYS, DECADE, DEFAULTS, DEFERRABLE, DEFERRED, DEFINED, DEFINER, DEGREE, DEPTH, DERIVED, DESC, DESCRIPTION, DESCRIPTOR, DIAGNOSTICS, DISPATCH, DOMAIN, DOT, DOW, DOY, DYNAMIC_FUNCTION, DYNAMIC_FUNCTION_CODE
E ENCODING, EPOCH, ERROR, EXCEPTION, EXCLUDE, EXCLUDING
F FINAL, FIRST, FOLLOWING, FORMAT, FORTRAN, FOUND, FRAC_SECOND
G G, GENERAL, GENERATED, GEOMETRY, GO, GOTO, GRANTED, GROUP_CONCAT
H HBOOLEAN, HDOUBLE, HIERARCHY, HINTEGER, HLONG, HOP, HOURS, HSHORT, HSTRING
I IGNORE, IF, ILIKE, IMMEDIATE, IMMEDIATELY, IMPLEMENTATION, INCLUDE, INCLUDING, INCREMENT, INITIALLY, INPUT, INSTANCE, INSTANTIABLE, INVOKER, ISODOW, ISOLATION, ISOYEAR
J JAVA, JSON
K K, KEY, KEY_MEMBER, KEY_TYPE
L LABEL, LAST, LENGTH, LEVEL, LIBRARY, LOCATOR
M M, MAP, MATCHED, MAXVALUE, MESSAGE_LENGTH, MESSAGE_OCTET_LENGTH, MESSAGE_TEXT, MICROSECOND, MILLENNIUM, MILLISECOND, MINUTES, MINVALUE, MONTHS, MORE, MUMPS
N NAME, NAMES, NAMESPACE, NANOSECOND, NESTING, NORMALIZED, NULLABLE, NULLS, NUMBER
O OBJECT, OCTETS, OPTION, OPTIONS, ORDERING, ORDINALITY, OTHERS, OUTPUT, OVERRIDING
P PAD, PARAMETER_MODE, PARAMETER_NAME, PARAMETER_ORDINAL_POSITION, PARAMETER_SPECIFIC_CATALOG, PARAMETER_SPECIFIC_NAME, PARAMETER_SPECIFIC_SCHEMA, PARTIAL, PARTITIONS, PASCAL, PASSING, PASSTHROUGH, PASSWORD, PAST, PATH, PERCENTILE_CONT, PERCENTILE_DISC, PIVOT, PLACING, PLAN, PLI, PRECEDING, PREDOWNSAMPLE, PREDOWNSAMPLES, PRESERVE, PRIOR, PRIVILEGES, PUBLIC
Q QUARTER, QUARTERS, QUERY, QUERIES
R READ, RELATIVE, REPEATABLE, REPLACE, RESPECT, RESTART, RESTRICT, RETURNED_CARDINALITY, RETURNED_LENGTH, RETURNED_OCTET_LENGTH, RETURNED_SQLSTATE, RETURNING, RLIKE, ROLE, ROUTINE, ROUTINE_CATALOG, ROUTINE_NAME, ROUTINE_SCHEMA, ROW, ROW_COUNT
S SCALAR, SCALE, SCHEMA, SCHEMA_NAME, SCOPE_CATALOGS, SCOPE_NAME, SCOPE_SCHEMA, SEARCH, SECONDS, SECTION, SECURITY, SELF, SEPARATOR, SEQUENCE, SERIALIZABLE, SERVER, SERVER_NAME, SESSION, SETS, SIMPLE, SIZE, SOURCE, SPACE, SPECIFIC_NAME, SQL_BIGINT, SQL_BINARY, SQL_BIT, SQL_BLOB, SQL_BOOLEAN, SQL_CHAR, SQL_CLOB, SQL_DATE, SQL_DECIMAL, SQL_DOUBLE, SQL_FLOAT, SQL_INTEGER, SQL_INTERVAL_DAY, SQL_INTERVAL_DAY_TO_HOUR, SQL_INTERVAL_DAY_TO_MINUTE, SQL_INTERVAL_DAY_TO_SECOND, SQL_INTERVAL_HOUR, SQL_INTERVAL_HOUR_TO_MINUTE, SQL_INTERVAL_HOUR_TO_SECOND, SQL_INTERVAL_MINUTE, SQL_INTERVAL_MINUTE_TO_SECOND, SQL_INTERVAL_MONTH, SQL_INTERVAL_SECOND, SQL_INTERVAL_YEAR, SQL_INTERVAL_YEAR_TO_MONTH, SQL_LONGVARBINARY, SQL_LONGVARCHAR, SQL_LONGVARNCHAR, SQL_NCHAR, SQL_NCLOB, SQL_NUMERIC, SQL_NVARCHAR, SQL_REAL, SQL_SMALLINT, SQL_TIME, SQL_TIMESTAMP, SQL_TINYINT, SQL_TSI_DAY, SQL_TSI_FRAC_SECOND, SQL_TSI_HOUR, SQL_TSI_MICROSECOND, SQL_TSI_MINUTE, SQL_TSI_MONTH, SQL_TSI_QUARTER, SQL_TSI_SECOND, SQL_TSI_WEEK, SQL_TSI_YEAR, SQL_VARBINARY, SQL_VARCHAR, STATE, STATEMENT, STRING_AGG, STRUCTURE, STYLE, SUBCLASS_ORIGIN, SUBSTITUTE
T TABLES, TABLE_NAME, TAG, TEMPORARY, TIES, TIMESTAMPADD, TIMESTAMPDIFF, TIMESTAMP_DIFF, TIMESTAMP_TRUNC, TIME_DIFF, TIME_TRUNC, TOP_LEVEL_COUNT, TRANSACTION, TRANSACTIONS_ACTIVE, TRANSACTIONS_COMMITTED, TRANSACTIONS_ROLLED_BACK, TRANSFORM, TRANSFORMS, TRASH, TRIGGER_CATALOG, TRIGGER_NAME, TRIGGER_SCHEMA, TTL, TUMBLE, TYPE
U UNBOUNDED, UNCOMMITTED, UNCONDITIONAL, UNDER, UNMAP, UNNAMED, UNPIVOT, USAGE, USE, USERS, USER_DEFINED_TYPE_CATALOG, USER_DEFINED_TYPE_CODE, USER_DEFINED_TYPE_NAME, USER_DEFINED_TYPE_SCHEMA, UTF16, UTF32, UTF8
V VARIABLES, VERSION, VIEW, WEEK, WEEKS
W WILDCARD, WORK, WRAPPER, WRITE
X XML
Y YEARS
Z ZONE