cpp

MySQL. Создание таблицы

Для создания таблицы используется метод Exec(). Формат метода:

(*sql.DB).Exec(query string, args ...interface{}) (sql.Result, error)

В первом параметре указывается SQL-запрос на создание таблицы. Успешность операции можно определить через второе возвращаемое значение. Если операция выполнена успешно, то значением будет nil. Добавим в базу данных godb три таблицы (листинг 16.1).

Листинг 16.1. Создание таблицы

package main

import (
   "database/sql"
   "fmt"
   "os"

   _ "github.com/go-sql-driver/mysql"
)

func main() {
   db, err := sql.Open("mysql", "root:@/godb")
   if err != nil {
      fmt.Fprintln(os.Stderr, err)
      return
   }
   defer db.Close()
   _, err = db.Exec("CREATE TABLE `user` (" +
      "`id_user` mediumint(9) auto_increment, " +
      "`email` char(50), " +
      "`passw` char(32), " +
      "PRIMARY KEY (`id_user`), " +
      "UNIQUE KEY (`email`) " +
      ") ENGINE=InnoDB DEFAULT CHARSET=utf8")
   if err != nil {
      fmt.Fprintln(os.Stderr, err)
      return
   }
   _, err = db.Exec("CREATE TABLE `rubr` (" +
      "`id_rubr` mediumint(6) auto_increment, " +
      "`name_rubr` char(150), " +
      "PRIMARY KEY (`id_rubr`) " +
      ") ENGINE=InnoDB DEFAULT CHARSET=utf8")
   if err != nil {
      fmt.Fprintln(os.Stderr, err)
      return
   }
   _, err = db.Exec("CREATE TABLE `site` (" +
      "`id_site` mediumint(9) auto_increment, " +
      "`id_user` mediumint(9), " +
      "`id_rubr` mediumint(6), " +
      "`url` char(255), " +
      "`title` char(80), " +
      "`msg` text, " +
      "`iq` tinyint, " +
      "PRIMARY KEY (`id_site`), " +
      "KEY (`id_rubr`) " +
      ") ENGINE=InnoDB DEFAULT CHARSET=utf8")
   if err != nil {
      fmt.Fprintln(os.Stderr, err)
      return
   }
   fmt.Println("Таблицы созданы")
}

Учебник Go (Golang)
Учебник Go (Golang) в формате PDF

Помощь сайту

ЮMoney (Yandex-деньги): 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов

cpp