Unity使用Mysql添/删/改/查/保姆级

  • UnityDemo版本
    • 数据库下载地址教程
    • 可视化窗口下载教程
    • 使用可视化窗口
    • dll下载地址
    • 本次Demo下载地址
      • 本项目脚本 SqlHelper Mysql访问类
      • 本项目脚本 mysqlTools工具类
      • 本项目脚本Test 测试脚本
    • 使用数据库添/删/改/查
      • 创建表的方法
      • 插入数据库方法
      • 更改数据方法
      • 删除数据方法
      • 数据库查询方法
        • 根据条件查询 当前行所有字段数据方法
    • 问题解决方案
      • 如果Mysql安装时出现问题

UnityDemo版本

    Unity版本:2020.3.25;Visual Studio版本: 2019;MySql.Data.dll版本:5.2.3MySql版本:5.7.35

数据库下载地址教程

数据库下载地址



下载完成后解压到任意盘即可(楼主我选择的是D盘)
点击查看

勾选文件扩展名

右键新建文本文档 修改名称My.ini

修改后

打开my.ini 把以下文本复制到里面去 设置basedir(你的安装目录)
和datadir(数据库存放路径 注意:定义路径一定要有data文件夹)

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录   ----------是你的文件路径-------------
basedir=D:\mysql-5.7.35-winx64
# 设置mysql数据库的数据的存放目录  ---------是你的文件路径data文件夹自行创建
datadir=D:\MysqlData\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4

按下Win+R 输入cmd 然后回车

右键点击命令提示符 左键点击以管理员运行

先输入D: 回车
然后输入 cd 解压出来bin文件路径

然后在控制台输入指令

mysqld --install


如上图代表成功
接下来在控制台输入命令

mysqld --initialize --console


输入后稍等一会,才会显示随机出来密码
记下你随机出来密码 楼主随机出来密码是 VPWuVnRro3:)
输入以下指令启动Mysql服务器

net start mysql


如上图表示成功

登录Mysql服务器输入

mysql -u root -p


上图输入你的随机密码
楼主随机出来密码是 VPWuVnRro3:)

如上图显示就成功了
登录成功可以修改密码为123456
输入指令

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';


如上图成功
安装完成在控制台 输入quit和exit 退出

quit
exit


接下来进行环境搭配
此电脑右键->属性->高级系统设置


新建系统变量


变量名为:MYSQL_HOME
变量值为你的MySQL安装路径
点击确定

找到path进行编辑

新建环境变量
变量为:%MYSQL_HOME%\bin

%MYSQL_HOME%\bin


在桌面找到此电脑右键此电脑->管理->服务与应用程序->服务

找到mysql->右键属性
将启动类型改为手动(防止开机速度变慢)

以上操作已经完成Mysql环境搭建
每次开机以管理员身份打开控制台输入命令

net start mysql

可视化窗口下载教程

可视化窗口下载

使用可视化窗口

点击连接


在点击mysql 最后弹出以下窗口

点击高级 自定义设置位置

然后点击确定

连接成功如下图

打开数据库出现以下界面



最后点击保存 弹出以下图

dll下载地址

dll下载地址

本次Demo下载地址

本次Demo下载地址

下载好后直接把资源包直接放进Assets文件中 运行如下环境配置成功

如果下载地址丢失请看下面

1:导入Unity安装目录下的必要程序集、I18N.CJK、I18N、I18N.West;
(因为2020版的Unity默认加载了System.Data.dll,System.Drawing.dll,所以不用再次导入)
安装目录路劲为:Editor\Data\MonoBleedingEdge\lib\mono\unityjit
(注意一定是这个目录下的几个程序集,其他的尝试后无效并且报错)

在Unity Assets 新建Plugins文件 把这三个文件夹 放到里面去 最后在把Mysql.data.dll 也放进去图下

本项目脚本 SqlHelper Mysql访问类

