SQL怎么用DELETE删除多条数据

SQL怎么用DELETE删除多条数据,第1张

1、首先创建一个临时表,用于演示sqlserver语法中delete删除的使用方法

IF OBJECT_ID('tempdb#tblDelete') IS NOT NULL DROP TABLE #tblDelete;

CREATE TABLE #tblDelete(

  Code varchar(50),     

  Total int 

);

2、然后往临时表#tblDelete中插入几行测试,用于演示如何删除数据

insert into #tblDelete(Code, Total) values('Code1', 30);

insert into #tblDelete(Code, Total) values('Code2', 40);

insert into #tblDelete(Code, Total) values('Code3', 50);

insert into #tblDelete(Code, Total) values('Code4', 6);

3、查询临时表#tblDelete中的测试数据select from #tblDelete;

4、删除临时表#tblDelete中Code栏位=Code3的记录,使用下面的delete语句

delete #tblDelete where Code = 'Code3'

5、再次查询临时表#tblDelete的结果,可以看到Code3的记录没有了

select from #tblDelete;

6、删除临时表#tblDelete中Code栏位=Code2的记录,使用下面的delete语句。

注意,下面的delete语句后面有一个from关键字,这个关键字是可以省略的,但是建议不要省略

delete from #tblDelete where Code = 'Code2'

7、再次查询临时表#tblDelete的结果,可以看到Code2的记录没有了

select from #tblDelete;

8、最后,如果想要快速的删除表中的所有数据,有下面两种方式。第二种方式速度更快,delete from #tblDelete;truncate table #tblDelete;完成效果图。

好多问题。。。

!- -

不要牵涉到前台。。也可以直接在后台中编写。。。

首先当然要写上using SystemDataSqlClient;//这句要写上

1、建立连接字符串如下:

SqlConnection testconn = new SqlConnection("Server=\\SQLEXPRESS;database=test;uid=sa;pwd=123456");

//SQL服务器为\\SQLEXPRESS,数据库为test,使用sql认证方式,用户名sa,密码123456

SqlConnection testconn = new SqlConnection("Server=\\SQLEXPRESS;database=test;Integrated Security = True");

//SQL服务器为\\SQLEXPRESS,数据库为test,使用windows认证方式

2、写SQL语句字符串

string idsql = "SELECT FROM stu";

string countsql="SELECT COUNT() FROM stu";

string textsql = "SELECT FROM stu WHERE id=" + DropDownList1SelectedValue;

string addsql="INSERT INTO stu VALUES('"+TextBox1Text+"','"+TextBox2Text+"','"+TextBox3Text+"')";

string deletsql = "DELETE FROM stu WHERE id=" + TextBox1Text;

string upsql = "UPDATE stu SET name='" + TextBox2Text + "'," + "class='" + TextBox3Text + "' WHERE id=" + TextBox1Text;

3、添加命令

SqlCommand sid = new SqlCommand(idsql,testconn);

SqlCommand count = new SqlCommand(countsql,testconn);

SqlCommand stext = new SqlCommand(textsql, testconn);

SqlCommand addcmd = new SqlCommand(addsql, testconn);

SqlCommand deletcmd = new SqlCommand(deletsql, testconn);

SqlCommand upcmd = new SqlCommand(upsql, testconn);

4、打开连接

testconnOpen();

5、执行命令

countExecuteScalar();//一般增删改的命令执行都用这个吧

addcmdExecuteScalar();

deletcmdExecuteScalar();

upcmdExecuteScalar();

查询读取数据比较麻烦如下:

SqlDataReader testdr = sidExecuteReader();//执行查询时需要个dr

testdrRead();//执行读取

testdr["列名"];//读取一个值

TextBox1Text = textdr["id"]ToString();

TextBox2Text = textdr["name"]ToString();

TextBox3Text = textdr["class"]ToString();

while(testdrRead())//testdrRead()读出某列所有数据

{

DropDownList1ItemsAdd(testdr["id"]ToString());//testdr["id"]读出id列的数据

}

textdrClose();//最后关闭读取

6、关闭连接

testconnClose();

---------------------------------------------------------------------------------------------------

以下为本人做的完整实例代码:

using System;

using SystemData;

using SystemConfiguration;

using SystemWeb;

