Unity连接MySQL

首先去官网下载一个MySQL
网址:https://dev.mysql.com/downloads/mysql/
我用的版本是5.5.62

然后下载了一个可视化工具
网址:https://www.navicat.com.cn/products#navicat
(15天免费用,过期的话就搞一个破解工具吧!)

然后去MySQL官网下载mysql.data.dll文件
在这里插入图片描述
我用的是Unity2018.3.0f2
附上一个mysql.data.dll链接
链接:https://pan.baidu.com/s/1p5uOUMgJ6caYMLI8b_YR6g
提取码:215w

然后放在Unity的Plugins文件夹中
在这里插入图片描述
然后创建代码:引用命名空间
在这里插入图片描述
开始测试连接:

	static string server;
    static string database;
    static string uID;
    static string password;
    
    static MySqlConnection mycon;
    void Start()
    {
    //连接的本地电脑的所以直接用localhost了
        server="localhost";
        //数据库名称
        database="mydatabase";
        //帐号
        uID="root";
        //密码
        password="root";

        string constr="Server="+server+";Database="+database+";User Id="+uID+";Password="+password;

        //建立连接的语句
        //如果事本地数据库server为localhost,不是则输入server的地址
        mycon = new MySqlConnection(constr);//建立连接
        mycon.Open()

		//Insert();
        //Select()
        
        mycon.Close(); //关闭连接
    }

来给数据库插入一条记录,写了一个方法,然后去上面Start里面调用
前提数据库要有这个表和这几个名,跟下面的insert插入命令里面的名称对应
在这里插入图片描述

static void Insert()
    {
        //插入指令
        try
        {
            MySqlCommand mycmd = new MySqlCommand(
                "insert into hiscores(id,name,score) values(1,'aaa',100)", mycon);
            if (mycmd.ExecuteNonQuery()>0)
            {
                Debug.Log("Insert success!");
            }
        }
        catch (Exception e)
        {
            throw new Exception("插入错误:"+e.Message.ToString());
        }
    }

然后调用方法运行一下程序

在这里插入图片描述
Unity没有报错,然后刷新一下表
在这里插入图片描述
成功插入

查询数据库

static void Select()
    {
        //查询指令
        string selstr = "select * from hiscores";
        MySqlCommand myselect = new MySqlCommand(selstr, mycon);
        DataSet ds = new DataSet();
        try
        {
            MySqlDataAdapter da = new MySqlDataAdapter(selstr, mycon);
            da.Fill(ds);
            Debug.Log("Query success!");
            
            //读取第一个表中的所有的数据
            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                for (int j = 0; j < ds.Tables[0].Rows[i].ItemArray.Length; j++)
                {
                    print("第一个表中的数据" +ds.Tables[0].Rows[i][j]);
                }
            }
        /*
        print("第一条记录的长度"+ ds.Tables[0].Rows[0].ItemArray.Length);
        print(ds.Tables[0].Rows[0].ItemArray[1].ToString());
        print("数据库表里面有多少条记录:"+ ds.Tables[0].Rows.Count);
        print("数据库中有多少个表:"+ ds.Tables.Count);
        */
        }
        catch (Exception e)
        {
            throw new Exception("查询错误:" + e.Message.ToString());
        }
    }

调用这个方法。成功查询到这个表的所有记录
在这里插入图片描述

End…

Unity连接MySQL数据库通常需要通过第三方库来完成,因为Unity本身并不直接支持SQL数据库连接。一个常用的解决方案是使用`Newtonsoft.Json`库处理JSON数据交换,配合`MySQL.Data`或`MySqlConnector`这样的MySQL.NET驱动。 以下是简单的步骤: 1. **安装NuGet包**: - 在Unity项目中打开Package Manager Console (Window > Package Manager > Package Manager Console)。 - 运行以下命令安装`Newtonsoft.Json`: ``` Install-Package Newtonsoft.Json ``` - 对于MySQL驱动,你可以选择其中任意一个: - `MySql.Data`: `Install-Package MySql.Data` - 或者 `MySqlConnector`: `Install-Package MySqlConnector` 2. **配置数据库连接**: 在Unity中创建一个脚本,例如`DatabaseManager.cs`,编写代码来设置数据库连接信息: ```csharp using System.Collections.Generic; using UnityEngine; using Newtonsoft.Json.Linq; using MySql.Data.MySqlClient; public class DatabaseManager : MonoBehaviour { private MySqlConnection connection; // 替换为你的数据库连接字符串 private const string connectionString = "server=your_server;user id=your_username;password=your_password;database=your_database"; void Start() { TryConnect(); } private void TryConnect() { connection = new MySqlConnection(connectionString); if (connection.Open()) { Debug.Log("Connected to MySQL successfully!"); } else { Debug.LogError($"Failed to connect: {connection.LastError}"); } } // 示例方法:执行查询并返回Json对象 private JObject ExecuteQuery(string query) { using (var command = new MySqlCommand(query, connection)) { var reader = command.ExecuteReader(); return JObject.Parse(reader.ReadToEnd()); } } } ``` 3. **在场景中使用**: 创建脚本需要的地方,调用`ExecuteQuery`方法执行SQL查询,并处理返回的结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值