要在unity里面进行MySQL的使用,最先要考虑的就是版本问题,笔者这里用的是2019.4.13中国增强版,MySQL文件使用的是8.0以上的,安装MySQL,创建并且启动服务,这个步骤我就不多说了,打开MySQL的工作面板,如下:
然后还有一个比较重要的步骤是,找到MySQL安装目录,一般在C:\Program Files (x86)\MySQL\Connector NET 8.0\Assemblies\v4.5.2目录里面,
找到以下几个文件:
然后导入unity的Plugins文件夹
再打开电脑的服务,查看数据库有没有启动
如果已经启动,再打开MySQL,随便添加一个表,添加几个键,如下是我添加的
回到unity,新建脚本
private void Start()
{
//Search();
//AddData("zrt","2312312312");
//AddData("zzz", "2312312312");
//UpdateData();
DeleteData();
}
private void Search()//查询,读取数据
{
string connectStr = "server=127.0.0.1;port=3306;database=mygamedb;user=zyp;password=123456;charset=utf8";//设置连接ip,端口,用户名,密码,以及编码格式
MySqlConnection conn = new MySqlConnection(connectStr);//创建连接类
conn.Open();//正式打开连接
string read_sql = "select * from user1";//sql命令,选择user1表
MySqlCommand read_cmd = new MySqlCommand(read_sql, conn);
MySqlDataReader reader = read_cmd.ExecuteReader();
while (reader.Read())//Read一次就是一行数据,Read不为空执行打印数据
{
Debug.Log(reader[0] + "--" + reader[1] + "-" + reader[2] + "-" + reader[3]);
}
conn.Close();//关闭连接
}
private void AddData(string AccountName, string AccountPassword)//添加数据
{
string connectStr = "server=127.0.0.1;port=3306;database=mygamedb;user=zyp;password=123456;charset=utf8";
MySqlConnection conn = new MySqlConnection(connectStr);
conn.Open();
Debug.Log("已经建立连接");
string sql = "insert into user1(username,password,registerdate) values('" + AccountName + "','" + AccountPassword + "','" + DateTime.Now + "')";//sql命令
MySqlCommand cmd = new MySqlCommand(sql, conn);
int result = cmd.ExecuteNonQuery();//返回更改数据行数
Debug.Log("添加成功");
conn.Close();//关闭连接
}
private void UpdateData()//更新数据
{
string connectStr = "server=127.0.0.1;port=3306;database=mygamedb;user=zyp;password=123456;charset=utf8";
MySqlConnection conn = new MySqlConnection(connectStr);
conn.Open();
string sql = "update user1 set username='qwer',password='123456sdds' where id=7";//更改的sql命令
MySqlCommand cmd = new MySqlCommand(sql, conn);
int result = cmd.ExecuteNonQuery();//返回值是数据库中受影响的行数
Debug.Log("更新成功");
conn.Close();
}
private void DeleteData()//删除数据
{
string connectStr = "server=127.0.0.1;port=3306;database=mygamedb;user=zyp;password=123456;charset=utf8";
MySqlConnection conn = new MySqlConnection(connectStr);
conn.Open();
string sql = "delete from user1 where id=20";//删除的sql命令,这里是删除id=20的一行数据
// string sql = "delete from user1";//删除所有行
MySqlCommand cmd = new MySqlCommand(sql, conn);
int result = cmd.ExecuteNonQuery();//返回值是数据库中受影响的行数
conn.Close();
}
运行,可用。
还是多学点sql语言基础吧