要在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語言基礎吧