All Projects → blastrain → Vitess Sqlparser

blastrain / Vitess Sqlparser

Licence: apache-2.0
simply SQL Parser for Go ( powered by vitess and TiDB )

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Labels

Projects that are alternatives of or similar to Vitess Sqlparser

Databases
Async database support for Python. 🗄
Stars: ✭ 2,602 (+1291.44%)
Mutual labels:  mysql
Ninja Mutex
Mutex implementation for PHP
Stars: ✭ 180 (-3.74%)
Mutual labels:  mysql
Lairdubois
L'Air du Bois is a Community Driven Woodworkers Sharing Platform.
Stars: ✭ 184 (-1.6%)
Mutual labels:  mysql
Phinx Migrations Generator
A Migration Code Generator for Phinx
Stars: ✭ 178 (-4.81%)
Mutual labels:  mysql
Express React Boilerplate
Express, MySQL, React/Redux, NodeJs Application Boilerplate
Stars: ✭ 179 (-4.28%)
Mutual labels:  mysql
Stackoverflow Clone
Clone project of a famous Q/A website for developers which is stackoverflow built using MySQL-Express-React-Node 🌐
Stars: ✭ 182 (-2.67%)
Mutual labels:  mysql
Qxorm
QxOrm library - C++ Qt ORM (Object Relational Mapping) and ODM (Object Document Mapper) library - Official repository
Stars: ✭ 176 (-5.88%)
Mutual labels:  mysql
Wechatminiprogram Shopping Mall
微信小程序的个体商店前端(以下面一个开源模板为基础)和Java后台(含mysql数据库文件)
Stars: ✭ 186 (-0.53%)
Mutual labels:  mysql
Magento Mysql
Magento default mysql settings
Stars: ✭ 180 (-3.74%)
Mutual labels:  mysql
Ansipress
AnsiPress - Simple L(Linux) E(NGINX) M(MariaDB) P(PHP7) Shared Hosting Setup
Stars: ✭ 184 (-1.6%)
Mutual labels:  mysql
Php Binlog
A PHP-Client for MySQL Binlog
Stars: ✭ 179 (-4.28%)
Mutual labels:  mysql
Tsung
Tsung is a high-performance benchmark framework for various protocols including HTTP, XMPP, LDAP, etc.
Stars: ✭ 2,185 (+1068.45%)
Mutual labels:  mysql
Mysql Magic
dump mysql client password from memory
Stars: ✭ 183 (-2.14%)
Mutual labels:  mysql
Scalardb
Universal transaction manager
Stars: ✭ 178 (-4.81%)
Mutual labels:  mysql
Bilibili User
🍥 Bilibili 用户爬虫
Stars: ✭ 2,377 (+1171.12%)
Mutual labels:  mysql
Mysql Sandbox
Quick and painless install of one or more MySQL servers in the same host.
Stars: ✭ 176 (-5.88%)
Mutual labels:  mysql
Nut
Advanced, Powerful and easy to use ORM for Qt
Stars: ✭ 181 (-3.21%)
Mutual labels:  mysql
Dedecmsv5
中国专业的PHP网站内容管理系统-织梦内容管理系统
Stars: ✭ 187 (+0%)
Mutual labels:  mysql
Datatables
PHP Library to handle server-side processing for Datatables, in a fast and simple way.
Stars: ✭ 185 (-1.07%)
Mutual labels:  mysql
Interview Comment
Stars: ✭ 182 (-2.67%)
Mutual labels:  mysql

vitess-sqlparser

Simply SQL and DDL parser for Go (powered by vitess and TiDB ) this library inspired by https://github.com/xwb1989/sqlparser

(original source : https://github.com/youtube/vitess/tree/master/go/vt/sqlparser)

Why

xwb1989/sqlparser is famous sql parser in Go.
But it cannot parse some query (like offset or bulk insert...) because it customizes vitess's sql parser.

Also, some libraries use from vitess sql parser directly. But vitess's sql parser only partial supports DDL parsing.

We want to perfectly support parsing for SQL and DDL.
Therefore we use vitess sql parser directly and also use TiDB parser for DDL parsing.

Compare SQL parser libraries in Go

library supports offset (or other complexity) query supports DDL
xwb1989/sqlparser
zhenjl/sqlparser
knocknote/vitess-sqlparser

Installation

[NOTE] Required Go version more than 1.9

go get -u github.com/knocknote/vitess-sqlparser

Examples

package main

import (
 	"fmt"
	"github.com/blastrain/vitess-sqlparser/sqlparser"
)

func main() {
	stmt, err := sqlparser.Parse("select * from user_items where user_id=1 order by created_at limit 3 offset 10")
	if err != nil {
		panic(err)
	}
	fmt.Printf("stmt = %+v\n", stmt)
}

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].