builder

package module
v0.0.0-...-28ac8a9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 18, 2020 License: MIT Imports: 7 Imported by: 0

README

QueryBuilder
QueryBuilder

Query Builder is a flexible tool developed using Go, that is used to help in creating all kinds of SQL queries. Query Builder lets you create lengthy queries and complexity without the need to know the underlying database model.

First of all, we need to follow the below steps to set the env variable and create SQL Builder instance,

SET ENV VARIABLE :

  os.Setenv("DB_USER", <username>)
  os.Setenv("DB_PASSWORD", <password>)
  os.Setenv("DB_DATABASE", <database>)
  os.Setenv("DRIVER", <driver>)

CREATE SQL BUILDER INSTANCE :

  builders := builder.NewSQLBuilder("mysql")

After doing this, we can now use builders for creating any query.

Supported sql query
  • DDL (Data Definition Language)
    • Create (table, database)

      • Example :
         ddlQuery := builders.NewDDL()
         createDatabase := ddlQuery.Create().Database("TestDatabase")
         result, err := createDatabase.Execute()
         if err != nil {
           log.Fatal(err)
         }
         _, err = result.LastInsertId()
         if err != nil {
           log.Fatal(err)
         }
         log.Println("TestDatabase is created")
      
    • Drop (table, database)

      • Example :
         drop := builders.NewDDL().Drop()
         table := drop.Table([]string{"products"})
         result, err := table.Execute()
         if err != nil {
           log.Fatal(err)
         }
         output, er := result.RowsAffected()
         if er != nil {
           log.Fatal(err)
         }
         log.Println("products table drop successfully")
       }
      
    • Alter (table, database)

    • Truncate

  • DML (Data Manipulation Language)
    • Insert query
    • Update query
    • Delete query
  • DCL (Data Control Language)
    • Grant
    • Revoke Grant
  • TCL (Transaction Control Language)
    • Commit
    • Rollback
    • Save point
  • DQL (Data Query language)
    • Select

For more examples, have a look at the examples folder.

Documentation

Index

Constants

View Source
const (
	DDL = iota + 1
	DML
)

Variables

This section is empty.

Functions

This section is empty.

Types

type SQL

type SQL interface {
	NewDDL() ddl.Service
	NewDML() dml.Service

	SelectDB(name string) error
	GetSelectedDB() string
	// contains filtered or unexported methods
}

func NewSQLBuilder

func NewSQLBuilder(driver string) SQL

NewSQLBuilder constructor for the SQLBuilder

type SQLBuilder

type SQLBuilder struct {
	DB *sql.DB
	// contains filtered or unexported fields
}

SQLBuilder struct expos the different type of sql query

func (*SQLBuilder) GetSelectedDB

func (s *SQLBuilder) GetSelectedDB() string

GetSelectedDB function used to get the selected database.

func (*SQLBuilder) NewDDL

func (s *SQLBuilder) NewDDL() ddl.Service

NewDDL function is entry point for the DDL(Data Definition Language)

func (*SQLBuilder) NewDML

func (s *SQLBuilder) NewDML() dml.Service

NewDML function is entry point for the DML(Data Manipulation Language)

func (*SQLBuilder) SelectDB

func (s *SQLBuilder) SelectDB(name string) error

SelectDB function used to select the database.

Directories

Path Synopsis
ddl
dml

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL