Unity实用功能之Unity连接MySql数据库(二)

1,860 阅读4分钟

这是我参与8月更文挑战的第19天,活动详情查看:8月更文挑战

概述

上一篇文章讲到在Unity中如何连接数据库,并且已经给您成功的连接到了数据苦衷,那么本篇文章主要介绍下载untiy中如何实现增删改查等操作。文末有具体代码下载地址

数据库可视化操作

上一篇文章忘了介绍了,本篇文章补一下,这里面使用的是navicat,网上有许多,可以自行下载下。 安装过程相当于傻瓜式安装就行。安装完成后打开软件如下(已有的两个数据库连接是已经连接好的)

image.png 选择文件->新建连接->MySQL……,连接到数据库

image.png 填写如下信息

image.png 全部都填写好了之后,点击连接测试,但现实连接成功弧,点击确定即可连接到数据库,此时就可以进行数据库操作了

image.png 具体更详细的教程请见这里:Navicat教程

Unity对MySql数据库的操作

MySQL数据库的基本语句

新增表数据

  1. 给指定列添加数据
insert into  表名 (列名1,列名2.....) values(数据1,数据2.....);
  1. 给全部列添加数据
insert into 表名 values(数据1,数据2,.......);
  1. 批量添加数据
 insert into  表名 (列名1,列名2.....) values(数据1,数据2.....),(数据1,数据2....)........;
 insert into  表名 values(数据1,数据2,.......),(数据1,数据2,.......),(数据1,数据2,.......).....;

修改数据(更新)

update 表名 set 列名1 = 值1,列名2 = 值2,.....[where 条件];

删除数据

delete from 表名 [where条件];

查询数据

1.全部查询

select * from 表名;

2.部分查询

select 字段1,字段2.....from 表名;

3.条件查询

select * from 表名[where条件1,条件2.....];

以上便是MySql的基本查询语句,那么就来看一下在Unity中是如何使用的

在Unity中使用

执行SQL语句

首先判断数据库连接是否打开,然后在进行SQl语句操作,通过MySqlDataAdapter进行数据库语句操作。定义一个DataSet作为SQl语句执行的返回信息

 DataSet ds = new DataSet();
 MySqlDataAdapter mySqlAdapter = new MySqlDataAdapter(sqlString, mySqlConnection);
 mySqlAdapter.Fill(ds);

查询数据

使用的方法是,写一个方法,将需要查询的条件等全部传入,然后拼接成一条完整的SQL语句,主要参数有:

  • 表名
  • 要查询的列
  • 查询的条件列
  • 条件操作符
  • 条件的值
public DataSet Select(string tableName, string[] items, string[] whereColumnName,string[] operation, string[] value)

然后进行数据拼接

string query = "Select " + items[0];
for (int i = 1; i < items.Length; i++)
{
    query += "," + items[i];
}
query += " FROM " + tableName + " WHERE " + whereColumnName[0] + " " + operation[0] + " '" + value[0] + "'";
for (int i = 1; i < whereColumnName.Length; i++)
{
    query += " and " + whereColumnName[i] + " " + operation[i] + " '" + value[i] + "'";
}

创建表

整体思路同上,主要就是数据拼接是要注意内容,主要参数:

  • 表名
  • 属性列
  • 属性列类型
 string query = "CREATE TABLE  " + name + "(" + colName[0] + " " + colType[0];
 for (int i = 1; i < colName.Length; i++)
 {
     query += "," + colName[i] + " " + colType[i];
 }
 query += ")";

创建具有id自增的表

string query = "CREATE TABLE  " + name + " (" + colName[0] + " " + colType[0] + " NOT NULL AUTO_INCREMENT";
for (int i = 1; i < colName.Length; ++i)
{
    query += ", " + colName[i] + " " + colType[i];
}
query += ", PRIMARY KEY (" + colName[0] + ")" + ")";

插入数据

插入数据是指在数据库中新增一条数据,分为插入所有数据和部分数据,插入全部数据主要参数有:

  • 表名
  • 插入数据
  string query = "insert into " + tableName + " values (" + "'" + values[0] + "'";
  for (int i = 1; i < values.Length; i++)
  {
      query += ", " + "'" + values[i] + "'";
  }
  query += ")";

插入部分数据,主要参数:

  • 表名
  • 要插入的列
  • 插入的对应列的数据
string query = "insert into " + tableName + " (" + col[0];
for (int i = 1; i < col.Length; i++)
{
    query += ", " + col[i];
}
query += ") values (" + "'" + values[0] + "'";
for (int i = 1; i < values.Length; i++)
{
    query += ", " + "'" + values[i] + "'";
}
query += ")";

更新数据

更新数据,使用Update SQL语句进行操作,主要参数有:

  • 表名
  • 更新的列
  • 更新的数据
  • 要更新的列
  • 要更新的数据 2,3参数为更新的数据,4,5查找条件
 string update = "update " + tableName + " set " + cols[0] + " = " + colsvalues[0];
 for (int i = 1; i < colsvalues.Length; i++)
 {
     update += ", " + cols[i] + " =" + colsvalues[i];
 }
 update += " where " + selectkey + " = " + selectvalue + " ";

删除

删除数据和查询差不多,通过where将要删除的数据才找到然后删除,主要参数有

  • 表名
  • 数据列
  • 数据
 string delete = "delete from " + tableName + " where " + cols[0] + " = " + colsvalues[0];
 for (int i = 1; i < colsvalues.Length; i++)
 {
     delete += " or " + cols[i] + " = " + colsvalues[i];
 }

源代码分享地址

GitHub下载地址:点击这里跳转下载

写在最后

所有分享的内容均为作者在日常开发过程中使用过的各种小功能点,分享出来也变相的回顾一下,如有写的不好的地方还请多多指教。欢迎大家相互学习进步。本片文章就先写到这里,希望对你能够有所帮助