C# 从MySQL数据库中选择特定的行和列

C# 从MySQL数据库中选择特定的行和列,c#,mysql,C#,Mysql,我目前正在使用c和MySQL进行学生出勤计划 我创建了一个名为std_info的数据库,它保存学生信息,表中有nibm_id、nic、名称、地址、编号和批次 第二个表名为std_att,用于获取学生出勤率,列为nibm_id、nic、name、batch 我想要的是从std_info表到std_att只检索nibm_id、nic、name、batch 主键是nibm_id 以下是我到目前为止试图做的事情 cmd.CommandText = "insert into std_att (n

我目前正在使用c和MySQL进行学生出勤计划

我创建了一个名为std_info的数据库,它保存学生信息,表中有nibm_id、nic、名称、地址、编号和批次

第二个表名为std_att,用于获取学生出勤率,列为nibm_id、nic、name、batch

我想要的是从std_info表到std_att只检索nibm_id、nic、name、batch 主键是nibm_id

以下是我到目前为止试图做的事情

cmd.CommandText = "insert into std_att (nibm_id, nic, name, batch) SELECT * (nibm_id, nic, name, batch)  FROM `std_info` where nibm_id like '" + textBox1.Text + "%'";
请告诉我怎么做。谢谢大家!

cmd.CommandText = "insert into std_att (nibm_id, nic, name, batch) SELECT nibm_id, nic, name, batch  FROM `std_info` where nibm_id = '" + textBox1.Text + "%'";
显然有很多更好的方法来完成这项工作,而且上面提到的容易受到SQL注入等的影响,但是我可以理解这是否是为了一个简单快速的工作

正如一些用户所说,std_att表中没有重复的列,因为它们已经在主表std_info中了

我还会尝试在插入位之前找到nibm_id,以便在应用程序中进行验证,如果找不到nibm_id,则不会让db在其一侧崩溃

显然有很多更好的方法来完成这项工作,而且上面提到的容易受到SQL注入等的影响,但是我可以理解这是否是为了一个简单快速的工作

正如一些用户所说,std_att表中没有重复的列,因为它们已经在主表std_info中了


我也会尝试在插入位之前找到nibm_id,以便在应用程序中进行验证,如果找不到nibm_id,则不会让数据库崩溃

这是否回答了您的问题?如果是我,我会从sql@MarceliWac我可以问一下,答案只针对SQL Server。为什么表中有重复的名称。到目前为止,我只看到std_info与std_att相比有一些额外的信息。因为我看不到std_att的用法。我还建议您只填写属性名和表名的单词。这使得阅读和理解变得更加困难。@SachinthaSenanayake,你是说你正在使用SQL Server,还是说我提出的问题只在SQL Server上运行时解决了你的问题?问,因为cleary声明它适用于MySQL,我假设您正在使用它。这是否回答了您的问题?如果是我,我会从sql@MarceliWac我可以问一下,答案只针对SQL Server。为什么表中有重复的名称。到目前为止,我只看到std_info与std_att相比有一些额外的信息。因为我看不到std_att的用法。我还建议您只填写属性名和表名的单词。这使得阅读和理解变得更加困难。@SachinthaSenanayake,你是说你正在使用SQL Server,还是说我提出的问题只在SQL Server上运行时解决了你的问题?问,因为cleary声明它适用于MySQL,我假设您正在使用它。