Query dialects ============== The `Energy.Query.Dialect` namespace contains SQL dialect implementations for generating database-specific scripts. MySQL ----- **Energy.Query.Dialect.MYSQL** generates MySQL-compatible SQL. ```csharp Energy.Query.Dialect.MYSQL mysql = new Energy.Query.Dialect.MYSQL(); Energy.Source.Structure.Table table = new Energy.Source.Structure.Table(); table.Name = "Users"; table.Engine = "InnoDB"; table.Columns.New("Id").Type = "BIGINT"; table.Columns.New("Name").Type = "VARCHAR(100)"; string sql = mysql.CreateTable(table, Energy.Query.Style.Global); ``` SQLite ------ **Energy.Query.Dialect.SQLITE** generates SQLite-compatible SQL. ```csharp Energy.Query.Dialect.SQLITE sqlite = new Energy.Query.Dialect.SQLITE(); string sql = sqlite.CreateTable(table, Energy.Query.Style.Global); ``` SQL Server ---------- **Energy.Query.Dialect.SQLSERVER** generates Microsoft SQL Server T-SQL. ```csharp Energy.Query.Dialect.SQLSERVER sqlserver = new Energy.Query.Dialect.SQLSERVER(); string sql = sqlserver.CreateTable(table, Energy.Query.Style.Global); ``` ANSI ---- **Energy.Query.Dialect.ANSI** is an empty placeholder for ANSI SQL-92 standard dialect. IDialect interface ------------------ All dialects implement `Energy.Interface.IDialect`, which includes: - `CreateTable(Table, Style)` - `CreateTable(Table)` - `CreateColumn(Column)` - `CreateIndex(Index)` - `DropTable(Table)` - `DropColumn(Column)` - `DropIndex(Index)` - `DropTable(string)` - `Select(Statement.Select)` - `Insert(Statement.Insert)` See also -------- - `query-script` - `query-statement` - `query-style` - `interface-contracts`