1. 程式人生 > >golang基礎-go對資料庫的增刪改查操作

golang基礎-go對資料庫的增刪改查操作

增加

首先看資料庫的結構:

mysql> desc person;
+----------+--------------+------+-----+---------+----------------+
| Field    | Type         | Null | Key | Default | Extra          |
+----------+--------------+------+-----+---------+----------------+
| user_id  | int(255)     | NO   | PRI | NULL    | auto_
increment | | username | varchar(255) | NO | | NULL | | | sex | varchar(255) | YES | | NULL | | | email | varchar(255) | YES | | NULL | | +----------+--------------+------+-----+---------+----------------+ 4 rows in set (0.05 sec)
package main

import (
    "fmt"
    _"github.com/go-sql-driver/mysql"
    "github.com/jmoiron/sqlx"
)

type Person struct {
    UserId   int    `db:"user_id"`
    Username string `db:"username"`
    Sex      string `db:"sex"`
    Email    string `db:"email"`
}

type Place struct {
    Country string
`db:"country"` City string `db:"city"` TelCode int `db:"telcode"` } var Db *sqlx.DB func init() { database, err := sqlx.Open("mysql", "root:[email protected](127.0.0.1:3306)/safly") if err != nil { fmt.Println("open mysql failed,", err) return } Db = database } func main() { r, err := Db.Exec("insert into person(username, sex, email)values(?, ?, ?)", "stu001", "man", "[email protected]") if err != nil { fmt.Println("exec failed, ", err) return } id, err := r.LastInsertId() if err != nil { fmt.Println("exec failed, ", err) return } fmt.Println("insert succ:", id) }
mysql> select * from person;
+---------+----------+------+--------------+
| user_id | username | sex  | email        |
+---------+----------+------+--------------+
|       1 | stu001   | man  | [email protected] |
+---------+----------+------+--------------+
1 row in set (0.00 sec)

查詢

package main

import (
    "fmt"
    _ "github.com/go-sql-driver/mysql"
    "github.com/jmoiron/sqlx"
)

type Person struct {
    UserId   int    `db:"user_id"`
    Username string `db:"username"`
    Sex      string `db:"sex"`
    Email    string `db:"email"`
}

type Place struct {
    Country string `db:"country"`
    City    string `db:"city"`
    TelCode int    `db:"telcode"`
}
var Db *sqlx.DB
func init() {

    database, err := sqlx.Open("mysql", "root:[email protected](127.0.0.1:3306)/safly")
    if err != nil {
        fmt.Println("open mysql failed,", err)
        return
    }

    Db = database
}

func main() {

    var person []Person
    err := Db.Select(&person, "select user_id, username, sex, email from person where user_id=?", 1)
    if err != nil {
        fmt.Println("exec failed, ", err)
        return
    }

    fmt.Println("select succ:", person)
}

輸出如下:

PS E:\golang\go_pro\src\safly> go run demo.go
select succ: [{1 stu001 man [email protected]}]
PS E:\golang\go_pro\src\safly>

修改

package main

import (
    "fmt"
    _ "github.com/go-sql-driver/mysql"
    "github.com/jmoiron/sqlx"
)

type Person struct {
    UserId   int    `db:"user_id"`
    Username string `db:"username"`
    Sex      string `db:"sex"`
    Email    string `db:"email"`
}

type Place struct {
    Country string `db:"country"`
    City    string `db:"city"`
    TelCode int    `db:"telcode"`
}

var Db *sqlx.DB

func init() {

    database, err := sqlx.Open("mysql", "root:[email protected](127.0.0.1:3306)/safly")
    if err != nil {
        fmt.Println("open mysql failed,", err)
        return
    }

    Db = database
}

func main() {

    _, err := Db.Exec("update person set username=? where user_id=?", "stu0001", 1)
    if err != nil {
        fmt.Println("exec failed, ", err)
        return
    }

}
mysql> select * from person;
+---------+----------+------+--------------+
| user_id | username | sex  | email        |
+---------+----------+------+--------------+
|       1 | stu0001  | man  | [email protected] |
+---------+----------+------+--------------+
1 row in set (0.00 sec)

刪除

package main

import (
    "fmt"
    _ "github.com/go-sql-driver/mysql"
    "github.com/jmoiron/sqlx"
)

type Person struct {
    UserId   int    `db:"user_id"`
    Username string `db:"username"`
    Sex      string `db:"sex"`
    Email    string `db:"email"`
}

type Place struct {
    Country string `db:"country"`
    City    string `db:"city"`
    TelCode int    `db:"telcode"`
}

var Db *sqlx.DB

func init() {

    database, err := sqlx.Open("mysql", "root:[email protected](127.0.0.1:3306)/safly")


    if err != nil {
        fmt.Println("open mysql failed,", err)
        return
    }

    Db = database
}

func main() {

    _, err := Db.Exec("delete from person where user_id=?", 1)
    if err != nil {
        fmt.Println("exec failed, ", err)
        return
    }

    fmt.Println("delete succ")
}

輸出如下:

mysql> select * from person;
Empty set (0.00 sec)

相關推薦

Java資料庫刪改操作

