安装MySQL Server + MySQL Workbench + MySQL Connection/Net.(安装了MySQL Server自动会安装 MySQL Workbench )。
MySQL Server:专门用来提供数据存储和服务的软件。
MySQL Workbench:可视化的 MySQL 管理工具,通过它,可以方便的操作存储在 MySQL Server 中的数据。
MySQL Connection/Net,建议下载5.2.7版本及以下的,默认会下载最新版,但是有较大概率会出现键值找不到的问题。
将 MySQL Connection/Net 安装包中的 MySql.Data.dll放进Unity的Plugins文件夹(没有就新建一个)。Scripts文件夹(没有就新建一个)里新建一个C# 脚本 ,命名为 ConnectMySql。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using MySql.Data.MySqlClient;
public class ConnectMySql : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
//数据库地址、端口、用户名、数据库名、密码
string sqlSer = "server = 127.0.0.1;port = 3306;user= root;database = mydatabase;password = admin123;charset = utf8";
//建立连接
MySqlConnection conn = new MySqlConnection(sqlSer);
try
{
conn.Open();
Debug.Log("------链接成功------");
//sql语句
string sqlQuary = "SELECT * FROM mytable;";
Debug.Log(sqlQuary);
MySqlCommand comd = new MySqlCommand(sqlQuary, conn);
MySqlDataReader reader = comd.ExecuteReader();
while (reader.Read())
{
//通过reader获得数据库信息
Debug.Log(reader.GetString("user_name"));
}
}
catch (System.Exception e)
{
Debug.Log("Error:" + e.Message);
}
finally
{
conn.Close();
}
}
// Update is called once per frame
void Update()
{
}
}
//数据库地址、端口、用户名、数据库名、密码
string sqlSer = "server = 127.0.0.1;port = 3306;user= root;database = mydatabase;password = admin123;charset = utf8";
上述代码填上数据库的信息,没有就新建一个。
server = 127.0.0.1;port = 3306;user= root;database = mydatabase;password = admin123;charset = utf8
数据库的属性信息对应的信息如下:
准备好后,场景里新建一个 GameObject ,并把脚本挂接上去后运行。
注:运行后,可能会出现 “The given key ‘utf8mb4‘ was not present in the dictionary”的错误警告,
这是因为MySql数据库默认是 utf8mb4,但 dll里为默认 utf8。(可在MySQL 数据库中,输入SHOW VARIABLES LIKE 'character_set%';进行查询,可看到为 uf8mb4 )。
这时候只需要打开 mysql.data.dll 免费下载 | DLL‑files.com
下载第三个文件,然后替换掉之前Plugins里的dll文件基本就解决了。
我的MySQL数据表为
最后执行结果如下: