时间: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