C# mysql 表结构、数据库数据的复制

目的:同一个mysql数据库中,实现不同Schema下数据表的结构复制,以及数据的复制

刚开始new是空的,没有表,复制之后多了和old的stuinfo相同结构的stuinfo
之前在用Unity3d和mysql,这次直接就在脚本里实现了,unity里放一个按钮,按钮绑定脚本里的函数,函数如下

public void Copy()
    {
        string constr = "server = localhost; User Id = root; password = 123456";//呃连接字符串这点儿信息就够了
        //建立连接的语句  
        MySqlConnection mycon = new MySqlConnection(constr); //建立连接  
        mycon.Open();
        MySqlCommand mycmd = new MySqlCommand("create table new.stuinfo like old.stuinfo", mycon);
        object count = mycmd.ExecuteScalar();//执行
    }

接下来把数据也复制过去,整个代码改成这样

public void Copy()
    {
        string constr = "server = localhost;  User Id = root; password = 123456"; 
        MySqlConnection mycon = new MySqlConnection(constr); 
        mycon.Open();
        //这里加了if not exists(SQL语法很重要)
        MySqlCommand mycmd = new MySqlCommand("create table if not exists new.stuinfo like old.stuinfo", mycon);
        object count = mycmd.ExecuteScalar();
        //表结构有了,开始插入数据
        MySqlCommand mycmd2 = new MySqlCommand("insert new.stuinfo select * from old.stuinfo", mycon);
        mycmd2.ExecuteNonQuery();//这一句或者上面那句都可以执行command

    }

SQL MYSQL这一块学的不系统,都是遇到问题找问题,现学现卖,有机会好好打下基础

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值