关于数据库删除表的SQL语句的区别

时间:2024.4.29

数据库中的有关表删除的SQL关键字有drop,delete以及truncate三个。

它们的SQL语句格式如下:(假如表名为Table_name)

drop table Table_name; --------------------完全删除表

delete Table_name;-----------------删除表内数据,保留表结构

truncate table Table_name;-----------------完全删除表内数据,保留表结构

delete  from Table_name where 条件;-------------------------------删除相关数据

下面举例说明它们的区别:

首先,创建一个表Users

create table Users(

id int identity[C1] (1,1),

name varchar(20)

)

执行;再往表内插入数据:

insert into Users

values('A');

insert into Users(name)

values('B');

执行;此时select * from Users;

结果如下:

①如果执行删除语句:

delete Users;

select * from Users;

结果是

此时再插入数据:

insert into Users(name)

values('CC');

select * from Users;

结果是:

②如果执行删除语句:

truncate table Users;

select * from Users;

结果是:

此时再插入数据:

insert into Users(name)

values('CC');

select * from Users;

结果是:

③如果执行删除语句:

drop table Users;

则完全删除表,此时无论执行select * from Users;

还是insert into Users(name) values('CC');

都会提示表Users无效


注意identity是一个自增字段的关键字,通过 identity来设置参数有2个,一个是“初始值” 一个是“增量”。默认情况下insert语句中,不能对identity的字段进行赋值。当删除数据后,identity字段数据会不连续。此时,可以通过在insert 语句前执行语句set identity_insert 表名 on;

来允许对identity字段进行显式的插入动作。当执行语句set identity_insert 表名off;后,又不可以为identity字段赋值了。


第二篇:SQL语句创建数据库及修改、删除数据库


使用SQL语句:

CREATE DATABASE语句创建数据库

CREATE DATABASE database_name

