当前位置:文档之家› SQL语句创建数据库及修改、删除数据库

SQL语句创建数据库及修改、删除数据库

SQL语句创建数据库及修改、删除数据库
SQL语句创建数据库及修改、删除数据库

1、使用SQL语句:

CREATE DATABASE语句创建数据库

CREATE DATABASE database_name

[ON [PRIMARY] [ [ ,...n]

[ , [ ,...n ] ]

[LOG ON { [ ,...n ] } ]

::=

{

(

NAME=logical_file_name ,

FILENAME = 'os_file_name'

[ SIZE=size [KB|MB|GB|TB] ]

[ MAXSIZE={max_size [KB|MB|GB|TB] | UNLIMITED } ]

[FILEGROWTH=growth_increment[KB|MB|GB|TB|% ] ]

) [ ,...n ]

}

::=

{

FILEGROUP filegroup_name [ ,...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

ON PRIMARY

( 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 )

1、增加和删除文件组

增加文件组

语法: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文件组吗?

只能删除空文组

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

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 file Add 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

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

语法:

ALTER DATABSE 数据库名

Add file <文件格式>

To Filegroup 文件组名(此文件组应存在)

例:

增加一个辅助数据文件,文件逻辑名为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

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

语法:

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')

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

语法:

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所归属的文件组吗?

6、修改数据库名

语法:

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”。

SQL语句的添加、删除、修改

SQL语句的添加、删除、修改 SQL语句的添加、删除、修改虽然有如下很多种方法,但在使用过程中还是不够用,不知是否有高手把更多灵活的使用方法贡献出来? {select * from 数据表 where 字段名 between 值1 and 值2 insert into 数据表 (字段1,字段2,字段3 …) valuess (值1,值2,值3 …) update 数据表 set 字段名=字段值 where 条件表达式 delete from 数据表 where 条件表达式} 添加、删除、修改使用db.Execute(Sql)命令执行操作 ╔--------------------╗ ☆数据记录筛选☆ ╚--------------------╝ 注意:单双引号的用法可能有误(没有测式) Sql = "Select Distinct 字段名 From 数据表" Distinct函数,查询数据库存表内不重复的记录 Sql = "Select Count(*) From 数据表 where 字段名1>#18:0:0# and 字段名1< #19:00# " count函数,查询数库表内有多少条记录,“字段名1”是指同一字段 例: set rs=conn.execute("select count(id) as idnum from news") response.write rs("idnum") sql="select * from 数据表 where 字段名 between 值1 and 值2" Sql="select * from 数据表where 字段名between #2003-8-10# and #2003-8-12#" 在日期类数值为2003-8-10 19:55:08 的字段里查找2003-8-10至2003-8-12的所有记录,而不管是几点几分。 select * from tb_name where datetime between #2003-8-10# and #2003-8-12# 字段里面的数据格式为:2003-8-10 19:55:08,通过sql查出2003-8-10至2003-8-12的所有纪录,而不管是几点几分。

数据库增删改查基本语句

数据库增删改查基本语句 adoquery1.Fielddefs[1].Name; 字段名 dbgrid1.columns[0].width:=10; dbgrid的字段宽度 adoquery1.Fields[i].DataType=ftString 字段类型 update jb_spzl set kp_item_name=upper(kp_item_name) 修改数据库表中某一列为大写select * from master.dbo.sysobjects ,jm_https://www.doczj.com/doc/1717842347.html,ers 多库查询 adotable1.sort:='字段名称ASC' adotable排序 SQL常用语句一览 sp_password null,'新密码','sa' 修改数据库密码 (1)数据记录筛选: sql="select * from 数据表where 字段名=字段值orderby 字段名[desc] " sql="select * from 数据表where 字段名like '%字段值%' orderby 字段名[desc]" sql="select top10 * from 数据表where 字段名orderby 字段名[desc]" sql="select * from 数据表where 字段名in('值1','值2','值3')" sql="select * from 数据表where 字段名between 值1 and 值2" (2)更新数据记录: sql="update 数据表set 字段名=字段值where 条件表达式" sql="update 数据表set 字段1=值1,字段2=值2……字段n=值n where 条件表达式" (3)删除数据记录: sql="delete from 数据表where 条件表达式" sql="delete from 数据表"(将数据表所有记录删除) (4)添加数据记录: sql="insert into 数据表(字段1,字段2,字段3…) values(值1,值2,值3…)" sql="insert into 目标数据表select * from 源数据表"(把源数据表的记录添加到目标数据表)

SQL数据库中的增删改查总结1

一、增:有2种方法 1.使用insert插入单行数据: 语法:insert [into]<表名> [列名] values <列值> 例:insert into Strdents (姓名,性别,出生日期) values ('邢金聪','男','1990/6/15') 注意:如果省略表名,将依次插入所有列 2.使用insert,select语句将现有表中的数据添加到已有的新表中 语法:insert into <已有的新表> <列名> select <原表列名> from <原表名> 例:insert into addressList ('姓名','地址','电子邮件')selectname,address,email from Strdents 注意:查询得到的数据个数、顺序、数据类型等,必须与插入的项保持一致 二、删:有2中方法 1.使用delete删除数据某些数据 语法:delete from <表名> [where <删除条件>] 例:delete from awhere name='邢金聪'(删除表a中列值为邢金聪的行) 注意:删除整行不是删除单个字段,所以在delete后面不能出现字段名 2.使用truncate table 删除整个表的数据

语法:truncate table<表名> 例:truncate table addressList 注意:删除表的所有行,但表的结构、列、约束、索引等不会被删除;不能 用于有外建约束引用的表 三、改 使用update更新修改数据 语法:update <表名> set <列名=更新值> [where <更新条件>] 例:truncate table addressList 注意:删除表的所有行,但表的结构、列、约束、索引等不会被删除;不能 用于有外建约束引用的表 四、查 1.普通查询 语法:select <列名> from <表名> [where <查询条件表达试>] [order by<排序的列 名>[asc或desc]] 1).查询所有数据行和列 例:select * from a 说明:查询a表中所有行和 2).查询部分行列--条件查询 例:select i,j,kfrom a where f=5 说明:查询表a中f=5的所有行,并显示i,j,k3列

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

数据库中的有关表删除的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(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无效

SQL语句创建数据库及修改、删除数据库

使用SQL语句: CREATE DATABASE语句创建数据库 CREATE DATABASE database_name [ON [PRIMARY] [ [ ,...n] [ , [ ,...n ] ] [LOG ON { [ ,...n ] } ] ::= { ( NAME=logical_file_name , FILENAME = 'os_file_name' [ SIZE=size [KB|MB|GB|TB] ] [ MAXSIZE={max_size [KB|MB|GB|TB] | UNLIMITED } ] [FILEGROWTH=growth_increment[KB|MB|GB|TB|% ] ] ) [ ,...n ] } ::= { FILEGROUP filegroup_name [ ,...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 ]

SQL语句创建数据库及修改、删除数据库

1、使用SQL语句: CREATE DATABASE语句创建数据库 CREATE DATABASE database_name [ON [PRIMARY] [<> [ ,...n] [ , <> [ ,...n ] ] [LOG ON { <> [ ,...n ] } ] <>::= { ( NAME=logical_ , = 'os_' [ SIZE=size [KB|MB|GB|TB] ] [ MAXSIZE={max_size [KB|MB|GB|TB] | UNLIMITED } ] [[KB|MB|GB|TB|% ] ] ) [ ,...n ] } <> ::= { <> [ ,...n ] } T-SQL语法说明: ●“[ ]”中的内容表示可以省略,省略时系统取默认值。 ●“{ }[ ,…n ]”表示花括号中的内容可以重复书写n次,必须用逗号隔 开。 ●“|”表示相邻前后两项只能任取一项。 ●一条语句可以分成多行书写,但多条语句不允许写在一行。 CREATE DATABASE 数据库名 [ ON [PRIMARY] { ( [NAME=数据文件的逻辑名称,] ‘数据文件的物理名称’, [SIZE=数据文件的初始大小[ MB(默认) | KB | GB ] , ] [MAXSIZE={ 数据文件的最大容量[ MB | KB | GB] |UNLIMITED(不受限制) } ,] [数据文件的增长量[ MB | KB | GB | % ] ] )

} [ , …n ] [ 文件组名 { ( [NAME=数据文件的逻辑名称,] [‘数据文件的物理名称’, ] [SIZE=数据文件的初始大小[ MB | KB | GB ] ,] [MAXSIZE={ 数据文件的最大容量[ MB | KB | GB ] | UNLIMITED } ,] [数据文件的增长量[ MB | KB | GB | % ] ] ) } [ , …n ] ] LOG ON { ( [NAME=事务日志文件的逻辑名称,] [‘事务日志文件的物理名称’,] [SIZE=事务日志文件的初始大小[MB | KB | GB ] ,] [MAXSIZE={ 事务日志文件的最大容量[ MB | KB | GB ] | UNLIMITED } ,] [事务日志文件的增长量[ MB|KB|GB| % ]] ) } [ , …n ] ] 说明: ●ON 表示需根据后面的参数创建该数据库。 ●LOG ON 子句用于根据后面的参数创建该数据库的事务日志文件。 ●PRIMARY指定后面定义的数据文件属于主文件组PRIMARY,也可以加入 用户自己创建的文件组。 ●NAME=‘数据文件的逻辑名称’:是该文件在系统中使用的标识名称,相 当于别名。 ●‘数据文件的物理名称’:指定文件的实际名称,包括路径和后缀。 ●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。

sql删除表中某一指定数据的方法

sql删除表中某一指定数据的方法 如果您需要删除SQL数据库所有表的所有字段中含有的某一指定数据,应该如何做呢?下面就将为您介绍如何使用SQL语句解决这个问题(指定删除的数据为XX),供您参考。 1 an 12345 aXX 2 XXb 56789 cXX . ... ... ... .. ... .... .... 执行后 1 an 12345 a 2 B 56789 c . ... ... ... .. ... .... .... 声明下所有表所有字段中包含XX 的—————————————————————————————— 程序代码:

DECLARE @tabName VARCHAR(40),@colName VARCHAR(40) DECLARE @sql VARCHAR(2000) DECLARE tabCursor CURSOR FOR Select name From sysobjects Where xtype = 'u' AND name <> 'dtproperties' OPEN tabCursor FETCH NEXT FROM tabCursor INTO @tabName WHILE @@fetch_status = 0 BEGIN SET @sql = 'Update ' + @tabName + ' SET ' DECLARE colCursor CURSOR FOR Select Name FROM SysColumns Where id=Object_Id(@tabName) OPEN colCursor FETCH NEXT FROM colCursor INTO @colName WHILE @@fetch_status = 0 BEGIN SET @sql = @sql + @colName + '=REPLACE(' +@colName+ ',''XX'',''''),' FETCH NEXT FROM colCursor INTO @colName

数据库SQL语句大全

SQL语句大全--语句功能 --数据操作 SELECT --从数据库表中检索数据行和列 INSERT --向数据库表添加新数据行 DELETE --从数据库表中删除数据行 UPDATE --更新数据库表中的数据 -数据定义 CREATE TABLE --创建一个数据库表 DROP TABLE --从数据库中删除表 ALTER TABLE --修改数据库表结构 CREATE VIEW --创建一个视图 DROP VIEW --从数据库中删除视图 CREATE INDEX --为数据库表创建一个索引 DROP INDEX --从数据库中删除索引 CREATE PROCEDURE --创建一个存储过程 DROP PROCEDURE --从数据库中删除存储过程CREATE TRIGGER --创建一个触发器 DROP TRIGGER --从数据库中删除触发器 CREATE SCHEMA --向数据库添加一个新模式DROP SCHEMA --从数据库中删除一个模式CREATE DOMAIN --创建一个数据值域 ALTER DOMAIN --改变域定义 DROP DOMAIN --从数据库中删除一个域 --数据控制 GRANT --授予用户访问权限 DENY --拒绝用户访问 REVOKE --解除用户访问权限 --事务控制 COMMIT --结束当前事务 ROLLBACK --中止当前事务 SET TRANSACTION --定义当前事务数据访问特征 --程序化SQL DECLARE --为查询设定游标 EXPLAN --为查询描述数据访问计划 OPEN --检索查询结果打开一个游标

删除数据的sql语句

truncate table --删除单个站点的相关数据【只删除数据,不删除基本信息】 --总表 DELETE FROM [In_Port_Log] where Hardware_Id='' DELETE FROM [In_Port_LogError] where Hardware_Id='' --降雨 DELETE FROM [HY_OBP_G] where STCD = '' --降雨记录表 DELETE FROM [ST_PPTN_R] where STCD = '' --降雨处理表 DELETE FROM [HY_DP_C] where STCD = '' --降雨日记录 DELETE FROM [HY_MTP_E] where STCD = '' --降雨月纪录 DELETE FROM [HY_YRP_F] where STCD = '' --降雨年纪录 DELETE FROM [Ep_YQ_JC] where STCD = '' --预警 DELETE FROM [LH_P_R] where STCD = '' --实时表 DELETE FROM [LH_P_DAY] where STCD = '' --降雨统计表:日表 DELETE FROM [LH_P_MONTH] where STCD = '' --降雨统计表:月表 --流量 DELETE FROM [ST_RIVER_R] where STCD = '' --河道处理表 DELETE FROM [HY_DQ_C] where STCD = '' --流量日记录 DELETE FROM [HY_MTQ_E] where STCD = '' --流量月纪录 DELETE FROM [HY_YRQ_F] where STCD = '' --流量年纪录 DELETE FROM [LH_Q_DAY] where STCD = '' --河道统计表:日表 DELETE FROM [LH_Q_MONTH] where STCD = '' --河道统计表:月表 DELETE FROM [LH_Q_DAY_MinMaxAvg] where STCD = '' --河道统计表:最大最小值表 --库容 DELETE FROM [ST_RSVR_R] where STCD = '' --库容处理表 DELETE FROM [HY_DV_C] where STCD = '' --库容日记录 DELETE FROM [HY_MTV_E] where STCD = '' --库容月纪录 DELETE FROM [HY_YRV_F] where STCD = '' --库容年纪录 DELETE FROM [LH_V_DAY] where STCD = '' --库容统计表:日表 DELETE FROM [LH_V_MONTH] where STCD = '' --库容统计表:月表 DELETE FROM [LH_V_DAY_MinMaxAvg] where STCD = '' --库容统计表:最大最小值表 --水位 DELETE FROM [HY_DZ_C] where STCD = '' --水位日记录 DELETE FROM [HY_MTZ_E] where STCD = '' --水位月纪录 DELETE FROM [HY_YRZ_F] where STCD = '' --水位年纪录 DELETE FROM [HY_OBZ_G] where STCD = '' --水位记录表 DELETE FROM [LH_Z_DAY_JD] where STCD = '' --水位统计表:日表 DELETE FROM [LH_Z_MONTH_JD] where STCD = '' --水位统计表:月表 DELETE FROM [LH_Z_DAY_JD_MinMaxAvg] where STCD = '' --水位统计表:最大最小值表 DELETE FROM [LH_Z_DAY_XD] where STCD = '' --水位统计表:日表 DELETE FROM [LH_Z_MONTH_XD] where STCD = '' --水位统计表:月表

SQL删除语句怎么写

分享高性能批量插入和批量删除sql语句写法 一,技术水平总能在扯皮和吹毛求疵中得到提高。如果从来不“求疵”,可能就不会知道if(str != )不如if(str != string.empty)高效、批量插入和删除的sql语句是要那样写才执行最快、接口和抽象类的区别不仅是语言层面、原来权限管理是要这样设计的、某个类那样设计职责才更单一更易于扩展…… 本来前两篇文章是学习cnblogs编辑控件用的,看到跟贴的朋友询问批量插入和批量删除的问题,决定整理成文和大家分享。 我们这里讨论的只是普通sql语句如何写更高效,不考虑特殊的用文件中转等导入方式,毕竟在代码中调用sql语句或存储过程才更方便。 批量删除很简单,大家可能都用过: delete from testtable where id in (1, 3, 54, 68) --sql2005下运行通过当用户在界面上不连续的选择多项进行删除时,该语句比循环调用多次删除或多条delete语句中间加分号一次调用等方法都高效的多。 本文重点讲述的是批量插入的写法: sql写法: insert into testtable select 1, abc union select 2, bcd union select 3, cde--testtable表没有主键,id不是主键 oracle写法: insert into testtable select 1, abc from daul union select 2, bcd from daul --testtable表没有主键,id不是主键 曾经测试过,这种写法插入1000条数据比循环调用1000次insert或1000条insert 语句简单叠加一次调用要高效得多,大概快20多倍(调试状态不是太准)。其实很简单,就用了个union(union all 也可以),但当时得出测试结果时还是很惊喜的。 要得出这个结果需要两个条件: 1、表不能有主键或者主键是数据库默认的(sql用自动递增列,oracle用序列) 1 以上两条任意一条不满足,效率的提高都不明显。 另外,sql语句的最大长度有限制,组合几千条数据写成一条insert语句,可能会超过上限,所以如果有5000条数据,可以一次insert 1000条,分5次写完(不一定一次1000条最合适,有兴趣的朋友可以研究)。 声明:看了几位朋友的评论后发现自己没有叙述清楚 上面的两个条件并不是说这样做就好,而是说当应用场景满足这两个条件时才适合用union的写法 当时用这种写法时,是为了解决一个winform程序批量导入手机号码的问题,程序给自己人用,excel文件也是可靠的,不需要考虑sql攻击。还有一些场景是大量数据来源于通过gprs网络连接的专用终端,总之数据来源是可靠的,还有就是数据量很大但不可能巨大。 ps:常常遇到一些小技巧或者值得注意的小细节,没有记下来,要等下次再遇到时才想起来。现在下决心要养成好的工作习惯,留此文为证。 能够整理成文的要写在项目组开发规范中,其它的至少要记录下来。 2 二,使用mybatis将数据批量插入到oracle中,在映射文件中怎么写啊? 1.mybaits版本,3.1.0 2. 1. 2.

SQL删除数据库中所有表的数据

CREATE PROCEDURE DeleteAllData AS BEGIN DECLARE @SQL nvarchar(2000), @CurrentTable sysname, @CurrentSchema sysname --Grab the server version for any statements which need to be modified based upon the server version DECLARE @ServerVersion int SET @ServerVersion = (SELECT CAST(LEFT(CAST(SERVERPROPERTY('ProductVersion') AS varchar(50)), CHARINDEX('.',CAST(SERVERPROPERTY('ProductVersion') AS varchar(50))) - 1) A S int)) --This solution entails a cursor. Alternatively, it could be done with --the undocumented stored procedure sp_msforeachtable, or with loop logic. DECLARE TableCursor SCROLL CURSOR FOR SELECT QUOTENAME(TA BLE_SCHEMA) AS schemaname, QUOTENAME(TA BLE_NAME) AS name FROM INFORMATION_SCHEMA.TABLES W HERE TA BLE_TYPE = 'BASE TA BLE' OPEN TableCursor FETCH NEXT FROM TableCursor INTO @CurrentSchema, @CurrentTable --Disable all triggers first WHILE @@FETCH_STATUS = 0 BEGIN --Create a TSQL string to disable triggers on the current table SET @SQL = (SELECT 'ALTER TABLE '+ @CurrentSchema + '.' + @CurrentTable + ' DISABLE TRIGGER A LL') EXECUTE sp_ExecuteSQL @SQL; --Print a success or failure message, depending upon whether or not an error was raised. IF @@ERROR = 0 BEGIN PRINT 'Triggers successfully disabled on ' + @CurrentSchema + '.' + @CurrentTable END ELSE BEGIN PRINT 'An error has occured while disabling triggers on ' + @CurrentSchema + '.' + @CurrentTable END --Create a TSQL string to disable constraints on the current table SET @SQL = (SELECT 'ALTER TABLE '+ @CurrentSchema + '.' + @CurrentTable + ' NOCHECK CONSTRAINT A LL') EXECUTE sp_ExecuteSQL @SQL; --Print a success or failure message, depending upon whether or not an error was raised. IF @@ERROR = 0 BEGIN PRINT 'Constraints successfully disabled on ' + @CurrentSchema + '.' + @CurrentTable END ELSE BEGIN

SQL语句创建数据库及修改删除数据库

SQL语句创建数据库及修改删除数据库 1、使用SQL语句: CREATE DATABASE语句创建数据库 例题一: 用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 ON PRIMARY ( 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,

sql删除表数据

1.删除表中的行:TRUNCATE TABLE 2.删除表中的行:DELETE 语句 3.删除表:DROP TABLE TRUNCATE TABLE 删除表中的所有行,而不记录单个行删除操作。 语法 TRUNCATE TABLE table_name 参数 table_name是要截断的表的名称或要删除其全部行的表的名称。 注释 TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。 DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。 TRUNCATE TABLE 删除表中的所有行,但表结构及其列、约束、索引等保持不变。新行标识所用的计数值重置为该列的种子。 如果想保留标识计数值,请改用 DELETE。 如果要删除表定义及其数据,请使用 DROP TABLE 语句。对于由 FOREIGN KEY 约束引用的表,不能使用 TRUNCATE TABLE,而应使用不带 WHERE 子句的 DELETE 语句。由于 TRUNCATE TABLE 不记录在日志中,所以它不能激活触发器。TRUNCATE TABLE 不能用于参与了索引视图的表。 示例下例删除 authors 表中的所有数据。 TRUNCATE TABLE authors 用DROP TABLE 命令删除 DROP TABLE 命令可以删除一个表和表中的数据及其与表有关的所有索引、触发器、约束、字段等许可对象,即把与表有关的一切从数据库中删除。 DROP TABLE 命令的语法如下: DROP TABLE table_name

删除表中重复数据sql语句

查询和删除表中重复数据sql语句 (一) 1、查询表中重复数据。select * from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1) 2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid 最小的记录 delete from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1) and rowid not in (select min(rowid) from people group by peopleId having count(peopleId )>1) 3、查找表中多余的重复记录(多个字段) elect * from vitae a where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1) 4、删除表中多余的重复记录(多个字段),只留有rowid最小的记录 delete from vitae a where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1) and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1) 5、查找表中多余的重复记录(多个字段),不包含rowid最小的记录 select * from vitae a where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1) and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1) (二) 比方说 在A表中存在一个字段“name”, 而且不同记录之间的“name”值有可能会相同, 现在就是需要查询出在该表中的各记录之间,“name”值存在重复的项; Select Name,Count(*) From A Group By Name Having Count(*) > 1 如果还查性别也相同大则如下: Select Name,sex,Count(*) From A Group By Name,sex Having Count(*) > 1

数据库基本SQL语句大全

数据库基本SQL语句大全 数据库基本----SQL语句大全 一、基础 1、说明:创建数据库 Create DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.d at' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 typ e2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2…from tab_old defini tion only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加主键:Alter table tabname add primary key(col) 说明:删除主键:Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement

数据库基本SQL语句大全(20200521130415)

数据库基本_SQL语句大全 学会数据库是很实用D~~记录一些常用的sql语句...有入门有提高 有见都没见过的...好全...收藏下... 其实一般用的就是查询,插入,删除等语句而已....但学学存储过程是好 事...以后数据方面的东西就不用在程序里搞喽..而且程序与数据库只要 一个来回通讯就可以搞定所有数据的操作.... 一、基础 1、说明:创建数据库 Create DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的device USE master EXEC sp_addumpdevice ‘disk‘, ‘testBack‘, ‘c:‘ --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only 5、说明:删除新表 drop table tabname 6、说明:增加一个列

Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一 能改变的是增加varchar类型的长度。 7、说明:添加主键:Alter table tabname add primary key(col) 说明:删除主键:Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….)删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:drop view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 ---like的语法很精 查找:select * from table1 where field1 like ’%value1%’  妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1

相关主题
文本预览
相关文档 最新文档