这是我参与8月更文挑战的第19天,活动详情查看:8月更文挑战
概述
上一篇文章讲到在Unity中如何连接数据库,并且已经给您成功的连接到了数据苦衷,那么本篇文章主要介绍下载untiy中如何实现增删改查等操作。文末有具体代码下载地址
数据库可视化操作
上一篇文章忘了介绍了,本篇文章补一下,这里面使用的是navicat
,网上有许多,可以自行下载下。
安装过程相当于傻瓜式安装就行。安装完成后打开软件如下(已有的两个数据库连接是已经连接好的)
选择文件->新建连接->MySQL……,连接到数据库
填写如下信息
全部都填写好了之后,点击连接测试,但现实连接成功弧,点击确定即可连接到数据库,此时就可以进行数据库操作了
具体更详细的教程请见这里:Navicat教程
Unity对MySql数据库的操作
MySQL数据库的基本语句
新增表数据
- 给指定列添加数据
insert into 表名 (列名1,列名2.....) values(数据1,数据2.....);
- 给全部列添加数据
insert into 表名 values(数据1,数据2,.......);
- 批量添加数据
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下载地址:点击这里跳转下载
写在最后
所有分享的内容均为作者在日常开发过程中使用过的各种小功能点,分享出来也变相的回顾一下,如有写的不好的地方还请多多指教。欢迎大家相互学习进步。本片文章就先写到这里,希望对你能够有所帮助