using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using MySql.Data.MySqlClient;
using UnityEngine;
/*也可以使用using块来套用 Mysql操作类 mysql会自动关闭数据库using(var sql = new SqlHelper(填写对应参数)){//手动打开数据库sql.Open();}
*/
namespace Imdork.Mysql
{/// <summary>/// Mysql添/删/改/查 操作类   切记使用该类方法 除了(Connect方法)其他方法 先调用Open() 使用完后 在Close()掉/// </summary>public class SqlHelper : IDisposable{string _server, _port, _user, _password, _datename, _format;string connectStr;MySqlConnection conn;/// <summary>/// 连接数据库构造方法/// </summary>/// <param name="host">IP地址</param>/// <param name="port">端口</param>/// <param name="user">用户名</param>/// <param name="passwd">密码</param>/// <param name="database">数据库名称</param>/// <param name="format">请填写字体</param>public SqlHelper(string host, string port, string user, string passwd, string database, string format){Connect(host, port, user, passwd, database, format);}/// <summary>/// 连接数据库构造方法/// </summary>/// <param name="host"></param>/// <param name="port"></param>/// <param name="user"></param>/// <param name="passwd"></param>/// <param name="database"></param>public SqlHelper(string host, string port, string user, string passwd, string database){Connect(host, port, user, passwd, database);}/// <summary>/// 连接数据库/// </summary>/// <param name="host">IP地址</param>/// <param name="port">端口</param>/// <param name="user">用户名</param>/// <param name="passwd">密码</param>/// <param name="database">数据库名称</param>/// <param name="format">字体默认utf8</param>public void Connect(string host, string port, string user, string passwd, string database, string format = "utf8"){_server = host;_port = port; _user = user;_password = passwd;_datename = database;_format = format;connectStr = string.Format("server={0};port={1};user={2};password={3}; database={4};charset={5}", _server, _port, _user, _password, _datename, _format);//设置连接ip,端口,用户名,密码,以及编码格式    conn = new MySqlConnection(connectStr);//创建连接类}/// <summary>/// 打开数据库连接/// </summary>public void Open(){conn.Open();//正式打开连接 }/// <summary>/// 关闭数据库连接/// </summary>public void Close(){conn.Close();//关闭连接}/// <summary>/// using块回收资源时执行/// </summary>public void Dispose(){Close();}#region 查询语句/// <summary>/// 查询指定字段/// </summary>/// <param name="tableName"></param>/// <param name="items"></param>/// <returns></returns>public DataSet Select(string tableName, string[] items){string query = "SELECT " + items[0];for (int i = 1; i < items.Length; ++i){query += ", " + items[i];}query += " FROM " + tableName;Debug.LogFormat("query: {0}", query);return ExecuteQuery(query);}/// <summary>/// 查询所有字段/// </summary>/// <param name="tableName">表名</param>/// <returns></returns>public DataSet Select(string tableName){string query = "SELECT * FROM " + tableName;return ExecuteQuery(query);}#region 根据条件查询指定字段/// <summary>/// 查询指定字段数据中满足条件的/// DataSet内存中的数据库,DataSet是不依赖于数据库的独立数据集合,是一种不包含表头的纯数据文件/// 有条件的查询,查询在users这个表当中,只需要字段名为userAccount,userPwd,userName,ID这几个字段对应的数据,/// 满足条件为 userAccount对应的value=account, userPwd对应的value=md5Password;/// ("users", new string[] { "userAccount", "userPwd", "userName", "ID" }, new string[] { "userAccount", "userPwd" }, new string[] { "=", "=" }, new string[] { account, md5Password });/// </summary>/// <param name="tableName">表名</param>/// <param name="items">查询字段名</param>/// <param name="cols">判断字段名</param>/// <param name="operations">条件运算符</param>/// <param name="values">满足的条件值</param>/// <returns></returns>public DataSet SelectWhere(string tableName, string[] items, string[] cols, string[] operations, string[] values){if (cols.Length != operations.Length || operations.Length != values.Length){throw new Exception("col.Length != operation.Length != values.Length");}string query = "SELECT " + items[0];for (int i = 1; i < items.Length; ++i){query += ", " + items[i];}query += " FROM " + tableName + " WHERE " + cols[0] + operations[0] + "'" + values[0] + "' ";for (int i = 1; i < cols.Length; ++i){query += " AND " + cols[i] + operations[i] + "'" + values[i] + "' ";}Debug.LogFormat("query: {0}", query);return ExecuteQuery(query);}#endregion#region 根据条件查询全部字段/// <summary>/// 根据条件查询全部字段/// </summary>/// <param name="tableName">表名</param>/// <param name="cols">判断字段</param>/// <param name="operations">判断字符</param>/// <param name="values">条件成立数据</param>/// <returns></returns>public DataSet SelectWhere(string tableName, string[] cols, string[] operations, string[] values){if (cols.Length != operations.Length || operations.Length != values.Length){throw new Exception("col.Length != operation.Length != values.Length");}string query = "SELECT *";           query += " FROM " + tableName + " WHERE " + cols[0] + operations[0] + "'" + values[0] + "' ";for (int i = 1; i < cols.Length; ++i){query += " AND " + cols[i] + operations[i] + "'" + values[i] + "' ";}Debug.LogFormat("query: {0}", query);return ExecuteQuery(query);}#endregion/// <summary>/// 执行查询语句,返回DataSet/// </summary>/// <param name="SQLString">查询语句</param>/// <returns>DataSet</returns>public DataSet ExecuteQuery(string SQLString){DataSet ds = new DataSet();try{MySqlDataAdapter da = new MySqlDataAdapter(SQLString, conn);da.Fill(ds);}catch (MySqlException ex){throw new Exception(ex.Message);}return ds;}#endregion#region 更新语句/// <summary>/// 更新数据 param tableName=表名  selectkey=查找字段(主键) selectvalue=查找内容 cols=更新字段 colsvalues=更新内容/// </summary>/// <param name="tableName">表名</param>/// <param name="selectKeys">查找字段</param>/// <param name="selectValues">查找内容</param>/// <param name="cols">更新字段</param>/// <param name="colsValues">更新数据</param>/// <returns></returns>public int UpdateIntoSpecific(string tableName, string[] selectKeys, string[] selectValues, string[] cols, string[] colsValues){string query = "UPDATE " + tableName + " SET " + cols[0] + " = " + "'" + colsValues[0] + "'";for (int i = 1; i < colsValues.Length; ++i){query += ", " + cols[i] + " =" + "'" + colsValues[i] + "'";}query += " WHERE " + selectKeys[0] + " = " + "'" + selectValues[0] + "' ";for (int i = 1; i < selectKeys.Length; ++i){query += " AND " + selectKeys[i] + " = " + "'" + selectValues[i] + "' ";}return ExecuteNonQuery(query);}/// <summary>/// 更新数据 param tableName=表名  selectkey=查找字段(主键) operation=判断的符号 selectvalue=查找内容 cols=更新字段 colsvalues=更新内容/// </summary>/// <param name="tableName">表名</param>/// <param name="selectKeys">查找字段</param>/// <param name="operation">判断符号</param>/// <param name="selectValues">查找内容</param>/// <param name="cols">更新字段</param>/// <param name="colsValues">更新数据</param>/// <returns></returns>public int UpdateIntoSpecific(string tableName, string[] selectKeys, string[] operation, string[] selectValues, string[] cols, string[] colsValues){string query = "UPDATE " + tableName + " SET " + cols[0] + " = " + "'" + colsValues[0] + "'";for (int i = 1; i < colsValues.Length; ++i){query += ", " + cols[i] + " =" + "'" + colsValues[i] + "'";}query += " WHERE " + selectKeys[0] + " " + operation[0] + " " + "'" + selectValues[0] + "' ";for (int i = 1; i < selectKeys.Length; ++i){query += " AND " + selectKeys[i] + " " + operation[i] + " " + "'" + selectValues[i] + "' ";}return ExecuteNonQuery(query);}    #endregion#region 插入语句/// <summary>/// 插入部分ID/// </summary>/// <param name="tableName">表名</param>/// <param name="cols">字段名</param>/// <param name="values">具体数值</param>/// <returns></returns>public int InsertInto(string tableName, string[] cols, string[] values){if (cols.Length != values.Length){throw new Exception("columns.Length != colType.Length");}string query = "INSERT INTO " + tableName + " (" + cols[0];for (int i = 1; i < cols.Length; ++i){query += ", " + cols[i];}query += ") VALUES (" + "'" + values[0] + "'";for (int i = 1; i < values.Length; ++i){query += ", " + "'" + values[i] + "'";}query += ")";Debug.LogFormat("query: {0}", query);return ExecuteNonQuery(query);}#endregion#region 删除语句#region 根据条件删除表/// <summary>/// 删除/// </summary>/// <param name="tableName">表名</param>/// <param name="cols">字段</param>/// <param name="colsValues">字段值</param>/// <returns></returns>public int Delete(string tableName, string[] cols, string[] colsValues){string query = "DELETE FROM " + tableName + " WHERE " + cols[0] + " = " + "'" + colsValues[0] + "'";for (int i = 1; i < colsValues.Length; ++i){query += " and " + cols[i] + " = " + "'" + colsValues[i] + "'";}return ExecuteNonQuery(query);}/// <summary>/// 删除表/// </summary>/// <param name="tableName"></param>/// <param name="cols"></param>/// <param name="operation"></param>/// <param name="colsValues"></param>/// <returns></returns>public int Delete(string tableName, string[] cols, string[] operation, string[] colsValues){string query = "DELETE FROM " + tableName + " WHERE " + cols[0] + " " + operation[0] + " " + "'" + colsValues[0] + "'";for (int i = 1; i < colsValues.Length; ++i){query += " and " + cols[i] + " " + operation[i] + " " + "'" + colsValues[i] + "'";}return ExecuteNonQuery(query);}#endregion/// <summary> /// 删除表中全部数据/// </summary>public int DeleteContents(string tableName){string query = "DELETE FROM " + tableName;return ExecuteNonQuery(query);}#endregion#region 创建表/// <summary>/// 创建表 param name=表名 col=字段名 colType=字段类型/// </summary>public int CreateTable(string name, string[] col, string[] colType){if (col.Length != colType.Length){throw new Exception("columns.Length != colType.Length");}string query = "CREATE TABLE " + name + " (" + col[0] + " " + colType[0];for (int i = 1; i < col.Length; ++i){query += ", " + col[i] + " " + colType[i];}query += ")";return ExecuteNonQuery(query);}#endregion/// <summary>/// 执行SQL语句,返回影响的记录数。用于Update、Insert和Delete/// </summary>/// <param name="SQLString">SQL语句</param>/// <returns>影响的记录数</returns>public int ExecuteNonQuery(string SQLString){using (MySqlCommand cmd = new MySqlCommand(SQLString, conn)){try{int rows = cmd.ExecuteNonQuery();return rows;}catch (MySqlException E){throw new Exception(E.Message);}finally{cmd.Dispose();}}}}
}