using SystemWebSecurity;

using SystemWebUI;

using SystemWebUIWebControls;

using SystemWebUIWebControlsWebParts;

using SystemWebUIHtmlControls;

using SystemDataSqlClient;//这句要写上

public partial class _Default : SystemWebUIPage

{

static int k;

//SqlConnection testconn = new SqlConnection("Server=\\SQLEXPRESS;database=test;uid=sa;pwd=123456");

SqlConnection testconn = new SqlConnection("Server=\\SQLEXPRESS;database=test;Integrated Security = True");

protected void Page_Load(object sender, EventArgs e)

{

if (!IsPostBack)

{

//SqlCommand sid = testconnCreateCommand();

//SqlCommand count = testconnCreateCommand();

//sidCommandText = "SELECT FROM stu";

//countCommandText = "SELECT COUNT() FROM stu";

string idsql = "SELECT FROM stu";

string countsql="SELECT COUNT() FROM stu";

SqlCommand sid = new SqlCommand(idsql,testconn);

SqlCommand count = new SqlCommand(countsql,testconn);

try

{

testconnOpen();

//k = (int)countExecuteNonQuery();

k = (int)countExecuteScalar();

SqlDataReader testdr = sidExecuteReader();

while (testdrRead())

{

DropDownList1ItemsAdd(testdr["id"]ToString());

}

testdrClose();

}

catch (Exception ex)

{

ResponseWrite("<scirpt>alert('" + exMessageToString() + "')</script>");

}

finally

{

testconnClose();

}

}

}

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)

{

string textsql = "SELECT FROM stu WHERE id=" + DropDownList1SelectedValue;

SqlCommand stext = new SqlCommand(textsql, testconn);

testconnOpen();

SqlDataReader textdr = stextExecuteReader();

textdrRead();

TextBox1Text = textdr["id"]ToString();

TextBox2Text = textdr["name"]ToString();

TextBox3Text = textdr["class"]ToString();

textdrClose();

testconnClose();

}

protected void Button1_Click(object sender, EventArgs e)

{

string addsql="INSERT INTO stu VALUES('"+TextBox1Text+"','"+TextBox2Text+"','"+TextBox3Text+"')";

SqlCommand addcmd = new SqlCommand(addsql, testconn);

testconnOpen();

addcmdExecuteScalar();

testconnClose();

ResponseRedirect("//defaultaspx");

}

protected void Button2_Click(object sender, EventArgs e)

{

string deletsql = "DELETE FROM stu WHERE id=" + TextBox1Text;

SqlCommand deletcmd = new SqlCommand(deletsql, testconn);

testconnOpen();

deletcmdExecuteScalar();

testconnClose();

ResponseRedirect("//defaultaspx");

}

protected void Button3_Click(object sender, EventArgs e)

{

string upsql = "UPDATE stu SET name='" + TextBox2Text + "'," + "class='" + TextBox3Text + "' WHERE id=" + TextBox1Text;

SqlCommand upcmd = new SqlCommand(upsql, testconn);

testconnOpen();

upcmdExecuteScalar();

testconnClose();

ResponseRedirect("//defaultaspx");

}

}

清空所有数据:Truncate Table stu或者Delete stu。

清空第10条以后数据:Delete From Stu Where id Not In、

Select Top 10 id From stu Order By id。

数据库清空表使用delete和truncate语句,但这两个命令语句是有区别的:

首先区别在于,delete是数据库 *** 作语句而非命令语句,直接清空的是数据,能够触发触发器等 *** 作。而truncate是命令语句,不会触发触发器等 *** 作,但不能回滚。truncate语句是直接提交的数据库的,而delete是DML语句。delete还会保留数据库的高水线。打个比方,你就能知道最简单的区别。比如你的表中有一个自增长的ID,truncate之后,ID会重新开始编码,但delete会接着你删除的最大值进行编码。语法上 delete可以带where条件,删除指定数据,但truncate是不能的,只能全部清空表。

下面写一下两个语句清空表的语法:delete table、truncate table。

以上就是关于SQL怎么用DELETE删除多条数据全部的内容,包括:SQL怎么用DELETE删除多条数据、asp.net中Delete语句应该怎么写前台和后台的怎么连上数据库、清空表应该怎么写 SQL等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10143144.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存