Sql Server 数据库 多表删除

Sql Server 数据库 多表删除,第1张

delete

投诉表

where

会员ID=

'某ID'

delete

订座表

where

会员ID=

'某ID'

delete

音乐收藏表

where

会员ID=

'某ID'

delete

会员表

where

会员ID=

'某ID'

(1)如果想清空表里面的内容可以使用:delete from KF;

(2)如果是想删除整个表可以使用:drop table KF。

SQL中删除表中的所有数据的方法:

1、TRUNCATE TABLE  删除表中的所有行,而不记录单个行删除 *** 作。

(1)语法:TRUNCATE TABLE name;

(2)参数 name 是要截断的表的名称或要删除其全部行的表的名称。

2、DELETE语句,属于计算机软件领域,是编程中实现删除功能的命令。

(1)DELETE语句:用于创建一个删除查询,可从列在 FROM 子句之中的一个或多个表中删除记录,且该子句满足 WHERE 子句中的条件,可以使用DELETE删除多个记录。

(2)语法:DELETE [table] FROM table WHERE criteria;

(3)说明:table参数用于指定从其中删除记录的表的名称。

(4)criteria参数为一个表达式,用于指定哪些记录应该被删除的表达式。

(5)可以使用 Execute 方法与一个 DROP 语句从数据库中放弃整个表。不过,若用这种方法删除表,将会失去表的结构。不同的是当使用 DELETE,只有数据会被删除;表的结构以及表的所有属性仍然保留,例如字段属性及索引。

扩展资料:

1、SQL 的支持标准:

(1)SQL 是1986年10 月由美国国家标准局(ANSI)通过的数据库语言美国标准,接着,国际标准化组织(ISO)颁布了SQL正式国际标准。

(2)1989年4月,ISO提出了具有完整性特征的SQL89标准,1992年11月又公布了SQL92标准,在此标准中,把数据库分为三个级别:基本集、标准集和完全集。

2、数据库对象——表格:

(1)数据库中的表与我们日常生活中使用的表格类似,它也是由行(Row) 和列(Column)组成的。列由同类的信息组成,每列又称为一个字段,每列的标题称为字段名。

(2)行包括了若干列信息项。一行数据称为一个或一条记录,它表达有一定意义的信息组合。一个数据库表由一条或多条记录组成,没有记录的表称为空表。每个表中通常都有一个主关键字,用于唯一地确定一条记录。

参考资料来源:

百度百科-结构化查询语言

百度百科-DELETE语句

百度百科-数据库对象

删除多表关联数据的三种方法

1、级联删除

create table a

(

id  varchar(20) primary key,

password varchar(20) not null

)create table b

(

id int identity(1,1)  primary key,

name varchar(50) not null,

userId varchar(20),

foreign key (userId) references a(id) on delete cascade

)

表B创建了外码userId 对应A的主码ID,声明了级联删除

测试数据:

insert a values ('11','aaa')

insert a values('23','aaa')

insert b values('da','11')

insert b values('das','11')

insert b values('ww','23')

删除A表内id为‘11’的数据,发现B表内userId 为“11”也被数据库自动删除了

delete a where id='11'

2、采用存储过程

A表:AID   Aname                               主健:AID

B表:BID   BelongAID Bname               主健:BID,外健:BelongAID

C表:CID BelongBID Cname                 主健:CID,外健:BelongBID

D表:DID BelongCID Dname                主健:DID,外健:BelongCID

其中:

A表和B表通过AAID和BBelongAID  创建了外健关系

B表和C表通过BBID和CBelongBID   创建了外健关系

C表和D表通过CCID和DBelongCID  创建了外健关系

3、采用触发器

删除Class表中的一条记录的同时删除该记录Class_No字段值在Student表中对应的记录。

Create Trigger Class_delete

on Class

for delete

as

begin

delete from Student

where Class_No=(select Class_No from deleted)

end

需要使用级联删除。

举例说明,如现在有三张表,学生Student,课程Course,成绩SC

1、学生表Student,主键是学号Sno

2、课程Course,主码是课程号Cno

3、成绩SC,主码是Sno和Cno,Sno外键约束是Student的Sno,Cno的外键约束是Cno

现在需要对Student或者Course进行修改或删除,希望在SC表中能保持修改或删除同步,这就需要到级联 *** 作!

方法一、SQL Server 2008 中手动设置“级联”

这个方法建议在建表时不要加入任何设置外键的代码,如果主码是两者或以上的就不适合使用

1  打开“数据库关系图”,若未创建,则创建

2  选中SC表,右击选中“关系”,展开“INSERT和UPDATE规范”中选择级联

3  Student表 和 Course 表也要同样的设置

方法二、建表时使用级联代码添加

IF EXISTS (SELECT  FROM dbosysobjects WHERE ID = OBJECT_ID(N'SC')

            AND OBJECTPROPERTY(ID, 'IsUserTable') = 1)

    DROP TABLE SC

Go

CREATE TABLE SC

(    Sno CHAR(10),

    Cno CHAR(10),

    Grade SMALLINT CHECK (Grade >= 0 AND Grade <= 100) NOT NULL,

    

    PRIMARY KEY (Sno, Cno),

    FOREIGN KEY (Sno) REFERENCES Student (Sno)

        ON UPDATE CASCADE

        ON DELETE CASCADE,

    FOREIGN KEY (Cno) REFERENCES Course (Cno)

        ON UPDATE CASCADE

        ON DELETE CASCADE);

mysql删除表的命令如下:

在mysql中,可以利用“DORPTABLE”语句来删除数据表,通用语法格式“DROPTABLEtable_name;”;其中,“table_name”表示要被删除的数据表的名称,可以指定多个数据表名称,只要相互之间用逗号隔开即可。

MySQL中删除数据表是非常容易 *** 作的,但是你在进行删除表 *** 作时要非常小心,因为执行删除命令后所有数据都会消失。

执行结果可以看到,test_db数据库的数据表列表中已经不存在名称为tb_emp2的表,删除 *** 作成功。

可以写个脚本(或者函数),保存一下脚本,删除的时候直接运行就行。

比如:

delete from table_v1;

delete from table_v2 where ;

delete from table_v3 where ;

将需要删除内容的表,都放到一个文件中,执行这个文件中的脚本就可以实现批量删除。

以上就是关于Sql Server 数据库 多表删除全部的内容,包括:Sql Server 数据库 多表删除、删除数据库表内容、sql多表关联删除等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/9340364.html

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

发表评论

登录后才能评论

评论列表(0条)

保存