mysql 里面有go的用法吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 里面有go的用法吗相关的知识,希望对你有一定的参考价值。

Select * from employee where saraly=(select max(saraly) from employee)
go
Select * from employee where saraly=(select min(saraly) from employee)
这样为什么会报错呢

mysql不像 SQL Server,写一段SQL,要go了才执行,默认 分号就执行了。

在网上找了一大堆例子,最后简化一下把,一下会从安装mysql开始,与大家分享一下如何用go链接服务器上的mysql
我用的是ubuntu系统
1,安装mysql:sudo apt-get install mysql-server (记住root的密码假设密码为root123)
2,进入mysql:mysql -uroot -p 然后输入密码
3,创建一个数据库:create database people;
4,给数据库people添加用户:GRANT ALL PRIVILEGES ON people.* TO peo@localhost IDENTIFIED BY "peo123";
5,调整数据库配置以便于远程访问:GRANT ALL PRIVILEGES ON people.* TO peo@“%” IDENTIFIED BY "peo123"; 然后推出mysql执行:sudo nano /etc/mysql/my.cnf
修改bind-address=127.0.0.1 到bind-address= 机器的IP(就是安装mysql的机器的ip)
6,重启mysql:sudo /etc/init.d/mysql restart
7,建表:首先进入mysql:mysql -u peo -p
进入数据库下:use people
创建表:create table hello(age int, name varchar(10));
插入一条数据:insert into hello(age, name) values(19, "hello world");
至此数据库方面的工作已经做好,接下来是go语言了
8,首先下载mysql的驱动包(应该是这样叫)执行 go get github.com/go-sql-driver/mysql代码会下载到你的gopath下(执行export可以查看gopath)
接着就是下面的代码了
package main
import "database/sql"
import _ "github.com/go-sql-driver/mysql"
import "encoding/json"
import "fmt"

type User struct
Age int `json:"age"`
Name string `json:"name"`


func main()
fmt.Println("start")

db, err := sql.Open("mysql", "peo:peo123@tcp(192.168.0.58:3306)/people?charset=utf8")
if err != nil
panic(err)


rows, err := db.Query("select age,name from hello")
if err != nil
panic(err)

defer rows.Close()

for rows.Next()
user := &User
err = rows.Scan(&user.Age, &user.Name)
if err != nil
painc(err)

b, _ := json.Marshal(user)
fmt.Println(string(b))

println("end")

至此结束追问

虽然没看懂,但还是谢谢你那么用心

参考技术A go是干嘛的没见过 ,你想干嘛啊
相求两个集合的并集用 union
想求两个集合的差用 minus 或者 except追问

这里的私信怎么一直发不出呢 怎么加好友 不懂用

追答

私信可以成功啊,我也不知道怎么加好友
有问题可以私信我
也可以加我企鹅 希望能帮到你
851411534

追问

你真的很犀利 膜拜

来自:求助得到的回答本回答被提问者采纳
参考技术A select * from employee order by sallery desc limit 1;不要子查询貌似也行

关于sql 中 use go 的具体用法

SQL脚本是一种用SQL语言写的批处理文件(.sql),SQL脚本通常可以由SQL查询分析器来执行。
=====================================================
GO向 SQL Server 实用工具发出一批 Transact-SQL 语句结束的信号。go是把t-sql语句分批次执行。(一步成功了才会执行下一步,即一步一个GO)

语法
GO

注释
GO 不是Transact-SQL语句;而是可为cmdsql和osql实用工具及SQL Server查询分析器识别的命令。

SQL Server实用工具将GO解释为应将当前的Transact-SQL批处理语句发送给SQL Server的信号。当前批处理语句是自上一GO命令后输入的所有语句,若是第一条GO命令,则是从特殊会话或脚本的开始处到这条GO命令之间的所有语句。
GO命令和Transact-SQL语句不可在同一行上。但在GO命令行中可包含注释。

用户必须遵照使用批处理(.sql)的规则。
例如,在批处理(.sql)中的第一条语句后执行任何存储过程必须包含EXECUTE关键字。
再有,局部(用户定义)变量的作用域限制在一个批处理中,不可在GO命令后引用。

USE pubs
GO
DECLARE @MyMsg VARCHAR(50)
SELECT @MyMsg = 'Hello,World.'
GO --@MyMsg is not valid after this GO ends the batch.

--Yields an error because @MyMsg not declared in this batch.
PRINT @MyMsg
GO

SELECT @@VERSION;
--Yields an error: Must be EXEC sp_who if not first statement in
--batch.
sp_who
GO

SQL Server应用程序可将多条Transact-SQL语句作为一个批处理发给SQL Server去执行。在此批处理中的语句编译成一个执行计划。程序员在SQL Server实用工具中执行特定语句,或生成Transact-SQL语句脚本在SQL Server实用工具中运行,用GO来标识批处理的结束。

如果基于DB-Library、ODBC或OLE DB APIs的应用程序试图执行GO命令时会收到语法错误。SQL Server实用工具永远不会向服务器发送GO命令。

权限
GO 是一个不需权限的实用工具命令。可以由任何用户执行。

示例
下面的示例创建两个批处理。第一个批处理只包含一条USE pubs语句,用于设置数据库上下文。剩下的语句使用了一个局部变量,因此所有的局部变量声明必须在一个批处理中。这一点可通过在最后一条引用此变量的语句之后才使用GO命令来做到。

USE pubs
GO
DECLARE @NmbrAuthors int
SELECT @NmbrAuthors = COUNT(*)
FROM authors
PRINT 'The number of authors as of' +
CAST(GETDATE() AS char(20)) + 'is' +
CAST(@NmbrAuthors AS char (10))
GO

=================================================
USE //改变当前操作数据库
用法:
USE 数据库名
例:
CREATE DATABASE XX1 --创建XX1数据库
………………
GO
CREATE DATABASE XX2 --创建XX2数据库
………………
GO
USE XX1 --转到XX1数据库
GO
………… --对XX1数据库的操作
GO
USE XX2 --转到XX2数据库
GO
………… --对XX2数据库的操作
GO

USE在存储过程中不能直接使用
但可以这样用:
create proc test
as
exec('use pubs select * from jobs') --或者exec(use pubs) exec sp_adduser 'xxxx'
go

--使用Exec(ute)语句配合USE来改变当前数据库,但数据库环境的更改只在Execute语句结束前有效,所以必须把后面的语句和Execute放到一起
exec test
参考技术A GO的意思是分批处理语句有加这个GO ,就执行GO 行的代码,执行后再执行接下来的代码,像这样的情况下就要用到use GO ,分批处理数据
use master
go
if exists (select * from sysdatabases where name = 'kejianDB')
drop database kejianDB
go
create database kejianDB
go
use kejianDB
go
--(行业表)
create table Trade
(
tra_Id int primary key identity(1,1) not null, --行业ID (主键、自增长)
tra_Name varchar(50) not null --行业名称
)
go
参考技术B use使用哪个数据库
go执行上述语句

以上是关于mysql 里面有go的用法吗的主要内容,如果未能解决你的问题,请参考以下文章

关于SQL “GO”用法

golang build 的简单用法.(菜鸟初学)

Go标准库:Go template用法详解

Python里面的负号的各种神奇用法?来填坑啦

请教Python里的queryset是啥,以及Objects类的用法?

php Smarty里面truncate 类似的用法