基於前面練習所出現的問題對其進行修改,可以成功的對資料庫資訊進行增刪改查四項基本操作。 以下是部分修改的程式碼,整體的程式碼詳見前天的練習2。初始介面就不說了。 首先來到初始介面,點選瀏覽,會出現資料庫的資訊。 前面所出現的問題是,點選瀏覽之後,不斷的重複出現資訊新

golang基礎-go資料庫刪改操作

增加 查詢 修改 刪除 增加 首先看資料庫的結構: mysql> desc person; +----------+--------------+------+-----+---------+-------------

JavaWeb程序利用Servlet的SQLserver刪改操作

tag struct 連接失敗 -1 rop quest map rom stream 聲明:學了幾天終於將增刪改查的操作掌握了,也發現了一些問題,所以總結一下. 重點:操作數據庫主要用的是SQL語句跟其他無關. 一:前提知識:PreparedStatement

1112_Springboot+Mybaits+Mysql資料庫刪改操作——上路

Springboot+Mybaits+Mysql資料庫增刪改查操作 瘋人願的瘋言瘋語 2017.11.03 16:37* 字數 754 閱讀 414評論 0喜歡 4 最近在老師的建議下,參加了一個學習小組,主要了解Spring Cloud微服務架構的應用開發,在初次搭建好環境後,這

Python之MySQL資料庫刪改操作

Python之MySQL資料庫操作 Python之連線資料庫 import pymysql # 獲取連線物件conn,建立資料庫的連線 def get_conn(): conn =

HTML5本地儲存indexDB新建資料庫資料庫刪改操作

var content = null; // 本演示使用的資料庫名稱 var dbName = 'project'; // 版本 var version = 1; // 資料庫資料結果 var db; // 開啟資料庫 var DBO

MyBatis框架基於Annotation註解的資料庫刪改操作

 程式碼: User.java package com.bean; import java.io.Serializable; public class User implements Serial

mongo資料庫刪改操作

/*** 新建資料庫,。表 。,資料*/Mongo mo=new Mongo("ip地址");db=mo.getDB("temp");//新建一個庫 如果有則在此資料庫中操作,如果沒有新建此資料庫DBCollection dbc=db.getCollection("His_

014-Go Web pg刪改測試

sca AC %d ons password tab exe pack git 1:data/data.go package data import( "fmt" "database/sql" _"github.com/lib/pq" ) co

python 連線oracle資料庫錶進行刪改操作

Python 建立連線oracle資料庫的三種方式: 方式一:使用者名稱、密碼和監聽分開寫 import cx_Oracle db=cx_Oracle.connect('username/[email protected]/orcl') db.close()

ASP.NET 使用類資料庫進行刪改操作

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Dat

MYSQL資料庫 刪改基礎語句

語法:create table tablename(column_name_1 column_type_1 constraints,column_name_2 column_type_2 constraints,column_name_3 column_type_3 constraints)

使用sql標籤來實現資料庫當中記錄刪改操作

1:實現向資料庫當中進行資料的插入操作 <%@ page language="java" contentType="text/html; charset=utf-8" pageEncod

MyBatis資料庫刪改操作,簡單示例

之前一直實用Hibernate進行開發,最近公司在使用Mybatis,根據網上的示例,做了一個簡單的Demo,以便日後複習 使用XMl方式對映sql語句 總體結構如下圖 首先是建立一個工程,然後匯入兩個jar包,然後編寫mybatis的jdbc配置檔案Configu

Mybatis(一)—實現資料庫刪改操作

1.Mybatis簡介 MyBatis 本是apache的一個開源專案iBatis, 2010年這個專案由apache software foundation 遷移到了google code,並且改名為MyBatis 。2013年11月遷移到Github。

用python3資料庫mysql進行建立庫、表、刪改操作

import pymysql import sys # python mysql 建立庫、表增刪改查標準語句 print('----------------------------') print('載入mysql模組完成') con = pymysql.connect(ho

基於ajax的三層,實現資料庫刪改基礎(一DAL)

  三層的組成就是DAL,BLL,UI層和Model層。其中的DAL層是與資料庫連結,需要引用Model層,進行對資料的操作,但我們一般在此層不進行資料的處理。BLL層負責引用DAL和MODEL層,在

使用Spring框架下的JdbcTemplate 完成資料庫刪改操作

還記得以前做的畢業設計是用的C3P0包,而當時並沒有使用到三大框架。現在畢業工作了,但是感覺要學的比工作深一層,一是提高自己的能力,二是以防萬一要換工作了,起碼掌握的東西能支撐自己以後的工作。不過這時候感覺自己就像java萌新(不,其實就是。) 現在第一篇技術相關的文章就寫

第六章:DjangomySQL資料庫刪改操作

上一章中介紹了用Django連線MySQL資料庫,本章介紹最基本的增刪改查操作,繼續利用上一章建立的表 一、新增資料 1、引入資料模組 from models import Blog

利用反射實現sqlite3資料庫的crud(刪改)操作的一個baseAndroidDao封裝,安卓開發中

1.說明 博主主要是做java web後臺這一塊,但是偶爾做點安卓,發現安卓上沒有像Hibernate這種orm框架(....其實也沒有去找), 又覺得每次增刪改查都自己寫程式碼的話肯定是非常麻煩的,所以就寫了一個簡單的baseAndroidDao來封裝一些簡單的增刪改查操