[ON [PRIMARY] [<filespec> [ ,...n]

[ , <filegroup> [ ,...n ] ]

[LOG ON { <filespec> [ ,...n ] } ]

<filespec>::= {

(

NAME=logical_file_name , FILENAME = 'os_file_name'

) [ ,...n ]

}

<filegroup>::=

{

FILEGROUP filegroup_name <filespec> [ ,...n ]

}

T-SQL语法说明:

“[ ]”中的内容表示可以省略,省略时系统取默认值。

“{ }[ ,?n ]”表示花括号中的内容可以重复书写n次,必须用逗号隔开。 “|”表示相邻前后两项只能任取一项。

一条语句可以分成多行书写,但多条语句不允许写在一行。

CREATE DATABASE 数据库名

[ ON [PRIMARY]

{ ( [NAME=数据文件的逻辑名称 ,]

FILENAME=‘数据文件的物理名称’,

[SIZE=数据文件的初始大小 [ MB(默认) | KB | GB ] , ]

[MAXSIZE={ 数据文件的最大容量[ MB | KB | GB]

|UNLIMITED(不受限制) } ,]

[FILEGROWTH=数据文件的增长量[ MB | KB | GB | % ] ]

)

} [ , ?n ]

[ FILEGROUP 文件组名

{ ( [NAME=数据文件的逻辑名称 ,]

[FILENAME=‘数据文件的物理名称’, ]

[SIZE=数据文件的初始大小 [ MB | KB | GB ] ,]

[MAXSIZE={ 数据文件的最大容量 [ MB | KB | GB ]

| UNLIMITED } ,]

[FILEGROWTH=数据文件的增长量[ MB | KB | GB | % ] ]

)

} [ , ?n ]

]

LOG ON

{ ( [NAME=事务日志文件的逻辑名称 ,]

[FILENAME=‘事务日志文件的物理名称’,]

[SIZE=事务日志文件的初始大小 [MB | KB | GB ] ,] [MAXSIZE={ 事务日志文件的最大容量 [ MB | KB | GB ]

| UNLIMITED } ,]

[FILEGROWTH=事务日志文件的增长量[ MB|KB|GB| % ]]

)

} [ , ?n ]

]

说明:

ON 表示需根据后面的参数创建该数据库。

LOG ON 子句用于根据后面的参数创建该数据库的事务日志文件。

PRIMARY指定后面定义的数据文件属于主文件组PRIMARY,也可以加入用户自己创建的文件组。

NAME=‘数据文件的逻辑名称’:是该文件在系统中使用的标识名称,相当于别名。

FILENAME=‘数据文件的物理名称’:指定文件的实际名称,包括路径和后缀。 UNLIMITED 表示在磁盘容量允许情况下不受限制。

文件容量默认单位为MB字节,也可以使用KB单位。

例题一:

用T-SQL语句在C:\DATA\文件夹中创建一个教师信息数据库teacher,该数据库包含:

1、一个主数据文件逻辑名‘teacherdata1 ’,

物理名‘C:\DATA\tdata1.mdf ’,

初始容量1MB,最大容量10MB,每次增长量为15%。

2、一个辅助数据文件逻辑名‘teacherdata2 ’

物理名‘C:\DATA\tdata2.ndf ’,

初始容量2MB,最大容量15MB,每次增长量为2MB。

3、两个数据文件不单独创建文件组,即使用默认的PRIMARY组;

4、一个事务日志文件逻辑名‘teacherlog’物理名‘C:\DATA\teacherlog.ldf ’,初始容量500KB,最大容量不受限制,每次增长量为500KB。

先确认C:\DATA\文件夹已创建,在查询分析器中输入代码:

CREATE DATABASE teacher

ONPRIMARY

( NAME = teacherdata1 ,

FILENAME = 'C:\DATA\tdata1.mdf' ,

SIZE =5MB , -- 默认字节单位MB可以省略

MAXSIZE= 10 , -- 文件最大容量 10 MB

FILEGROWTH = 15% -- 增长量为文件容量15%

) ,

( NAME = teacherdata2 ,

FILENAME = 'C:\DATA\tdata2.ndf' ,

SIZE = 2 ,

MAXSIZE= 15 ,

FILEGROWTH = 2MB -- 增长量为2 MB

)

LOG ON /* 创建事务日志文件*/

( NAME = teacherlog ,

FILENAME = 'C:\DATA\teacherlog.LDF',

SIZE = 500 KB ,/* 初始容量,KB单位不能省略 */

MAXSIZE = UNLIMITED ,/* 日志文件最大容量不受限制 */

FILEGROWTH = 500 KB/* 增长量 KB 不能省略 */ )

例题2:课本P61

例题3:在C:\DATA1\文件夹中创建一个名为:

仓库库存管理数据库,要求它有3个数据文件,

其中主数据文件逻辑名为epdata1,大小为10MB,最大大小为50MB,每次增长5MB;

辅助数据文件属于FGroup文件组,文件逻辑名为epdata2,文件大小为20MB,最大大小不受限制,每次增长10%;

事物日志文件eplog,大小为20MB,最大大小为100MB,每次增长10MB。

CREATE DATABASE 仓库库存管理

ON PRIMARY

( NAME = epdata1,

FILENAME = 'C:\DATA1\epdata1.mdf' ,

SIZE = 10MB ,

MAXSIZE = 50MB ,

FILEGROWTH = 5MB ),

FILEGROUP FGroup

( NAME = epdata2,

FILENAME = C:\DATA1\epdata2.ndf , SIZE = 20MB ,

MAXSIZE = UNLIMITED,

FILEGROWTH = 10%)

LOG ON

( NAME = eplog,

FILENAME = C:\DATA1\eplog.ldf , SIZE = 20MB ,

MAXSIZE = 100MB ,

FILEGROWTH = 10MB )

例题四:阅读下面的SQL语句

create database employees on primary

(name=employee1,

filename='d:\ data\employee1.mdf', size=10,

maxsize=unlimited,

filegrowth=10%),

FILEGROUP EGroup

(name=employee2,

filename='d:\data\employee2.ndf', size=20,

maxsize=100,

filegrowth=1)

log on

(name=employeelog1,

filename='d:\data\employee1.ldf', size=10, maxsize=50,

filegrowth=1),

(name=employeelog2,

filename='d:\data\employee2.ldf',

size=10,

maxsize=50,

filegrowth=1)

用ALTER DATABASE语句设置、修改数据库

T-SQL设置修改数据库语句ALTER DATABASE的语法格式: ALTER DATABASE 数据库名

add file <文件格式> [to filegroup 文件组] | add log file <文件格式>

| remove file 逻辑文件名

| add filegroup 文件组名

| remove filegroup 文件组名

| modify file <文件格式>

| modify name new_dbname

| modify filegroup 文件组名

说明:

add file为增加一个辅助数据文件[并加入指定文件组];

<文件格式>为:

( name = 数据文件的逻辑名称

[,filename =‘数据文件的物理名称’]

[,size = 数据文件的初始大小 [ MB | KB|GB ] ]

[,maxsize={ 数据文件的最大容量[ MB | KB|GB ] | UNLIMITED } ]

[,filegrowth=数据文件的增长量 [ MB | KB | GB|% ] ]

)

在例题3的基础上进行数据库的修改。

例题3:在C:\DATA1\文件夹中创建一个名为:

仓库库存管理数据库,要求它有3个数据文件,

其中主数据文件逻辑名为epdata1,大小为10MB,最大大小为50MB,每次增长5MB;

辅助数据文件属于FGroup文件组,文件逻辑名为epdata2,文件大小为20MB,最大大小不受限制,每次增长10%;

事物日志文件eplog,大小为20MB,最大大小为100MB,每次增长10MB。

CREATE DATABASE仓库库存管理

ON PRIMARY

( NAME = epdata1,

FILENAME = 'C:\DATA1\epdata1.mdf' ,

SIZE = 10MB ,

MAXSIZE = 50MB ,

FILEGROWTH = 5MB ),

FILEGROUP FGroup

( NAME = epdata2,

FILENAME = C:\DATA1\epdata2.ndf ,

SIZE = 20MB ,

MAXSIZE = UNLIMITED, FILEGROWTH = 10%)

LOG ON

( NAME = eplog,

FILENAME = C:\DATA1\eplog.ldf , SIZE = 20MB ,

MAXSIZE = 100MB ,

FILEGROWTH = 10MB )

增加和删除文件组

增加文件组

语法:ALTER DATABASE 数据库名 add filegroup 文件组名

例:

ALTER DATABASE 仓库库存管理 Add filegroup epp1

ALTER DATABASE 仓库库存管理 Add filegroup epp2

可以写成

ALTER DATABASE 仓库库存管理 Add filegroup epp1,epp2 吗?

删除文件组

语法:ALTER DATABASE 数据库名

Remove filegroup 文件组名

例:ALTER DATABASE 仓库库存管理

Remove filegroup epp2

问:可以删除Fgroup文件组吗?

只能删除空文组

增加和删除数据文件和日志文件

1)增加数据文件和日志文件

语法:

ALTER DATABASE 数据库名

add file <文件格式>

<文件格式>为:

( name = 数据文件的逻辑名称

[,filename =‘数据文件的物理名称’]

[,size = 数据文件的初始大小 [ MB|KB|GB ] ]

[,maxsize={ 数据文件的最大容量[ MB|KB|GB ]| UNLIMITED } ]

[,filegrowth=数据文件的增长量 [ MB | KB | GB|% ] ] )

例:

增加一个辅助数据文件,文件逻辑名为epdata3,文件大小为30MB,最大大小不受限制,每次增长10%;

增加一个事物日志文件eplog1,大小为30MB,最大大小为50MB,每次增长10MB。 Alter database 仓库库存管理Alter database 仓库库存管理

Add fileAdd LOG file

( NAME = epdata3, ( NAME = eplog1,

FILENAME = FILENAME =

'C:\DATA1\epdata3.ndf' ,'C:\DATA1\eplog1.ldf',

SIZE = 30MB , SIZE = 30MB,

MAXSIZE = UNLIMITED, MAXSIZE = 50MB,

FILEGROWTH = 10%)FILEGROWTH = 10MB )

Alter database 仓库库存管理

Add file

( NAME = epdata3,

FILENAME = 'C:\DATA1\epdata3.ndf' , SIZE = 30MB ,

MAXSIZE = UNLIMITED,

FILEGROWTH = 10%)

Alter database 仓库库存管理

Add LOG file

( NAME = eplog1,

FILENAME = 'C:\DATA1\eplog1.ldf' , SIZE = 30MB ,

MAXSIZE = 50MB ,

FILEGROWTH = 10MB )

错误的写法:

Alter database 仓库库存管理

Add file

( NAME = epdata3,

FILENAME = 'C:\DATA1\epdata3.ndf' ,

SIZE = 30MB ,

MAXSIZE = UNLIMITED,

FILEGROWTH = 10%)

Add LOG file

( NAME = eplog1,

FILENAME = 'C:\DATA1\eplog1.ldf' ,

SIZE = 30MB ,

MAXSIZE = 50MB ,

FILEGROWTH = 10MB )

例:为仓库库存管理数据库,增加2个辅助数据文件,文件逻辑名为epdata4,epdata5,文件大小为30MB,最大大小不受限制,每次增长10%;

Alter database 仓库库存管理

Add file

( NAME = epdata4,

FILENAME = 'C:\DATA1\epdata4.ndf' ,

SIZE = 30MB ,

MAXSIZE = UNLIMITED,

FILEGROWTH = 10%),

( NAME = epdata5,

FILENAME = 'C:\DATA1\epdata5.ndf' , SIZE = 30MB ,

MAXSIZE = UNLIMITED,

FILEGROWTH = 10%)

2)删除数据文件和日志文件

