美文网首页
Unity3D高级-MySQL

Unity3D高级-MySQL

作者: passiony | 来源:发表于2018-06-04 22:20 被阅读229次

    1.什么是数据库

    数据库,简而言之可视为电子化文件柜,存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。

    2.什么是MySql

    MySQL 是最流行的关系型数据库管理系统,在WEB应用方面 MySQL 是最好的 RDBMS (Relational Database Management System:关系数据库管理系统)应用软件之一。


    3.MySQL安装

    1.上官网下载 MySQL on Windows (Installer & Tools)
    2.打开安装器,选择需要的程序进行安装 教程
    3.配置mysql安装路径到环境变量path中(配置完才可以在cmd中控制mysql)

    C:\Program Files\MySQL\MySQL Server 8.0\bin
    

    4.开启和停止Mysql服务(需要管理员权限)

    >net start mysql80  //开启Mysql
    >net stop mysql80  //停止Mysql
    

    5.使用root用户连接mysql

    本地连接: mysql -u 最高权限用户名 -p;  
    >mysql -u root -p  
    
    远程连接mysql
    >mysql -h 192.168.108.29 -u root -p
    

    6.常用数据库命令

    1.查看数据库

    >show databases; 
    

    2.创建数据库

    >create database xxxx;
    

    3.删除数据库

    >drop database xxxx;
    

    4.打开数据库

    >use databaseName;
    

    5.查看数据库中的表

     >show tables;  
    

    6.创建表

    >create table tableName( 
            id int(10) NOT NULL AUTO_INCREMENT,PRIMARY KEY(id),
            name varchar(20)
    ); 
    

    7.删除表

    >drop table tableName; 
    

    8.显示某一个表

    >show create table tableName;
    

    9.显示表结构

    >describe tableName;   (或者简写: desc tableName;)
    

    10.数据增删改查

    >select * from tableName;
    >insert into tableName values(xx,xx,xx,xx);
    >update tableName set xxx=xxx;
    >delete from tableName; 
    

    7.常见问题

    1.远程连接数据库

    //登录数据库
    >mysql -u root -p 123456
    >mysql>use mysql; 
    //修改主机ip为 % 表示所有ip都可以远程访问
    >mysql>update user set host = '%' where user = 'root';  
    //或直接添加一条语句也行     
    >mysql>insert into user (host,user,password) values('192.168.0.51','root',password('123'));  
    //查看一下
    >mysql>select host, user from user;    
    //推送设置到内存或重启服务器也行
    >mysql>flush privileges;
    

    2.解决1251 client does not support ..问题
    2、设置用户配置项
    (1) 查看用户信息

    >select host,user,plugin,authentication_string from mysql.user;  
    备注:host为 % 表示不限制ip   localhost表示本机使用    plugin非mysql_native_password 则需要修改密码
    
    image

    (2)修改用户密码

    >ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'newpassword'; 
    更新host 名为localhost ,user为 root用户的密码为newpassword  
    
    image

    8.C#代码操作MySql

    1.安装mysql的.net连接器:mysql-connector-net
    2.vs项目中引用库:MySql.Data.dll
    3.编写脚本

    using System;
    using System.Collections.Generic;
    using MySql.Data.MySqlClient;
    
    namespace Server
    {
        public class MysqlManager
        {
            string ip = "127.0.0.1";//ip地址
            string username = "root";//登录ID
            string password = "123456";//登录密码
    
            string dbName = "arpg";//数据库名称
    
            MySqlConnection connect;//数据库连接
            MySqlCommand command;//数据库命令
    
            public MysqlManager()
            {
                Open();
            }
    
            //打开数据库
            void Open()
            {
                connect = new MySqlConnection();
                connect.ConnectionString = "server=" + ip + "; user id=" + username +
                                        "; password=" + password + "; database=" + dbName;
                connect.Open();
                command = connect.CreateCommand();
    
                Console.WriteLine("打开数据库");
            }
    
            //关闭数据库
            void Close()
            {
                command.Dispose();
                connect.Dispose();
                Console.WriteLine("关闭数据库");
            }
    
            //创建表
            public void CreateTable(string tabelName, Dictionary<string, string> infos)
            {
                string sql = "create table " + tabelName;
                sql += @"(
                id int primary key auto_increment not null,
                name varchar(10),
                attack int,
                ranges float
                )";
                ExcuteSql(sql);
            }
    
            //增加
            public void InsertInto(string tableName)
            {
                string sql = "insert into " + tableName + " " + "values(1,'暴风雪',10,10)";
                ExcuteSql(sql);
            }
    
            //删除
            public void DeleteFrom(string tableName)
            {
                string sql = "delete from " + tableName + " " + "where id = 1";
                ExcuteSql(sql);
            }
    
            //修改
            public void UpdateSet(string tableName)
            {
                string sql = "update " + tableName + " " + "set name = '无间炼狱' where id=1";
                ExcuteSql(sql);
            }
    
            //查询
            public void SelectFrom(string tableName)
            {
                string sql = "select * from " + tableName;
    
                command.CommandText = sql;
                MySqlDataReader reader = command.ExecuteReader();//以阅读器来查询
    
                while (reader.Read())
                {
                    int count = reader.FieldCount;
                    for (int i = 0; i < count; i++)
                    {
                        string key = reader.GetName(i);//列名
                        object value = reader.GetValue(i);//列值
    
                        Console.WriteLine(key + ":" + value);
                    }
                }
            }
    
            void ExcuteSql(string sql)
            {
                Console.WriteLine("sql -> " + sql);
                command.CommandText = sql;
                command.ExecuteNonQuery();
            }
        }
    }
    

    相关文章

      网友评论

          本文标题:Unity3D高级-MySQL

          本文链接:https://www.haomeiwen.com/subject/vnhusftx.html