ANSI SQL 문자열을 다양한 구성 요소로 토큰 화/파싱하는 오픈 소스 라이브러리 (모든 언어, Python/PHP를 선호)가 있습니까? 나는 다음과 같은 문자열SQL 명령을 포함하는 문자열 파싱/토큰 화
SELECT a.foo, b.baz, a.bar
FROM TABLE_A a
LEFT JOIN TABLE_B b
ON a.id = b.id
WHERE baz = 'snafu';
이 있다면
즉, I 재 작성
//fake PHPish
$results['select-columns'] = Array[a.foo,b.baz,a.bar];
$results['tables'] = Array[TABLE_A,TABLE_B];
$results['table-aliases'] = Array[a=>TABLE_A, b=>TABLE_B];
//etc...
같은 데이터 구조/객체 뭔가를 다시 얻을 것, 나는의 코드를 찾고 있어요 엔진이 SQL 명령을 어떻게 처리해야하는지 알 수 있도록 SQL 명령을 괴롭히는 데이터베이스 패키지. 인터넷을 검색하면 SQL WITH 문자열을 구문 분석하는 방법에 대한 많은 결과가 나타납니다. 그건 내가 원하는 것이 아니야.
나는 내가 원하는 것을 찾기 위해 오픈 소스 데이터베이스의 코드를 통해 glop 수 실현,하지만 난 뭔가를 기대했다 (만들어 더 준비가 조금 있지만 당신은 는 MySQL, PostgreSQL을, SQLite는 소스에 알고있는 경우 보기, 함께 전달해 주시기 바랍니다)
고마워요!
http://stackoverflow.com/questions/1394998/parsing-sql-with-python – bernie