语法:

ALTER DATABASE 数据库名 remove file 逻辑文件名

例:删除辅助数据文件epdata5.ndf ALTER DATABASE 仓库库存管理 remove file epdata5

例:删除日志文件eplog1.ldf

ALTER DATABASE 仓库库存管理 remove file eplog1

增加数据文件到指定的文件组

语法:

ALTER DATABSE 数据库名

Add file <文件格式>

ToFilegroup 文件组名(此文件组应存在)

例:

增加一个辅助数据文件,文件逻辑名为epdata6,文件大小为60MB,最大大小不受限制,每次增长10%,辅文件epdata6属于文件组epp1

ALTER DATABASE 仓库库存管理

Add file--添加数据文件加入文件组

(name=epdata6,

Filename='C:\DATA1\epdata6.ndf',

SIZE = 60MB ,

MAXSIZE = UNLIMITED,

FILEGROWTH = 10%)

to filegroup epp1

更改数据文件和日志文件名称。

语法:

ALTER DATABASE 数据库名

Modify file

(name=逻辑名,

newname=新逻辑名)

例:修改数据库“仓库库存管理”,将辅文件epdata4,文件逻辑名修改为

Odata4。

ALTER DATABASE 仓库库存管理

Modify file

(name=epdata4,

newname=odata4)