本项目脚本 mysqlTools工具类

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Data;
/*DataSet类使用方法asp.NET中DataSet对象获取相应列值、行列数、列名、取出特定值这些操作的总结,具体代码如下:1.  DataSet.Table[0].Rows[ i ][ j ]其中i 代表第 i 行数, j 代表第 j 列数2. DataSet.Table[0].Rows[ i ].ItemArray[ j ]其中i 代表第 i 行数, j 代表第 j 列数3. DataSet.Tables[0].Columns.Count取得表的总列数4. DataSet.Tables[0].Rows.Count取得表的总行数5. DataSet.Tables[0].Columns[ i ].ToString()取得表的 i 列名(字段名)6.  ds.Tables.Count - 返回表的数量,一个 select 返回一个 table
*/namespace Imdork.Mysql
{/// <summary>/// mysql工具类/// </summary>public class MysqlTools{/// <summary>/// 获取表中数据 字典中第一个键是字段名  第二个是 对应字段值 返回字典数组/// </summary>/// <param name="ds">数据表类</param>/// <returns></returns>public static Dictionary<string, object>[] TableData(DataSet ds){//判断是否没有数据if (ds.Tables.Count == 0){//返回空return null;}//声明集合List<Dictionary<string, object>> tableList = new List<Dictionary<string, object>>();//遍历DataSet表条数for (int i = 0; i < ds.Tables.Count; i++){//遍历表该条字段数量for (int j = 0; j < ds.Tables[i].Rows.Count; j++){//根据该条数 并新建一块字典空间存储到该字典中tableList.Add(new Dictionary<string, object>());//存储该条数类对象var temp = ds.Tables[i];//获取该条所有字段值var obj = temp.Rows[j].ItemArray;//遍历所有字段数组for (int k = 0; k < obj.Length; k++){//获取该字段名称string tableName = temp.Columns[k].ToString();//根据字段名称 和对应字段值存储到字段中tableList[j].Add(tableName, obj[k]);}}}//返回字典数组return tableList.ToArray();}/// <summary>/// 获取单个数据/// </summary>/// <param name="ds">数据表类</param>/// <param name="Name">字段名称</param>/// <returns></returns>public static object GetValue(DataSet ds, string Name){//判断是否没有数据if (ds.Tables.Count == 0){//返回空return null;}//遍历DataSet表条数for (int i = 0; i < ds.Tables.Count; i++){//遍历表该条字段数量for (int j = 0; j < ds.Tables[i].Rows.Count; j++){//存储该条数类对象var temp = ds.Tables[i];//获取该条所有字段值var obj = temp.Rows[j].ItemArray;//遍历所有字段数组for (int k = 0; k < obj.Length; k++){//获取该字段名称string tableName = temp.Columns[k].ToString();//判断该字段名称是否等于Nameif (tableName == Name){//返回数据return obj[k];}}}}//返回nullreturn null;}/// <summary>/// 获取多个数据/// </summary>/// <returns></returns>public static object[] GetValues(DataSet ds, string Name){//判断是否没有数据if (ds.Tables.Count == 0){//返回空return null;}//声明字段集合List<object> list = new List<object>();//遍历DataSet表条数for (int i = 0; i < ds.Tables.Count; i++){//遍历表该条字段数量for (int j = 0; j < ds.Tables[i].Rows.Count; j++){//存储该条数类对象var temp = ds.Tables[i];//获取该条所有字段值var obj = temp.Rows[j].ItemArray;//遍历所有字段数组for (int k = 0; k < obj.Length; k++){//获取该字段名称string tableName = temp.Columns[k].ToString();//判断该字段名称是否等于Nameif (tableName == Name){//存储到集合中list.Add(obj[k]);}}}}//返回数组return list.ToArray();}}}

本项目脚本Test 测试脚本

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Imdork.Mysql;public class Test : MonoBehaviour
{void Start(){//创建数据库类                 IP地址       端口    用户名   密码     数据库项目名称var mySqlTools = new SqlHelper("127.0.0.1", "3306", "root", "123456", "user");//打开数据库mySqlTools.Open();//创建表方法              表名       字段名称                              字段类型//mySqlTools.CreateTable("userdata", new[] { "UID", "User","Password" }, new[] { "tinytext", "tinytext", "tinytext" });//查询方法FindMysql(mySqlTools, "userdata", new[] { "UID", "User", "Password" });//  插入方法                表名         字段名                             插入数据//mySqlTools.InsertInto("userdata", new[] { "UID", "User", "Password" },new[] {"52022","ddxj1","123456" });//  更新方法                      表名         更新字段名    判断符号         更新数据          查询条件字段        条件成立字段//mySqlTools.UpdateIntoSpecific("userdata", new[] { "User" }, new[] { "=" }, new[] { "ddxj1" }, new[] { "Password" }, new[] { "456789" });//  删除方法         表名          删除字段        判断条件     条件成立数据         //mySqlTools.Delete("userdata", new[] { "User" }, new[] { "=" }, new[] { "ddxj1" });// 从SqlHelper查询出来数据库 都会返回Dataset  DataSet类               字段名//       返回对象object     获取数据方法    // var GetValues = MysqlTools.GetValue(mySqlTools.Select("userdata"), "User");//print(GetValues);//查询方法                         表名        查询字段名         判断字段名       判断符号        条件成立数据// var ds = mySqlTools.SelectWhere("userdata", new[] { "UID" }, new[] { "User" }, new[] { "=" }, new[] { "ddxj1" });//查询方法                         表名         判断字段名       判断符号        条件成立数据// var ds = mySqlTools.SelectWhere("userdata", new[] { "User" }, new[] { "=" }, new[] { "ddxj1" });//SelectWhere方法会返回Dataset类对象, 声明ds变量接收如上图//MysqlTools 工具类使用GetValue方法负责接收DataSet对象 给字段名称返回对应数据//调用MysqlTools 工具类                 Dataset类对象  查询字段//object values = MysqlTools.GetValue(ds, "UID");//print(values); //最后打印15924// mySqlTools.DeleteContents("userdata"); 删除表中全部数据//关闭数据库mySqlTools.Close();}/// <summary>/// 查询表中数据   记得先调用Open()方法  用完此方法后直接Close()/// </summary>/// <param name="mySqlTools">Mysql框架类</param>/// <param name="tableName">表名</param>/// <param name="items">字段名称</param>void FindMysql(SqlHelper mySqlTools,string tableName,string[] items){var ds = mySqlTools.Select(tableName, items);var pairs = MysqlTools.TableData(ds);DebugMysql(pairs);      }/// <summary>/// 打印查询数据库/// </summary>/// <param name="pairs"></param>private void DebugMysql(Dictionary<string,object>[] pairs){for (int i = 0; i < pairs.Length; i++){foreach (var table in pairs[i]){string tableList = string.Format("第{0}行,表字段名对应数据是 {1}", i + 1, table);print(tableList);}}  }}

使用数据库添/删/改/查

切记使用SqlHelper所有方法除了Connent方法外 其他方法一定要先Open(),使用完后在Close() 掉

创建表的方法

也可以使用CreateTable方法 创建表 字段名 对应类型全部是string

  //创建数据库类                  IP地址        端口    用户名   密码    数据库项目名称var mySqlTools = new SqlHelper("127.0.0.1", "3306", "root", "123456", "user");//打开数据库mySqlTools.Open();//创建表方法              表名             字段名称                             字段类型mySqlTools.CreateTable("userdata", new[] { "UID", "User","Password" }, new[] { "tinytext", "tinytext", "tinytext" });//关闭数据库mySqlTools.Close();

插入数据库方法

  //创建数据库类                  IP地址        端口    用户名   密码    数据库项目名称var mySqlTools = new SqlHelper("127.0.0.1", "3306", "root", "123456", "user");//打开数据库mySqlTools.Open();//插入方法               表名                    字段名                             插入数据mySqlTools.InsertInto("userdata", new[] { "UID", "User", "Password" },new[] {"水神","ddxj1","123456" });//关闭数据库mySqlTools.Close();

运行后如下图

更改数据方法

需求:更改User 为ddxj1 密码为456789

 //创建数据库类                   IP地址       端口    用户名   密码     数据库项目名称var mySqlTools = new SqlHelper("127.0.0.1", "3306", "root", "123456", "user");//打开数据库mySqlTools.Open();//  更新方法                      表名         更新字段名    判断符号         更新数据          查询条件字段        条件成立字段
mySqlTools.UpdateIntoSpecific("userdata", new[] { "User" }, new[] { "=" }, new[] { "ddxj1" }, new[] { "Password" }, new[] { "456789" });//关闭数据库mySqlTools.Close();

运行结果于下图

删除数据方法

需求删除表中 User为ddxj1数据

 //创建数据库类                    IP地址       端口    用户名   密码   数据库项目名称var mySqlTools = new SqlHelper("127.0.0.1", "3306", "root", "123456", "user");//打开数据库mySqlTools.Open();//  删除方法         表名          删除字段        判断条件     条件成立数据         mySqlTools.Delete("userdata", new[] { "User" }, new[] { "=" }, new[] { "ddxj1" });//关闭数据库mySqlTools.Close();

代码运行结果如下

数据库查询方法

需求:查询表中User 为imdork 对应UID 对应数据

SelectWhere方法会返回Dataset类对象
MysqlTools 类的GetValue方法负责接收DataSet对象 传递字段名称返回对应数据
代码如下:

 //创建数据库类                   IP地址       端口    用户名   密码    数据库项目名称var mySqlTools = new SqlHelper("127.0.0.1", "3306", "root", "123456", "user");//打开数据库mySqlTools.Open();//查询方法                          表名        查询字段名        判断字段名       判断符号        条件成立数据var ds = mySqlTools.SelectWhere("userdata", new[] { "UID" }, new[] { "User" }, new[] { "=" }, new[] { "imdork" });//SelectWhere方法会返回Dataset类对象, 声明ds变量接收如上图//                                 方法第一个参数   方法第二个参数//调用MysqlTools 工具类             Dataset类对象  查询字段object values = MysqlTools.GetValue(ds, "UID");print(values); //最后打印15924//关闭数据库mySqlTools.Close();

最后控制台打印:

根据条件查询 当前行所有字段数据方法

  //查询方法                         表名         判断字段名       判断符号        条件成立数据var ds = mySqlTools.SelectWhere("userdata", new[] { "User" }, new[] { "=" }, new[] { "ddxj1" });//SelectWhere方法会返回Dataset类对象, 声明ds变量接收如上图//MysqlTools 工具类使用GetValue方法负责接收DataSet对象 给字段名称返回对应数据//调用MysqlTools 工具类                 Dataset类对象  查询字段object values = MysqlTools.GetValue(ds, "UID");print(values); //最后打印15924

问题解决方案

注:如果跟着楼上步骤没有任何问题,下面就不用跟着做了。

如果Mysql安装时出现问题

因为你安装了其他Mysql版本没有删除干净。
解决问题办法:
如果在控制台输入以下指令出现问题

 mysqld --install

如果显示The service already exists!

解决办法 先以管理员打开控制台 输入

sc query mysql

如上图 如果发现有则输入

sc delete mysql


如上图表示删除成功

然后在控制台输入指令

sc query mysql

Mysql已经删除成功

Unity使用Mysql(添/删/改/查)(保姆级)相关推荐

  1. 表单的增 删 改 查

    django单表操作 增 删 改 查 一.实现:增.删.改.查 1.获取所有数据显示在页面上 model.Classes.object.all(),拿到数据后,渲染给前端;前端通过for循环的方式,取 ...

  2. properties(map)增.删.改.查.遍历

    import java.util.Map; import java.util.Properties; import java.util.Set;/*** properties(map)增.删.改.查. ...

  3. springboot显示信息并且修改_Spring Boot小结-03--增.删.改.查

    将数据库商品数据进行-增.删.改.查 一.创建项目并添加依赖 *创建项目并设置基本信息 *指定项目核心依赖 *项目结构 *项目配置文件 二.业务实现 *Pojo类定义 *Dao接口方法及映射定义pac ...

  4. python学生姓名添加删除_python-函数-实现学生管理系统,完成对学员的增,删,改,查和退出学生管理系统。...

    实现学生管理系统,完成对学员的增,删,改,查和退出学生管理系统. 要求1:使用一个list用于保存学生的姓名. 要求2:输入0显示所有学员信息,1代表增加,2代表删除,3代表修改,4代表查询,exit ...

  5. Linux技术--mysql数据库增-删-改-查

    # mysql 数据库 ## 数据库的操作 ### 五个单位 * 数据库服务器   Linux或者 windows  * 数据库  * 数据表 * 数据字段 * 数据行 ### 连接数据库 ``` 1 ...

  6. python_操作MySQL 初解 之__类方法调用并 增-删-改-查

    文件一: 调用(sqls文件) 1 # 导入模块 2 import pymysql 3 from sqls import * 4 # 创建类 5 class KaoShi(object): 6 7 # ...

  7. 简单的php数据库操作类代码(增,删,改,查)

    数据库操纵基本流程为: 1.连接数据库服务器 2.选择数据库 3.执行SQL语句 4.处理结果集 5.打印操作信息 其中用到的相关函数有 •resource mysql_connect ( [stri ...

  8. Python 操作 Elasticsearch 实现 增 删 改 查

    Github 地址:https://github.com/elastic/elasticsearch-py/blob/master/docs/index.rst 官网地址:https://elasti ...

  9. list 增 删 改 查 及 公共方法

    1 # 热身题目:增加名字,并且按q(不论大小写)退出程序 2 li = ['taibai','alex','wusir','egon','女神'] 3 while 1: 4 username = i ...

最新文章

  1. 微信小程序爬虫python_爬虫爬取微信小程序
  2. 《Raspberry Pi用户指南》——2.4 使用外部存储设备
  3. Android NullPointerException解决方法(空指针异常)
  4. ubuntu mysql 2003_Ubuntu 安装 mysql Ubuntu 安装 mysql 忘记初始密码解决方法
  5. 协议(Protocol)与委托代理(Delegate)
  6. Swift - 操作SQLite数据库(引用SQLite3库)
  7. mysql tungsten_使用tungsten将mysql的数据同步到hadoop
  8. 作者:李涛,男,南京邮电大学计算机学院、软件学院院长,南京邮电大学大数据研究院院长。...
  9. 在基于or1200处理器的SoC上移植linux
  10. P1640 [SCOI2010]连续攻击游戏
  11. 新手指引,php什么是常量、变量、数组、类和对象及方法?
  12. 阿里云罗庆超:我为什么写《对象存储实战指南》这本书
  13. 中文字符集编码unicode,gb2312,cp936,GBK,GB18030介绍
  14. \t\t使用Google APP Engine 完成个人代理服务器架设
  15. Java开发必看!java登录界面代码
  16. 全球 40 位 40 岁以下的富豪
  17. 7-1 电话聊天狂人 (25 分)
  18. [ECCV2018]Generating 3D faces using Convolutional Mesh Autoencoders
  19. BK06-部署蓝鲸智云社区版5.1-遇到的坑和解决方案
  20. YJ智能框架--面向对象方面编程

热门文章

  1. ESIM模型详解与Keras代码实现
  2. ESIM网络结构总结以及代码详解
  3. B树的原理及代码实现、B+树和B*树介绍及应用
  4. Centos7 Yum安装MYSQL8.0详细安装步骤
  5. Mac os下快速从终端进入Finder 从Finder进入终端
  6. raid0,raid1,raid5
  7. vi和vt的区别小窍门_十大vi技巧和窍门
  8. RFID到底是什么技术
  9. 9.16nbsp;瑞晟软件笔试
  10. 压缩指定大小的BitMap