C#下实现SQL SERVER数据库删除以指定字符串开头的表或指定日期前的表(SQL语句)

关于C#下实现控制数据库执行相应操作,基本所有工作全在SQL语句编写上。

嗯,简述以下基本流程吧:C#下建立与SQL SERVER的连接------写相应SQL语句------执行相应的SQL语句,完了。一三两步都是定式,本人都是抄的,所以现在也记不住。

至于中间的SQL语句,话不多说,上代码:

       try
            {
                                                                  

                string dropSql = "declare @sql varchar(8000)" +
                "set @sql=''" +
                "select @sql=@sql+','+name from sysobjects where type='U' and name like 'Ban%'" +
                "set @sql='drop table '+stuff(@sql,1,1,'')" +                         //--去掉开头一个","
                "exec(@sql)" +
                "declare @sql1 varchar(8000)" +
                "set @sql1=''" +
                "select @sql1=@sql1+','+name from sysobjects where type='U' and name like 'Or%'" +
                "set @sql1='drop table '+stuff(@sql1,1,1,'')" +                         //--去掉开头一个","
                "exec(@sql1)";
                SqlCommand mycom = new SqlCommand(dropSql, Class1.Samycon);
                mycom.ExecuteNonQuery();


            }
            catch (Exception ex)
            {
                //MessageBox.Show(ex.Message);
                return;
            }


            //comboBox1.Items.Clear();
            MessageBox.Show("成功删除所有数据表,将关闭软件");
            System.Environment.Exit(0);
        }

SQL语句中,主要有这三点要理解(对于新手吭~)

1.TYPE='U' AND NAME LIKE‘BAN%’

其中,类型等于U,即USER,表示所有用户自建的表

NAME LIKE 'BAN%' 即以BAN开头的字符串,%叫个占位符还是替代符云云来着,总之,这个%可以指代N个字符,另外还有"_"指代的是一个字符好像,记不太清了,别误导你们。有兴趣的可以看看"SQL必知必会"这本书,都有讲。 

2.@SQL :这只是表示一个变量而已,声明(DECLARE)。

3.STUFF ( character_expression , start , length , character_expression )  函数,删除指定长度的字符并在指定的起始点插入另一组字符。

对上边的程序而言,这个函数的意义就是删除最开始的一个逗号。因为

"select @sql=@sql+','+name from sysobjects where type='U' and name like 'Ban%'"

执行后,原@SQL变为   “,以BAN开头的表名,以BAN开头的表名,以BAN开头的表名。。。。。。

经STUFF函数后,@SQL变为“以BAN开头的表名,以BAN开头的表名,以BAN开头的表名。。。。。。

最后,将@SQL变为“DROP。。。。”

然后执行一下@SQL即可(exec(@SQL))。

关于STUFF函数和EXEC函数还是方法来,这里有个连接,可以快餐了解一下点击打开链接

另外,如果做得东西要经常用到数据库的话,还是快餐了解一下常用的SQL 语句和函数吧。这样很多构思都能自己写SQL语句实现了,不是吗,所以~

强烈推荐一波本人上传滴资源(毕竟我也要积分下载大佬们的资源嘛)点击打开链接------

SQL书籍资料(SQL 必知必会、从入门到精通)

其中,从入门到精通本人是一点也看不懂啊!!!全是原理~

必知必会很好,主要讲的就是各种常用语句,函数,很好用!!强推!!!

资源中另附标题两方法实现的SQL语句。

你可能感兴趣的:(C#下实现SQL SERVER数据库删除以指定字符串开头的表或指定日期前的表(SQL语句))