物理名称修改

ALTER DATABASE 仓库库存管理

Modify file

(name=odata4,

Filename='c:\data2\odata4.ndf')

修改数据文件和日志文件的初始大小和增长方式

语法:

ALTER DATABASE 数据库名

modify file <文件格式>

例:

修改辅助数据文件epdata2,修改文件大小为100MB,最大大小200MB,每次增长10MB。

ALTER DATABASE仓库库存管理

modify file

(name=epdata2,

Filename='C:\DATA1\epdata2.ndf',

SIZE = 100MB ,

MAXSIZE = 200MB,

FILEGROWTH = 10MB)

修改数据文件大小,能将数据文件初始大小改小吗?

能改变epdata2所归属的文件组吗?

修改数据库名

语法:

alter database 数据库

modify name=newname

例:将数据库“仓库库存管理”改名为“仓库管理”

alter database仓库库存管理

modify name=仓库管理

EXECUTE sp_helpdb 仓库管理 --查看数据库信息

使用sql语句完成下列习题:

1)创建数据库:“text”

2)主数据文件逻辑名称:textdata1,物理位置:‘c:\data\textdata1.mdf’,初始大小1MB,最大10MB,增量1MB。

3)辅助数据库逻辑名称:textdata2,物理位置: c:\data\textdata2.ndf’,初始大小1MB,最大无限制,增量3MB。

4)事务日志文件逻辑名称:textlog,物理位置:‘c:\data\textlog.ldf’,初始大小1MB,最大5MB,增量1MB。

5)完成数据库建立

6)修改数据库“text”,增加一个文件组,文件组名:Gtext

7)增加一个辅助数据文件,文件逻辑名textdata3,物理名为:c:\data\textdata3.ndf’,初始大小为20MB,最大100MB,

增量10MB,归属于文件组“Gtext”。

更多相关推荐:
关于离别的句子

关于离别的句子1我们都一样太渺小难以操纵命运的心血来潮2挥手告别扬帆远航别不了的是你抛出的那根友谊的缆绳无形中牢牢地系在我心上3刹那繁华都是假象如果没有贪恋也许我们可以活得更好4默默地分手正如当初默默地相遇愿这...

