Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / MySQL / Справочник по языку MySQL /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Структура языка - Программирование от RIN.RU
Структура языка



Синтаксис комментариев


Сервер MySQL поддерживает следующие способы задания комментариев: с помощью символа '#', за которым следует текст комментария до конца строки; с помощью двух символов --, за которыми идет текст комментария до конца строки; и (для многострочных комментариев) с помощью символов /* (начало комментария) и */ (конец комментария):


mysql> SELECT 1+1; # Этот комментарий продолжается до конца строки
mysql> SELECT 1+1; -- Этот комментарий продолжается до конца строки
mysql> SELECT 1 /* Это комментарий в строке */ + 1;
mysql> SELECT 1+
/*
Это многострочный
комментарий
*/
1;


Обратите внимание: при использовании для комментирования способа с -- (двойное тире) требуется наличие хотя бы одного пробела после второго тире!


Хотя сервер "понимает" все описанные выше варианты комментирования, существует ряд ограничений на способ синтаксического анализа комментариев вида /* ... */ клиентом mysql:


  • Символы одинарной и двойной кавычек, даже внутри комментария, считаются началом заключенной в кавычки строки. Если внутри комментария не встречается вторая такая же кавычка, синтаксический анализатор не считает комментарий законченным. При работе с mysql в интерактивном режиме эта ошибка проявится в том, что окно запроса изменит свое состояние с mysql> на '> или ">.

  • Точка с запятой используется для обозначения окончания данной SQL-команды и что-либо, следующее за этим символом, указывает на начало следующего выражения.


Эти ограничения относятся как к интерактивному режиму работы mysql (из командной строки), так и к вызову команд из файла, читаемого с ввода командой mysql < some-file.


MySQL поддерживает принятый в ANSI SQL способ комментирования с помощью двойного тире '--' только в том случае, если после второго тире следует пробел (cм. раздел Символы '--' как начало комментария).


"Придирчив" ли MySQL к зарезервированным словам?


Это общая проблема, возникающая при попытке создать таблицу с именами столбцов, использующих принятые в MySQL названия типов данных или функций, такие как TIMESTAMP или GROUP. Иногда это возможно (например, ABS является разрешенным именем для столбца), но не допускается пробел между именем функции и сразу же следующей за ним скобкой '(' при использовании имен функций, совпадающих с именами столбцов.


Следующие слова являются зарезервированными в MySQL. Большинство из них не допускаются в ANSI SQL92 как имена столбцов и/или таблиц (например GROUP). Некоторые зарезервированы для нужд MySQL и используются (в настоящее время) синтаксическим анализатором yacc:


СловоСлово Слово
ADD ALL ALTER
ANALYZE AND AS
ASC AUTO_INCREMENT BDB
BERKELEYDB BETWEEN BIGINT
BINARY BLOB BOTH
BY CASCADE CASE
CHANGE CHAR CHARACTER
COLUMN COLUMNS CONSTRAINT
CREATE CROSS CURRENT_DATE
CURRENT_TIME CURRENT_TIMESTAMP DATABASE
DATABASES DAY_HOUR DAY_MINUTE
DAY_SECOND DEC DECIMAL
DEFAULT DELAYED DELETE
DESC DESCRIBE DISTINCT
DISTINCTROW DOUBLE DROP
ELSE ENCLOSED ESCAPED
EXISTS EXPLAIN FIELDS
FLOAT FOR FOREIGN
FROM FULLTEXT FUNCTION
GRANT GROUP HAVING
HIGH_PRIORITY HOUR_MINUTE HOUR_SECOND
IF IGNORE IN
INDEX INFILE INNER
INNODB INSERT INSERT_ID
INT INTEGER INTERVAL
INTO IS JOIN
KEY KEYS KILL
LAST_INSERT_ID LEADING LEFT
LIKE LIMIT LINES
LOAD LOCK LONG
LONGBLOB LONGTEXT LOW_PRIORITY
MASTER_SERVER_ID MATCH MEDIUMBLOB
MEDIUMINT MEDIUMTEXT MIDDLEINT
MINUTE_SECOND MRG_MYISAM NATURAL
NOT NULL NUMERIC
ON OPTIMIZE OPTION
OPTIONALLY OR ORDER
OUTER OUTFILE PARTIAL
PRECISION PRIMARY PRIVILEGES
PROCEDURE PURGE READ
REAL REFERENCES REGEXP
RENAME REPLACE REQUIRE
RESTRICT RETURNS REVOKE
RIGHT RLIKE SELECT
SET SHOW SMALLINT
SONAME SQL_AUTO_IS_NULL SQL_BIG_RESULT
SQL_BIG_SELECTS SQL_BIG_TABLES SQL_BUFFER_RESULT
SQL_CALC_FOUND_ROWS SQL_LOG_BIN SQL_LOG_OFF
SQL_LOG_UPDATE SQL_LOW_PRIORITY_UPDATES SQL_MAX_JOIN_SIZE
SQL_QUOTE_SHOW_CREATE SQL_SAFE_UPDATES SQL_SELECT_LIMIT
SQL_SLAVE_SKIP_COUNTER SQL_SMALL_RESULT SQL_WARNINGS
SSL STARTING STRAIGHT_JOIN
STRIPED TABLE TABLES
TERMINATED THEN TINYBLOB
TINYINT TINYTEXT TO
TRAILING UNION UNIQUE
UNLOCK UNSIGNED UPDATE
USAGE USE USER_RESOURCES
USING VALUES VARBINARY
VARCHAR VARYING WHEN
WHERE WITH WRITE
YEAR_MONTH ZEROFILL

Следующие символы (из приведенной выше таблицы таблицы) не разрешены в ANSI SQL, но допускаются в MySQL как имена столбцов/таблиц. Это объясняется тем, что некоторые из этих имен являются словами естественного языка и уже использованы многими потребителями.


  • ACTION

  • BIT

  • DATE

  • ENUM

  • NO

  • TEXT

  • TIME

  • TIMESTAMP


<<<  Назад
 1  2  3  4 


 8  Комментарии к статье  8 8  Обсудить в чате

8  В тему

Типы данных столбцов

Функции, используемые в операторах SELECT и WHERE (часть 1)

Функции, используемые в операторах SELECT и WHERE (часть 2)

Обработка данных: SELECT, INSERT, UPDATE, DELETE

Определение данных: CREATE, DROP, ALTER

Основные команды пользовательских программ MySQL

Команды управления транзакциями и блокировками в MySQL

Полнотекстовый поиск в MySQL

Кэш запросов в MySQL

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь