一、mysql操作基本语法

1、创建名称nulige的数据库

CREATE DATABASE nulige DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

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)
}
}

  #执行结果:

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 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

  

Go语言之进阶篇mysql增 删 改 查的更多相关文章

  1. php5.4以上 mysqli 实例操作mysql 增,删,改,查

    <?php //php5.4以上 mysqli 实例操作mysql header("Content-type:text/html;charset=utf8"); $conn ...

  2. iOS sqlite3 的基本使用(增 删 改 查)

    iOS sqlite3 的基本使用(增 删 改 查) 这篇博客不会讲述太多sql语言,目的重在实现sqlite3的一些基本操作. 例:增 删 改 查 如果想了解更多的sql语言可以利用强大的互联网. ...

  3. 好用的SQL TVP~~独家赠送[增-删-改-查]的例子

    以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化.  本系列主要是针对T-SQL的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础] ...

  4. iOS FMDB的使用(增,删,改,查,sqlite存取图片)

    iOS FMDB的使用(增,删,改,查,sqlite存取图片) 在上一篇博客我对sqlite的基本使用进行了详细介绍... 但是在实际开发中原生使用的频率是很少的... 这篇博客我将会较全面的介绍FM ...

  5. django ajax增 删 改 查

    具于django ajax实现增 删 改 查功能 代码示例: 代码: urls.py from django.conf.urls import url from django.contrib impo ...

  6. ADO.NET 增 删 改 查

    ADO.NET:(数据访问技术)就是将C#和MSSQL连接起来的一个纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中 也可以将数据库中的数据提取到内存中供程序调用 ADO.NET所有数据访 ...

  7. MVC EF 增 删 改 查

    using System;using System.Collections.Generic;using System.Linq;using System.Web;//using System.Data ...

  8. python基础中的四大天王-增-删-改-查

    列表-list-[] 输入内存储存容器 发生改变通常直接变化,让我们看看下面列子 增---默认在最后添加 #append()--括号中可以是数字,可以是字符串,可以是元祖,可以是集合,可以是字典 #l ...

  9. Mysql基本操作语句 增-删-改-查

    增 INSERT INTO 表名(属性名1,属性名2) VALUES(值1,值2) 删 DELETE FROM <表名> [WHERE 子句] [ORDER BY 子句] [LIMIT 子 ...

随机推荐

  1. linux学习笔记-4.系统命令

    1.查看主机名 hostname 2.修改主机名(重启后无效) hostname hadoop 3.修改主机名(重启后永久生效) vi /ect/sysconfig/network 4.修改IP(重启 ...

  2. 新手通过SVN向eclipse中导入项目注意事项

    该文章进行的前提是,jdk.eclipse.tomcat.maven已安装完成 要从svn上获取项目数据,首先要安装svn 1)通过help->installsoft->svn->a ...

  3. Android-多进程初识

    Android-多进程初识 学习自 <Android开发艺术探索> https://baike.baidu.com/item/%E8%BF%9B%E7%A8%8B/382503?fr=al ...

  4. BZOJ.3143.[HNOI2013]游走(概率 期望 高斯消元)

    题目链接 参考 远航之曲 把走每条边的概率乘上分配的标号就是它的期望,所以我们肯定是把大的编号分配给走的概率最低的边. 我们只要计算出经过所有点的概率,就可以得出经过一条边(\(u->v\))的 ...

  5. Java可视化编程---SendMail工具的开发

    介绍: SendMail是一款简便的163邮箱发件工具 利用了163的SMTP接口来发送邮件 版本号:SendMail v1.0 在编写发送邮件工具之前,还需要安装 JavaMail API 和Jav ...

  6. GET POST方法长度限制(转)

    1.    Get方法长度限制 Http Get方法提交的数据大小长度并没有限制,HTTP协议规范没有对URL长度进行限制.这个限制是特定的浏览器及服务器对它的限制. 如:IE对URL长度的限制是20 ...

  7. 使用CefSharp在.Net程序中嵌入Chrome浏览器(七)——右键菜单

    一个常用的功能就是禁止浏览器本身的右键菜单,靠在WPF中拦截鼠标事件是不行的,可以通过设置MenuHandler来实现. 首先实现一个IContextMenuHandler. public class ...

  8. 在ASP.NET MVC下扩展一个带验证的RadioButtonList

    在ASP.NET MVC4中,HtmlHelper为我们提供了Html.RadioButton()方法用来显示Radio Button单选按钮.如果想显示一组单选按钮,通常的做法是遍历一个集合把每个单 ...

  9. maven报错

    今天执行mvn test的时候提示: 错误:读取 /home/subaochen/.m2/repository/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.ja ...

  10. 【工具类】怎么进入阿里云docker仓库

    进入阿里云docker仓库. 1.进入官网 2.选择 开发者  --->点击 阿里开源项目 3.选择  服务 点击代码托管.仓库 下的 容器镜像服务 4.点击进入 管理控制台 5.点击镜像搜索, ...