github.com/RevenueMonster/sqlike@v1.0.6/sql/dialect/mysql/column.go (about)

     1  package mysql
     2  
     3  import sqlstmt "github.com/RevenueMonster/sqlike/sql/stmt"
     4  
     5  // GetColumns :
     6  func (ms *MySQL) GetColumns(stmt sqlstmt.Stmt, dbName, table string) {
     7  	stmt.WriteString(`SELECT ORDINAL_POSITION, COLUMN_NAME, COLUMN_TYPE, COLUMN_DEFAULT, IS_NULLABLE,
     8  	DATA_TYPE, CHARACTER_SET_NAME, COLLATION_NAME, COLUMN_COMMENT, EXTRA FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ? ORDER BY ORDINAL_POSITION;`)
     9  	stmt.AppendArgs(dbName, table)
    10  }
    11  
    12  // RenameColumn :
    13  func (ms *MySQL) RenameColumn(stmt sqlstmt.Stmt, db, table, oldColName, newColName string) {
    14  	stmt.WriteString("ALTER TABLE " + ms.TableName(db, table))
    15  	stmt.WriteString(" RENAME COLUMN " + ms.Quote(oldColName) + " TO " + ms.Quote(newColName))
    16  	stmt.WriteByte(';')
    17  }
    18  
    19  // DropColumn :
    20  func (ms *MySQL) DropColumn(stmt sqlstmt.Stmt, db, table, column string) {
    21  	stmt.WriteString("ALTER TABLE " + ms.TableName(db, table))
    22  	stmt.WriteString(" DROP COLUMN " + ms.Quote(column))
    23  	stmt.WriteByte(';')
    24  }