SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 15.02.2009 14:24:03

believer
Участник
Откуда: Казань
Зарегистрирован: 01.02.2009
Сообщений: 18

АНАЛИЗАТОР SQL-ЗАПРОСОВ

Доброго вечера!

Интересно, имеется ли какая-нибудь библиотека, которая содержит функции по анализу SQL-запросов? Например, вот имеется запрос SELECT ... FROM ... WHERE ...; и мне необходимо знать только то, что стоит после SELECT, после FROM или после WHERE. Для этого было бы здорово вызвать функцию, которая возвращала бы, необходимые куски из запроса. Безусловно, это можно и самому сделать, но, возможно, есть уже что-либо готовое.

Спасибо.

Неактивен

 

#2 15.02.2009 22:12:41

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: АНАЛИЗАТОР SQL-ЗАПРОСОВ

Описанное действие можно сделать самому, но трудности возникают для сложных запросов (JOIN, подзапросы, UNION). Готовый анализатор мне неизвестен.

Неактивен

 

#3 16.02.2009 10:34:44

believer
Участник
Откуда: Казань
Зарегистрирован: 01.02.2009
Сообщений: 18

Re: АНАЛИЗАТОР SQL-ЗАПРОСОВ

У меня еще такой вопрос. Мне необходимо проверить, синтаксически правильно ли построен SQL-запрос. Я бы хотел создать собственное приложение для выполнения данной задачи. Какие библиотеки или модули дистрибутива СУБД MySQL я должен применить для достижения цели? Спасибо.

Неактивен

 

#4 16.02.2009 14:03:40

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: АНАЛИЗАТОР SQL-ЗАПРОСОВ

Готового решения нет, поэтому придется копаться в исходниках MySQL. И еще, запрос может быть правильным или неправильным в зависимости от структуры таблиц

Неактивен

 

#5 12.03.2009 00:43:10

believer
Участник
Откуда: Казань
Зарегистрирован: 01.02.2009
Сообщений: 18

Re: АНАЛИЗАТОР SQL-ЗАПРОСОВ

rgbeast написал:

Готового решения нет, поэтому придется копаться в исходниках MySQL. И еще, запрос может быть правильным или неправильным в зависимости от структуры таблиц

Языку SQL столько лет! Неужели не существует модулей, которые могли бы проводить синтаксический и семантический анализ SQL-запросов?! Сложно в это верится.

Неактивен

 

#6 12.03.2009 01:09:37

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: АНАЛИЗАТОР SQL-ЗАПРОСОВ

Синтаксис SQL в каждой БД свой. Стандарт ANSI SQL есть, но он регламентирует не все и поддерживается изготовителями СУБД достаточно творчески

Неактивен

 

#7 13.03.2009 14:39:12

believer
Участник
Откуда: Казань
Зарегистрирован: 01.02.2009
Сообщений: 18

Re: АНАЛИЗАТОР SQL-ЗАПРОСОВ

В MySQL Tools for 5.0 имеется libmysqlsqlparser.dll. Наверняка там есть методы (функции) хотя бы для синтаксического анализа SQL. Может, кто-либо использовал? Не поделитесь опытом?

Неактивен

 

#8 10.04.2009 02:07:48

LazY
_cмельчак
MySQL Authorized Developer and DBA
Зарегистрирован: 02.04.2007
Сообщений: 849

Re: АНАЛИЗАТОР SQL-ЗАПРОСОВ

Видимо, нужно исходный код MySQL посмотреть

Неактивен

 

#9 08.12.2009 20:03:53

believer
Участник
Откуда: Казань
Зарегистрирован: 01.02.2009
Сообщений: 18

Re: АНАЛИЗАТОР SQL-ЗАПРОСОВ

rgbeast написал:

Готового решения нет, поэтому придется копаться в исходниках MySQL. И еще, запрос может быть правильным или неправильным в зависимости от структуры таблиц

http://www.sqlparser.com/

Отредактированно believer (08.12.2009 20:04:58)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson