当前位置:Gxlcms > 数据库问题 > golang.mysql

golang.mysql

时间:2021-07-01 10:21:17 帮助过:4人阅读

一、mysql操作基本语法

1、创建名称nulige的数据库 

CREATE DATABASE nulige DEFAULT CHARSET utf8 COLLATE utf8_general_ci;<br><br>use nulige

2、建表,Id自增

create table user_info(     nid int not null auto_increment primary key,     username varchar(20),     departname varchar(20),     create_time timestamp default "0000-00-00 00:00:00" ); 

3、往表中插入数据

INSERT INTO user_info (username,departname,create_time) VALUES ("nulige","行政部","2019-1-13 12:23:00"); INSERT INTO user_info (username,departname,create_time) VALUES ("jojo","财务部","2019-1-14 1:23:00"); INSERT INTO user_info (username,departname,create_time) VALUES ("huhui","销售部","2019-1-15 2:23:00");

4、查询表中内容

mysql> select * from user_info; +-----+----------+------------+---------------------+ | nid | username | departname | create_time         | +-----+----------+------------+---------------------+ |   1 | nulige   | 行政部   | 2019-01-13 12:23:00 | |   2 | jojo      | 财务部    | 2019-01-14 01:23:00 | |   3 | huhui    | 销售部    | 2019-01-15 02:23:00 | +-----+----------+------------+---------------------+ 3 rows in set (0.00 sec) 

5、删除数据库

mysql> drop database nulige; Query OK, 1 row affected (0.01 sec)

6、清空表中数据,保留表结构

mysql> delete from user_info; Query OK, 5 rows affected (0.00 sec)

  

 二、mysql的增,删,改,查

2.1、增  (备注:往表中插入一条数据)

package main   import (     "database/sql"     "fmt"       //调用mysql初始化包     _ "github.com/go-sql-driver/mysql" )   func main() {     db, err := sql.Open("mysql", "root:qwe!23@tcp(127.0.0.1:3306)/nulige?charset=utf8")     if err != nil {         panic(err)     }       //fmt.Println(db.Ping())  检查是否连接成功数据库     stmt, err := db.Prepare("INSERT user_info SET username=?,departname=?,create_time=?")     if err != nil {         fmt.Println(err)         return     }     res, err := stmt.Exec("eeee", "采购部", "2019-1-29")     id, err := res.LastInsertId()     if err != nil {         panic(err)     }       fmt.Println(id) }

执行结果:

技术图片

2.2、删

 示例:

package main   import (     "database/sql"     "fmt"       //调用mysql初始化包     _ "github.com/go-sql-driver/mysql" )   func main() {     db, err := sql.Open("mysql", "root:qwe!23@tcp(127.0.0.1:3306)/nulige?charset=utf8")     if err != nil {         panic(err)     }       stmt, err := db.Prepare("DELETE FROM user_info WHERE nid=?")     check(err)       res, err := stmt.Exec(5)     check(err)       num, err := res.RowsAffected()     check(err)       fmt.Println(num)     stmt.Close() }   func check(err error) {     if err != nil {         fmt.Println(err)         panic(err)     } }

执行结果:

技术图片

 

2.3、改(更新)

 原数据:

技术图片

更新数据示例:

package main   import (     "database/sql"     "fmt"       //调用mysql初始化包     _ "github.com/go-sql-driver/mysql" )   func main() {     db, err := sql.Open("mysql", "root:qwe!23@tcp(127.0.0.1:3306)/nulige?charset=utf8")     if err != nil {         panic(err)     }       //fmt.Println(db.Ping())  检查是否连接成功数据库     stmt, err := db.Prepare("update user_info SET username=? where nid=?")     if err != nil {         fmt.Println(err)         return     }     res, err := stmt.Exec("dddd", 5)     id, err := res.RowsAffected()     if err != nil {         panic(err)     }       fmt.Println(id) }

执行结果:  把username:cccc,修改成dddd

技术图片

 

2.4、查

示例 : 查id=? 的一条记录

package main   import (     "database/sql"     "fmt"       //调用mysql初始化包     _ "github.com/go-sql-driver/mysql" )   func main() {     db, err := sql.Open("mysql", "root:qwe!23@tcp(127.0.0.1:3306)/nulige?charset=utf8")     if err != nil {         panic(err)     }       rows, err := db.Query(" SELECT * FROM user_info where nid=3")     if err != nil {         panic(err)     }       for rows.Next() {         var nid int         var username string         var department string         var create_time string         err = rows.Scan(&nid, &username, &department, &create_time)         fmt.Println(nid, username, department, create_time)     } }

  #执行结果:

1 3 huhui 销售部 2019-01-15 02:23:00

  

 示例2:查看所有记录

package main   import (     "database/sql"     "fmt"       //调用mysql初始化包     _ "github.com/go-sql-driver/mysql" )   func main() {     db, err := sql.Open("mysql", "root:qwe!23@tcp(127.0.0.1:3306)/nulige?charset=utf8")     if err != nil {         panic(err)     }       rows, err := db.Query(" SELECT * FROM user_info")     if err != nil {         panic(err)     }       for rows.Next() {         var nid int         var username string         var department string         var create_time string         err = rows.Scan(&nid, &username, &department, &create_time)         fmt.Println(nid, username, department, create_time)     } }

执行结果:

1 2 3 4 5 6 1 nulige 行政部 2019-01-13 12:23:00 2 jojo 财务部 2019-01-14 01:23:00 3 huhui 销售部 2019-01-15 02:23:00 4 aaaa 销售部 2019-01-15 02:23:00 5 dddd 销售部 2019-01-15 02:23:00 6 eeee 采购部 2019-01-29 00:00:00

golang.mysql

标签:png   root   数据   incr   username   panic   语法   word   fun   

人气教程排行