推广优化公司网站,河南经贸一站式服务平台,网站色彩代码,网站域名服务器一年多少钱MySQL中的建库#xff0c;建表#xff0c;删库#xff0c;删表#xff0c;添加记录#xff0c;查询#xff0c;删除记录#xff0c;更新记录这些命令是一定要回的#xff0c;就算我们脱离 orm 这些#xff0c;也能直接连接上数据库进行操作。
一、数据库的操作
# 查… MySQL中的建库建表删库删表添加记录查询删除记录更新记录这些命令是一定要回的就算我们脱离 orm 这些也能直接连接上数据库进行操作。
一、数据库的操作
# 查询全部的数据库
show databases;# 创建数据库并制定字符集和排序方式
create database grom_new_dbcharaceter set utf8mb4collate utf8mb4_unicode_ci;# 选中数据库
use grom_new_db;# 删除数据库
drop databases grom_new_db;
二、表的操作
# 查询当前库的所有表
show tables;# 建表
create table users(id bigint unsigned auto_increment primary key,name varchar(50) not null default ,age int unsigned not null default 0,email varchar(50) not null default ,create_at datetime default current_timestamp,updata_at datetime default current_timestamp on update current_timestamp
) engine innodbdefault charset utf8mb4collate utf8mb4_unicode_ci;# 插入数据
insert into users (name, age, email)
values (张三, 18, zhangsanqq.com),(李四, 22, lisiqq.com);# 查询数据
select * from users;# 删除数据
delete from users where id 1;# 更新数据
updata users set name 张三丰, age 19 where id 2;# 删除表
drop table users;
三、通过go去操作sql
db, err : sql.Open(mysql, root:roottcp(127.0.0.1:3306)/gorm_new_db)
if err ! nil {log.Fatalf(数据库连接失败 %s, err)
}
3.1 安装驱动
go get -u github.com/go-sql-driver/mysql
3.2 连接
在连接数据库的时候我们需要使用一句连接字符串格式如下
username:passwordprotocol(address)/dbname?paramvalue
各部分解释
username:password数据库的用户名和密码protocol(address) 指定连接协议和数据库服务器的地址。/dbname要连接的数据库名
3.3 执行sql
我们除了查询语句之后其他的语句全是使用 Exac 函数代码如下
func main()
{// 连接数据库db, err : sql.Open(mysql, root:roottcp(127.0.0.1:3306)/gorm_new_db)if err ! nil {log.Fatalf(数据库连接失败 %s, err)}defer db.close()_, err : db.Exec(CREATE TABLE userss1(id INT NOT NULL , name VARCHAR(20), PRIMARY KEY(ID));)if err2 ! nil {log.Fatal(err2)}fmt.Println(successfully create table)
}
3.4 查询sql
当使用到查询语句的时候我们可以使用 Query 函数
func main() {// 连接数据库db, err : sql.Open(mysql, root:roottcp(127.0.0.1:3306)/gorm_new_db)if err ! nil {log.Fatalf(数据库连接失败 %s, err) }defer db.close() res, err : db.Query(select id, name from users)for res.Next() {var id intvar name string// 这里 scan 的字段要对上err res.Scan(id, name)fmt.Println(id, name, err)}
}
我们也可以使用 QueryRow 函数去查一行的数据代码如下
func main() {// 连接数据库db, err : sql.Open(mysql, root:roottcp(127.0.0.1:3306)/gorm_new_db)if err ! nil {log.Fatalf(数据库连接失败 %s, err)}defer db.close()var id intvar name string// 这里scan的字段要对上err db.QueryRow(select id, name from users).Scan(id, name)fmt.Println(id, name, err)
}