MySql安裝如下:
https://www.cnblogs.com/dlvguo/p/9671832.html
Unity連接MySql首先要在Unity的安裝目錄D:\Unity2017\Editor\Data\Mono\lib\mono\2.0引用4個dll文件:
I18N.CJK.dll、I18N.dll、I18N.West.dll、System.data.dll
同時去Mysql官網下載Mysql.data.dll 注意下載的dll要跟unity .net版本一直 一般用3.5。
發布的時候在PlayerSetting要設置Api Compatibility Level為.net 2.0不能使用簡版的.net 2.0 Subset否則導致發布失敗。
在Unity目錄下添加Plugins文件夾,將dll放進去 unity將會自動引用。
這邊做一個查詢連接表的Test,寫SqlHelper:
1 using System.Collections; 2 using System.Collections.Generic; 3 using UnityEngine; 4 using MySql.Data; 5 using MySql.Data.MySqlClient; 6 using System; 7 public class SqlHelper { 8 private static SqlHelper _instance = new SqlHelper(); 9 private static string connStr="Database=Lwcc;Data Source = 172.22.224.87; User Id = root; Password=123456;port=3306"; 10 private string ip; 11 private string acc; 12 private string psd; 13 private string db; 14 public static SqlHelper Insatance { get 15 { 16 return _instance; 17 } } 18 /// <summary> 19 /// 獲取連接 20 /// </summary> 21 /// <returns></returns> 22 private MySqlConnection GetSqlConn() 23 { 24 MySqlConnection sqlConn = null; 25 sqlConn = new MySqlConnection(connStr); 26 return sqlConn; 27 } 28 /// <summary> 29 /// 獲取所有表名 30 /// </summary> 31 /// <returns></returns> 32 public IEnumerable<string> GetTables() 33 { 34 string sql = string.Format(@"select table_name from information_schema.tables where table_schema='{0}' and table_type='base table'", db); 35 //string sql = @"select table_name from information_schema.tables where table_schema='lwcc' and table_type='base table'"; 36 List<string> strs = new List<string>(); 37 var conn = GetSqlConn(); 38 conn.Open(); 39 MySqlCommand cmd = new MySqlCommand(sql, conn); 40 MySqlDataReader reader = cmd.ExecuteReader(); 41 while (reader.Read()) 42 { 43 strs.Add(reader[0].ToString()); 44 } 45 conn.Close(); 46 return strs; 47 } 48 /// <summary> 49 /// 設置連接Str 50 /// </summary> 51 /// <param name="ip"></param> 52 /// <param name="acc"></param> 53 /// <param name="psd"></param> 54 /// <param name="db"></param> 55 public void SetConnStr(string ip,string acc,string psd,string db) 56 { 57 this.ip = ip; 58 this.acc = acc; 59 this.psd = psd; 60 this.db = db; 61 connStr = string.Format("DataBase={0};Data Source= {1};User Id = {2};Password={3};port=3306;", db, ip, acc, psd); 62 } 63 public void ClearTables(IEnumerable<string> tbs) 64 { 65 string cmdText = ""; 66 foreach(var item in tbs) 67 { 68 cmdText += string.Format("truncate table {0};", item); 69 } 70 var conn = GetSqlConn(); 71 conn.Open(); 72 MySqlCommand cmd = new MySqlCommand(cmdText,conn); 73 cmd.ExecuteNonQuery(); 74 conn.Close(); 75 } 76 }
附上源碼,這是我用Unity制作的一個Mysql刪表小工具,能夠查詢所有表,並清空。