Как я могу комментировать в MySQL?
В программировании или написании сценариев комментирование помещает в код удобочитаемые описания. Это не влияет на работу кода. Как правило, комментарии включают описание кода. Правильное комментирование чрезвычайно важно для поддержки кода в долгосрочной перспективе. Кроме того, очень важно, будет ли код использоваться другими. Говорят, что хорошо документированный код так же важен, как и правильно работающий код.
MySQL использует SQL для работы с базами данных. Это руководство продемонстрирует, как писать комментарии в операторах MySQL.
Комментарии в MySQL
В MySQL доступны три типа команд. Они разделены своими символами.
Важно помнить, что MySQL не поддерживает вложенные комментарии.
Комментарий с помощью «-»
Поместив «-» в конец строки кода, вы можете разместить однострочный комментарий. Посмотрите следующий пример.
$ SELECT * from employees; - Комментарий в конце строки
Обратите внимание, что для написания комментария не требуется пробел после символа «-». Однако MySQL реализует эту функцию, чтобы избежать проблем с некоторыми запросами SQL. Например, этот запрос, скорее всего, вызвал бы проблему с этим типом комментариев, если бы не требовалось пробелов.
$ SELECT 100–1; - Пробел, чтобы не вызывать недоразумений
Если бы MySQL не требовал пробелов, результат был бы неожиданным.
Комментарий с помощью «#»
Это еще один тип комментария, который ставится в конце строки. Он действует аналогично разделу, продемонстрированному ранее. Например,
$ SELECT * from employees; # комментарий в конце строки
Комментирование в стиле C
Если у вас когда-либо был опыт работы с программированием на C, то вы знакомы с этим типом комментариев. Он начинается с «/*» и заканчивается «*/». Как и в C, комментарии могут занимать несколько строк.
/ * Быстрая коричневая лисица прыгает через ленивую собаку * / SELECT * from users;
Исполняемые комментарии
MySQL поддерживает еще один тип комментариев – комментарии, которые будут выполнены. Это интересная функция, которая улучшает переносимость между разными базами данных. Он позволяет встраивать коды, которые будет выполнять только MySQL, но не любое другое решение для базы данных.
Исполняемый комментарий обычно выглядит примерно так. Он включает комментирование в стиле C. Однако после «/*» он начинается с восклицательного знака (!).
$ /*! <mysql_specific_code> */
Реализуем это в исполняемом коде. В следующем коде MySQL вернет 5. Однако любой другой механизм базы данных вернет 10.
$ SELECT 5 /*! +1 */
Это комментирование также поддерживает указание версии MySQL, необходимой для запуска этого кода, в комментарии. В таком случае структура комментария будет выглядеть примерно так.
$ /*!##### <mysql_specific_code> */
Обратите внимание, что всего 5 цифр, которые описывают версию MySQL.
- Символ 1: описывает основную версию, например 5 или 8.
- Персонаж 2-3: описывает второстепенную версию.
- Символ 4-5: описывает уровень патча.
В следующем примере код комментария будет запущен только в том случае, если сервер MySQL v8.0.27.
$ SELECT 5 /*!80027 +1 */
Чтобы проверить текущую версию MySQL, выполните следующую команду.
$ mysql --version
Мы также можем получить версию MySQL из оболочки MySQL.
$ SHOW VARIABLES LIKE "%version%"
Последние мысли
В этой статье описаны все поддерживаемые форматы комментариев в MySQL. Он также демонстрирует их реализацию в запросах. В определенных ситуациях MySQL даже позволяет запускать код из комментариев.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
MSSQL: T-SQL – комментарии
MSSQL: T-SQL – комментарииКраткая заметка.
В T-SQL есть два варианта добавления коментариев – однострочные, и многострочные.
Однострочные комментарии начинаются с двух тире и заканчиваются новой строкой. Такой комментарий можно добавлять в любом месте кода, например – в конце строки с кодом. В таком случае всё, что указано до “--
” будет выполнено как T-SQL запрос, а остальная часть строки – будет проигнорирована.
Пример:
1> select * from sys.databases -- Это комментарий 2> go name database_id source_database_id owner_sid create_date compatibility_level collation_name user_access user_access_desc is_read_only is_auto_close_on is_auto_shrink_on state state_desc is_in_standby is_cleanly_shutdown is_supplemental_logging_enabled ...
Другой вариант – (“классические”) блочные комментарии. Они начинаются с символов “/*
” и заканчиваются “*/
“. Весь текст, заключённый между ними будет проигнорирован. Как правило – такие комментарии добавляют перед или после большого куска кода, но его можно поместить в любом месте. Кроме того – такой комментарий может заниматься несколько строк.
Пример:
1> /* Коммментарий 2> строка 2 3> */ 4> select state_desc from sys.databases; 5> go state_desc ONLINE ONLINE ONLINE ONLINE ONLINE (5 rows affected)
Нагулено тут по запросу “tsql comment block“.
Раздел: Databases HOWTO’s MSSQL Метки: MSSQL, SQL, T-SQL
More results…
Exact matches only
Exact matches only
Search in title
Search in title
Search in content
Search in content
Search in excerpt
Hidden
Hidden
Navigation
aСамое читаемое
- CentOS: установка, настройка Zabbix-agent и добавление нового хоста в мониторинг — 507 208 views
- MySQL/MariaDB: наиболее используемые команды, примеры — 289 273 views
- BASH: описание циклов for, while, until и примеры использования — 152 263 views
- Команда find и её опции в примерах — 139 711 views
- Карта сайта — 132 648 views
Архив месяца
Пн | Вт | Чт | Пт | Сб | Вс | |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Архивы по годам
Архивы по годам Выберите месяц Декабрь 2022 (1) Октябрь 2022 (4) Сентябрь 2022 (1) Июнь 2022 (1) Май 2022 (1) Апрель 2022 (1) Март 2022 (2) Январь 2022 (1) Декабрь 2021 (3) Ноябрь 2021 (8) Октябрь 2021 (4) Сентябрь 2021 (5) Август 2021 (5) Июль 2021 (6) Июнь 2021 (6) Май 2021 (6) Апрель 2021 (11) Март 2021 (8) Февраль 2021 (6) Январь 2021 (1) Декабрь 2020 (1) Ноябрь 2020 (9) Октябрь 2020 (9) Сентябрь 2020 (4) Август 2020 (8) Июль 2020 (4) Июнь 2020 (3) Май 2020 (5) Апрель 2020 (9) Март 2020 (8) Февраль 2020 (9) Январь 2020 (2) Декабрь 2019 (9) Ноябрь 2019 (9) Октябрь 2019 (11) Сентябрь 2019 (11) Август 2019 (10) Июль 2019 (2) Июнь 2019 (4) Май 2019 (9) Апрель 2019 (13) Март 2019 (32) Февраль 2019 (20) Январь 2019 (10) Декабрь 2018 (9) Ноябрь 2018 (12) Октябрь 2018 (15) Сентябрь 2018 (12) Август 2018 (14) Июль 2018 (17) Июнь 2018 (18) Май 2018 (21) Апрель 2018 (6) Март 2018 (18) Февраль 2018 (7) Январь 2018 (13) Декабрь 2017 (14) Ноябрь 2017 (6) Октябрь 2017 (24) Сентябрь 2017 (13) Август 2017 (15) Июль 2017 (11) Июнь 2017 (11) Май 2017 (11) Апрель 2017 (7) Март 2017 (18) Февраль 2017 (13) Январь 2017 (14) Декабрь 2016 (12) Ноябрь 2016 (15) Октябрь 2016 (13) Сентябрь 2016 (21) Август 2016 (19) Июль 2016 (14) Июнь 2016 (8) Май 2016 (24) Апрель 2016 (15) Март 2016 (19) Февраль 2016 (21) Январь 2016 (19) Декабрь 2015 (17) Ноябрь 2015 (17) Октябрь 2015 (14) Сентябрь 2015 (13) Август 2015 (1) Июль 2015 (20) Июнь 2015 (23) Май 2015 (26) Апрель 2015 (28) Март 2015 (30) Февраль 2015 (26) Январь 2015 (24) Декабрь 2014 (31) Ноябрь 2014 (21) Октябрь 2014 (28) Сентябрь 2014 (23) Август 2014 (31) Июль 2014 (23) Июнь 2014 (11) Май 2014 (14) Апрель 2014 (8) Март 2014 (11) Февраль 2014 (11) Январь 2014 (11) Декабрь 2013 (12) Ноябрь 2013 (23) Октябрь 2013 (20) Сентябрь 2013 (30) Август 2013 (20) Июль 2013 (6) Июнь 2013 (9) Май 2013 (5) Апрель 2013 (13) Март 2013 (22) Февраль 2013 (36) Январь 2013 (10) Декабрь 2012 (4) Ноябрь 2012 (8) Октябрь 2012 (13) Сентябрь 2012 (29) Август 2012 (24) Июль 2012 (18) Июнь 2012 (2) Май 2012 (4) Март 2012 (5) Февраль 2012 (5) Январь 2012 (25) Декабрь 2011 (15) Ноябрь 2011 (6) Август 2011 (13)Rules of SQL formatting — Комментирование кода SQL
В этой статье будут даны советы по комментированию кода T-SQL и повышению производительности при использовании функции комментариев ApexSQL Refactor. ApexSQL Refactor — это надстройка форматирования SQL для SQL Server и Visual Studio с почти 200 параметрами форматирования.
Основная цель комментариев — документировать наш код и писать описания того, что он делает.
Использование комментариев в SQL Server
Microsoft SQL Server поддерживает два типа комментариев:
(–) — строчный комментарий. Его можно использовать в той же строке, что и код SQL, или в отдельной строке. Этот тип комментария начинается с двух тире и заканчивается возвратом каретки:
.ИСПОЛЬЗОВАТЬ AdventureWorks2012 ИДТИ ВЫБЕРИТЕ * ОТ HumanResources.Employee SELECT * FROM Person.Address -- Однострочный комментарий
Для многострочных комментариев каждая строка должна начинаться с двух дефисов:
ИСПОЛЬЗОВАТЬ AdventureWorks2012 ИДТИ -- Первая строка многострочного комментария -- Вторая строка многострочного комментария ВЫБЕРИТЕ * ОТ HumanResources.Employee SELECT * FROM Person.Address -- Однострочный комментарий ВПЕРЕД
(/*…*/) — блочный комментарий. Его можно использовать в той же строке, что и код SQL, в отдельной строке или в коде. Все, что находится между открывающей и закрывающей парой символов / *, считается частью комментария.
Многострочные /* */ комментарии не могут охватывать пакет. Полный комментарий должен содержаться в пакете. Например, в SQL Query Analyzer и утилите sql команда GO сигнализирует об окончании пакета. Когда утилиты считывают символы GO в первых двух байтах строки, они отправляют весь код с момента последней команды GO на сервер как один пакет. Если GO возникает в начале строки между разделителями /* и */, то с каждым пакетом будет отправляться несопоставленный разделитель комментариев, что вызовет синтаксические ошибки. [1]
ИСПОЛЬЗОВАТЬ AdventureWorks2012 ИДТИ /* Первая строка многострочного комментария. Вторая строка многострочного комментария. */ ВЫБЕРИТЕ * ОТ HumanResources.Employee SELECT * FROM Person.Address /*Однострочный комментарий*/ ИДТИ
Блочный код можно использовать в любом месте кода SQL:
SELECT Дата рождения, /* Имя, */ Семейное положение ОТ HumanResources. Employee
Замена многострочного комментария однострочным приведет к синтаксической ошибке:
ВЫБЕРИТЕ дату рождения, --FirstName, семейное положение ОТ HumanResources.Employee Сообщение 156, уровень 15, состояние 1, строка 2 Неверный синтаксис рядом с ключевым словом FROM
.
Комментирование хранимых процедур в коде SQL
Рекомендуется начинать хранимую процедуру с комментария, в котором указывается как минимум автор, дата и история обновлений. После этого добавьте высокоуровневое описание функции этого модуля. Имя процедуры будет иметь формат «<глагол><объект>». Каждый параметр должен иметь комментарий по мере необходимости.
Пример комбинации однострочных и блочных комментариев:
/* Объект: хранимая процедура Автор: Милица Медик Дата сценария: 30 декабря 2013 г. Описание: Эта процедура получает список адресов на основе на значение города, которое передается в параметре @City */ СОЗДАТЬ ПРОЦЕДУРУ uspGetAddress @City nvarchar(30) КАК ВЫБРАТЬ * ОТ AdventureWorks.Person.Address WHERE City = @City -- значение параметра @City сужает критерии поиска. ИДТИ
Примеры комментирования частей хранимых процедур:
НАЧАЛО УСТАНОВИТЬ БЕЗ СЧЕТА; -- Используйте рекурсивный запрос, чтобы перечислить всех сотрудников, необходимых для конкретного менеджера. WITH [EMP_cte]([BusinessEntityID], [OrganizationNode], [FirstName], [LastName], [JobTitle], [RecursionLevel]) — имя и столбцы CTE КАК ( SELECT e.[BusinessEntityID], e.[OrganizationNode], p.[FirstName],p.[LastName], e.[JobTitle], 0 -- Получить начального сотрудника )
Комментарии к оператору управления
Комментарии к оператору управления, такие как циклы IF-THEN-ELSE, BEGIN-END и WHILE-DO, будут очень похожи на комментарии в любой процедурной программе. Сложные операторы SQL могут потребовать комментария вверху и часто на уровне предложения:
-- Возвращает имя, фамилию, должность и тип бизнес-объекта для указанного контакта. -- Поскольку контакт может выполнять несколько ролей, может быть возвращено более одной строки. НАЧИНАТЬ ЕСЛИ @PersonID НЕ НУЛЬ НАЧИНАТЬ ЕСЛИ СУЩЕСТВУЕТ(ВЫБЕРИТЕ * FROM [HumanResources].[Employee] e ГДЕ e.[BusinessEntityID] = @PersonID) ВСТАВЬТЕ В @retContactInformation ВЫБЕРИТЕ @PersonID, p.FirstName, p.LastName, e.[JobTitle], «Сотрудник» ОТ [Отдел кадров].[Сотрудник] AS e ВНУТРЕННЕЕ СОЕДИНЕНИЕ [Человек].[Человек] p ON p.[BusinessEntityID] = e.[BusinessEntityID] ГДЕ e.[BusinessEntityID] = @PersonID; КОНЕЦ ВОЗВРАЩАТЬСЯ; КОНЕЦ;
Комментарии к пункту
Для сложных соединений может потребоваться комментарий, поясняющий ряд предикатов на более высоком уровне. Кроме того, производная таблица без хорошего псевдонима может нуждаться в комментарии, объясняющем, что она содержит:
-- Присоединиться обратно к Сотруднику, чтобы вернуть имя менеджера. ВЫБЕРИТЕ [EMP_cte].[RecursionLevel], [EMP_cte].[BusinessEntityID],[EMP_cte].[FirstName], [EMP_cte].[LastName], [EMP_cte]. [OrganizationNode].ToString() AS [OrganizationNode], p.[FirstName] AS 'имя менеджера', p.[LastName] AS 'ManagerLastName' -- Внешний выбор из CTE ОТ [EMP_cte] ВНУТРЕННЕЕ СОЕДИНЕНИЕ [Человеческие ресурсы].[Сотрудник] e ON [EMP_cte].[OrganizationNode].GetAncestor(1) = e.[OrganizationNode] ВНУТРЕННЕЕ СОЕДИНЕНИЕ [Человек].[Человек] стр.
Комментариями можно управлять с помощью ApexSQL Refactor. В окне Параметры на вкладке Комментарии есть различные параметры для управления комментариями:
Чтобы улучшить читаемость, добавив пустую строку до и после комментариев блока, используя параметр Вставить пустую строку перед комментариями блока и параметр Вставить пустую строку после блока комментариев :
До:
ИСПОЛЬЗОВАТЬ AdventureWorks2012 ИДТИ /* Первая строка многострочного комментария. Вторая строка многострочного комментария. */ ВЫБЕРИТЕ * ОТ HumanResources.Employee SELECT * FROM Person. Address -- Однострочный комментарий ВПЕРЕД
После:
ИСПОЛЬЗОВАТЬ AdventureWorks2012 ИДТИ /* Первая строка многострочного комментария. Вторая строка многострочного комментария. */ ВЫБЕРИТЕ * ОТ HumanResources.Employee SELECT * FROM Person.Address -- Однострочный комментарий GO
Комментарии блока можно настроить, добавив границы с помощью Добавить границу над комментариями блока с помощью <настраиваемого знака> и Добавить границу под комментариями блока с помощью <настраиваемого знака> 9Варианты 0004:
До:
ИСПОЛЬЗОВАТЬ AdventureWorks2012 ИДТИ /* Первая строка многострочного комментария. Вторая строка многострочного комментария. */ ВЫБЕРИТЕ * ОТ HumanResources.Employee SELECT * FROM Person.Address /*Однострочный комментарий*/ GO
После:
ИСПОЛЬЗОВАТЬ AdventureWorks2012 ИДТИ /********************************************* Первая строка многострочного комментария. Вторая строка многострочного комментария. *********************************************/ ВЫБЕРИТЕ * ОТ HumanResources.Employee SELECT * FROM Person.Address /****************** Однострочный комментарий ******************/ ВПЕРЕД
ApexSQL Refactor предлагает возможность изменить тип существующих комментариев в зависимости от потребностей пользователя. Если все однострочные комментарии необходимо преобразовать в блочные комментарии, используйте параметр Заменить все комментарии на блочные комментарии :
Раньше:
ИСПОЛЬЗОВАТЬ AdventureWorks2012 ИДТИ -- Первая строка многострочного комментария. -- Вторая строка многострочного комментария. ВЫБЕРИТЕ * ОТ HumanResources.Employee SELECT * FROM Person.Address --Однострочный комментарий ИДТИ
После:
ИСПОЛЬЗОВАТЬ AdventureWorks2012 ИДТИ /********************************************* Первая строка многострочного комментария. Вторая строка многострочного комментария. *********************************************/ ВЫБЕРИТЕ * ОТ HumanResources.Employee SELECT * FROM Person.Address /****************** Однострочный комментарий ******************/ ИДТИ
Все комментарии к блокам можно преобразовать в комментарии к строке с помощью кнопки Изменить все комментарии на комментарии к строке вариант:
Раньше:
ИСПОЛЬЗОВАТЬ AdventureWorks2012 ИДТИ /********************************************* Первая строка многострочного комментария. Вторая строка многострочного комментария. *******************************************/ ВЫБЕРИТЕ * ОТ HumanResources.Employee SELECT * FROM Person.Address /****************** Однострочный комментарий ******************/ ВПЕРЕД
После:
ИСПОЛЬЗОВАТЬ AdventureWorks2012 ИДТИ -- Первая строка многострочного комментария. -- Вторая строка многострочного комментария. ВЫБЕРИТЕ * ОТ HumanResources.Employee SELECT * FROM Person. Address --Однострочный комментарий GO
Чтобы сэкономить время при удалении комментариев или если есть ненужные комментарии, используйте параметр Удалить все блочные комментарии и параметр Удалить все однострочные комментарии :
До:
ИСПОЛЬЗОВАТЬ AdventureWorks2012 ИДТИ /********************************************* Первая строка многострочного комментария. Вторая строка многострочного комментария. *******************************************/ ВЫБЕРИТЕ * ОТ HumanResources.Employee SELECT * FROM Person.Address /****************** Однострочный комментарий ******************/ GO
После:
ИСПОЛЬЗОВАТЬ AdventureWorks2012 ИДТИ ВЫБЕРИТЕ * ОТ HumanResources.Employee SELECT * FROM Person.Address ВПЕРЕД
Чтобы удалить все однострочные комментарии, используйте параметр Удалить все однострочные комментарии :
До:
ИСПОЛЬЗУЙТЕ AdventureWorks2012 ИДТИ -- Первая строка многострочного комментария. -- Вторая строка многострочного комментария. ВЫБЕРИТЕ * ОТ HumanResources.Employee SELECT * FROM Person.Address -- Однострочный комментарий GO
После:
ИСПОЛЬЗОВАТЬ AdventureWorks2012 ИДТИ ВЫБЕРИТЕ * ОТ HumanResources.Employee SELECT * FROM Person.Address ВПЕРЕД
Ссылки:
[1] Электронная документация по SQL Server — с использованием комментариев
Полезные ресурсы:
Электронная документация по SQL Server — /*…*/ (Комментарий) (Transact-SQL)
Электронная документация по SQL Server — — ( Comment) (Transact-SQL)
Электронная документация по SQL Server — Комментарии
12 февраля 2014 г.
— (Комментарий) (Transact-SQL) — SQL Server
Редактировать
Твиттер LinkedIn Фейсбук Электронное письмо
- Статья
- 2 минуты на чтение
Применимо к: SQL Server (все поддерживаемые версии) База данных SQL Azure Управляемый экземпляр Azure SQL Аналитика синапсов Azure Analytics Platform System (PDW)
Указывает текст, введенный пользователем. Комментарии можно вставлять в отдельную строку, вставлять в конец командной строки Transact-SQL или в инструкцию Transact-SQL. Сервер не оценивает комментарий.
Соглашения о синтаксисе Transact-SQL
Синтаксис
-- text_of_comment
Примечание
Для просмотра синтаксиса Transact-SQL для SQL Server 2014 и более ранних версий см. документацию по предыдущим версиям.
Аргументы
text_of_comment
Строка символов, содержащая текст комментария.
Используйте два дефиса ( — ) для однострочных или вложенных комментариев. Комментарии, вставленные с — , завершаются новой строкой, которая определяется символом возврата каретки (U+000A), символом перевода строки (U+000D) или их комбинацией.