关于离别的伤感句子 离别伤感短语

一明白的人懂得放弃真情的人懂得牺牲二岁月的流逝证明着我们在一天天的长大在成长中我们成为了好朋友当世界在变唯有不变换时我相信我们还会回到相遇的起点一朵花中有一个世界当片片花絮织成了深厚的友谊时谱下年少时的诗意篇篇...

关于离别的伤感句子 离别伤感短语

一明白的人懂得放弃真情的人懂得牺牲二岁月的流逝证明着我们在一天天的长大在成长中我们成为了好朋友当世界在变唯有不变换时我相信我们还会回到相遇的起点一朵花中有一个世界当片片花絮织成了深厚的友谊时谱下年少时的诗意篇篇...

关于离别的诗句

关于离别的诗句1莫道秋江离别难舟船明日是长安2故人西辞黄鹤楼烟花三月下扬州孤帆远影碧空尽唯见长江天际流3与君离别意同是宦游人海内存知己天涯若比邻无为在歧路儿女共沾巾4明月隐高树长河没晓天悠悠洛阳道此会在何年5朝...

关于送别的诗句

关于送别的诗句1黄鹤楼送孟浩然之广陵李白故人西辞黄鹤楼烟花三月下扬州孤帆远影碧空唯见长江天际流2赠汪伦李白李白乘舟将欲行忽闻岸上踏歌声桃花流水深千尺不及汪伦送我情3送友人李白青山横北郭白水绕东城此地为一别孤蓬万...

常见的关于送别的诗句

常见的关于送别的诗句1黄鹤楼送孟浩然之广陵李白故人西辞黄鹤楼烟花三月下扬州孤帆远影碧空唯见长江天际流2赠汪伦李白李白乘舟将欲行忽闻岸上踏歌声桃花流水深千尺不及汪伦送我情3送友人李白青山横北郭白水绕东城此地为一别...

关于送别的诗句

关于送别的诗句1黄鹤楼送孟浩然之广陵李白故人西辞黄鹤楼烟花三月下扬州孤帆远影碧空唯见长江天际流2赠汪伦李白李白乘舟将欲行忽闻岸上踏歌声桃花流水深千尺不及汪伦送我情3送友人李白青山横北郭白水绕东城此地为一别孤蓬万...

初中古诗词分类之有关离别的诗句

初中古诗词分类之有关离别的诗句诗中豁达对待离别的诗句1人有悲欢离合月有阴晴园缺此事古难全苏轼水调歌头明月几时有2海内存知己天涯若比邻王勃送杜少甫之任蜀州诗中不明送别但意味深长的诗句1山回路转不见君雪上空留马行处...

关于送别的诗句

1送别唐王维山中相送罢日暮掩柴扉春草年年绿王孙归不归2黄鹤楼送孟浩然之广陵唐李白故人西辞黄鹤楼烟花三月下扬州孤帆远影碧空尽唯见长江天际流送元二使安西唐王维渭城朝雨浥轻尘客舍青青柳色新劝君更尽一杯酒西出阳关无故人...

关于送别的诗句

关于送别的诗句送友人李白青山横北郭白水绕东城此地为一别孤蓬万里征浮云游子意落日故人情挥手自兹去萧萧班马鸣赋得古原草送别唐白居易离离原上草一岁一枯荣野火烧不尽春风吹又生远芳侵古道晴翠接荒城又送王孙去萋萋满别情赠汪...

关于送别的诗句暨凿壁偷光

关于送别的诗句1黄鹤楼送孟浩然之广陵李白故人西辞黄鹤楼烟花三月下扬州孤帆远影碧空唯见长江天际流2赠汪伦李白李白乘舟将欲行忽闻岸上踏歌声桃花流水深千尺不及汪伦送我情3送友人李白青山横北郭白水绕东城此地为一别孤蓬万...

关于湖泊的名言、好词、好句、好段

关于湖泊的好词水平如镜波光粼粼清澈见底波澜壮阔一望无际巨浪滔天惊涛骇浪水波漂碧千丈见底波光鳞鳞海天一色碧波万顷白浪滔天碧蓝如茵波涛汹涌汹涌澎湃水平如镜波涛汹涌微波粼粼碧波万顷清澈无暇透明湛蓝碧绿恬静温柔轻盈流畅...

关于离别的名句(14篇)