[b]创建:[/b]
[color=blue]create database[/color] test
[color=blue]on primary[/color] [color=green]--默认就属于primary文件组,可省略[/color]
(
[color=green]/*--数据文件的具体描述--*/[/color]
[color=blue]name[/color] =[color=red] 'test1_data'[/color], [color=green]--主数据文件的逻辑名称[/color]
[color=blue]filename[/color] = [color=red]'D:\test1_data.mdf'[/color], [color=green]--主数据文件的物理地址和名称[/color]
[color=blue]size [/color]= 3MB, [color=green]--主数据文件的初始大小[/color]
[color=blue]maxsize[/color]=50MB, [color=green]--主数据文件增长的最大值[/color]
[color=blue]filegrowth[/color]=5% [color=green]--主数据文件的增长率[/color]
)
[color=violet]log on[/color]
(
[color=green]/*--日志文件的具体描述,各参数含义同上--*/[/color]
[color=blue]name[/color] = [color=red]'test1_log'[/color],
[color=blue]filename[/color] = [color=red]'D:\test1_log.ldf'[/color],
[color=blue]size [/color]= 1MB,
[color=blue]]filegrowth[/color] = 1MB
)
go
[color=green]/*--删除数据库,一般信息会存储在master中,只要查看系统数据库中的sysdatabases表有无信息就行--*/[/color]
[color=blue]use[/color] master [color=green]-- 设置当前数据库为master,以便访问sysdatabases表[/color]
go
[color=blue]if[/color] [color=gray]exists[/color]([color=blue]select[/color] * [color=blue]from[/color] sysdatabases [color=blue]where name[/color]=[color=red]'test1_data'[/color])[color=green]--EXISTS用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何数据,而是返回值True或False
--EXISTS 指定一个子查询,检测 行 的存在。[/color]
[color=blue]drop database[/color] test
go
[color=green]--创建和删除数据表:[/color]
[color=blue]use[/color] test
go
[color=blue]if[/color] [color=gray]exists[/color]([color=blue]select[/color] * [color=blue]from[/color] sysobjects [color=blue]where name[/color]=[color=red]'stuID'[/color])
[color=blue]drop table[/color] stuID
[color=blue]create table[/color] stuID
(
ExamNo [color=blue] int identity[/color](1,1) [color=blue]primary key[/color],
stuNo [color=blue]char[/color](6) [color=gray]not null[/color],
writtenExam [color=blue]int[/color] [color=gray]not null[/color],
LabExam [color=blue]int[/color] [color=gray]not null[/color]
)
go
[color=green]-- 其中,列属性"identity(起始值,递增量)" 表示"ExamNo"列为自动编号, 也称为标识列[/color]
[color=brown]alter table 表名
add constraint 约束名 约束类型 具体的约束说明
alter table 表名
drop constraint 约束名[/color]
alter table stuID
add constraint UQ_stuNo Unique(stuNo)
alter table stuID
drop constraint UQ_stuNo
[color=green]/*--添加SQL登录账户--*/[/color]
exec sp_addlogin 'xie', '123456' [color=green]-- 账户名为xie,密码为123456[/color]
[color=green]--删除xie账户名[/color]
exec sp_droplogin 'xie'
[color=green]/*--在test数据库中添加两个用户(必须存在)--*/[/color]
[color=darkblue]use test
go
exec sp_grantdbaccess 'xie','123456'
go[/color]
[color=green]-- 提示:SQL Server 中的dbo用户是具有在数据库中执行所有活动权限的用户,表示数据库的所有者(owner),一般来说,
-- 如果创建了某个数据库,就是该数据库的所有者,即dbo用户,dbo用户是一个比较特殊的数据库用户,无法删除,且此用
-- 户始终出现在每个数据库中
/* --给数据库用户授权-- */
-- 授权的语法如下
-- grant 权限 [on 表名] to 数据库用户[/color]
[color=indigo]use test
go
grant select,update,insert on stuMarks to xie
grant create table to xie
go[/color]
[color=blue]create database[/color] test
[color=blue]on primary[/color] [color=green]--默认就属于primary文件组,可省略[/color]
(
[color=green]/*--数据文件的具体描述--*/[/color]
[color=blue]name[/color] =[color=red] 'test1_data'[/color], [color=green]--主数据文件的逻辑名称[/color]
[color=blue]filename[/color] = [color=red]'D:\test1_data.mdf'[/color], [color=green]--主数据文件的物理地址和名称[/color]
[color=blue]size [/color]= 3MB, [color=green]--主数据文件的初始大小[/color]
[color=blue]maxsize[/color]=50MB, [color=green]--主数据文件增长的最大值[/color]
[color=blue]filegrowth[/color]=5% [color=green]--主数据文件的增长率[/color]
)
[color=violet]log on[/color]
(
[color=green]/*--日志文件的具体描述,各参数含义同上--*/[/color]
[color=blue]name[/color] = [color=red]'test1_log'[/color],
[color=blue]filename[/color] = [color=red]'D:\test1_log.ldf'[/color],
[color=blue]size [/color]= 1MB,
[color=blue]]filegrowth[/color] = 1MB
)
go
[color=green]/*--删除数据库,一般信息会存储在master中,只要查看系统数据库中的sysdatabases表有无信息就行--*/[/color]
[color=blue]use[/color] master [color=green]-- 设置当前数据库为master,以便访问sysdatabases表[/color]
go
[color=blue]if[/color] [color=gray]exists[/color]([color=blue]select[/color] * [color=blue]from[/color] sysdatabases [color=blue]where name[/color]=[color=red]'test1_data'[/color])[color=green]--EXISTS用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何数据,而是返回值True或False
--EXISTS 指定一个子查询,检测 行 的存在。[/color]
[color=blue]drop database[/color] test
go
[color=green]--创建和删除数据表:[/color]
[color=blue]use[/color] test
go
[color=blue]if[/color] [color=gray]exists[/color]([color=blue]select[/color] * [color=blue]from[/color] sysobjects [color=blue]where name[/color]=[color=red]'stuID'[/color])
[color=blue]drop table[/color] stuID
[color=blue]create table[/color] stuID
(
ExamNo [color=blue] int identity[/color](1,1) [color=blue]primary key[/color],
stuNo [color=blue]char[/color](6) [color=gray]not null[/color],
writtenExam [color=blue]int[/color] [color=gray]not null[/color],
LabExam [color=blue]int[/color] [color=gray]not null[/color]
)
go
[color=green]-- 其中,列属性"identity(起始值,递增量)" 表示"ExamNo"列为自动编号, 也称为标识列[/color]
[color=brown]alter table 表名
add constraint 约束名 约束类型 具体的约束说明
alter table 表名
drop constraint 约束名[/color]
alter table stuID
add constraint UQ_stuNo Unique(stuNo)
alter table stuID
drop constraint UQ_stuNo
[color=green]/*--添加SQL登录账户--*/[/color]
exec sp_addlogin 'xie', '123456' [color=green]-- 账户名为xie,密码为123456[/color]
[color=green]--删除xie账户名[/color]
exec sp_droplogin 'xie'
[color=green]/*--在test数据库中添加两个用户(必须存在)--*/[/color]
[color=darkblue]use test
go
exec sp_grantdbaccess 'xie','123456'
go[/color]
[color=green]-- 提示:SQL Server 中的dbo用户是具有在数据库中执行所有活动权限的用户,表示数据库的所有者(owner),一般来说,
-- 如果创建了某个数据库,就是该数据库的所有者,即dbo用户,dbo用户是一个比较特殊的数据库用户,无法删除,且此用
-- 户始终出现在每个数据库中
/* --给数据库用户授权-- */
-- 授权的语法如下
-- grant 权限 [on 表名] to 数据库用户[/color]
[color=indigo]use test
go
grant select,update,insert on stuMarks to xie
grant create table to xie
go[/color]