sql server 2005建立数据库,表,约束,账户密码,权限,基本查询删除语句

时间:2022-02-15 13:57:37

基本的建立数据库、建立表、建立约束、建立用户、赋予权限、简单的添加删除语句以及个人整理的小技巧T-SQL语句。


if exists(select * from sys.databases where name = 'stuDB') --判断语句
drop database stuDB  --删除语句
create database stuDB --建立数据库语句
on primary
(
name='stuDB_data',  --设置数据库名字
filename='E:\编程文件\DB\stuDB_data.mdf', --指定数据库路径及文件名
size=10mb,  --设定数据库初始大小
maxsize=100mb,  --设定数据库最大容量
filegrowth=10%  --设定数据库增长值
)
log on  --建立日志文件
(
name='stuDBlog_log',  --设置日志文件名
filename='E:\编程文件\DB\stuDB_log.ldf',  --设置路径及文件名称
size=1mb,  --设置初始大小
maxsize=10mb, --设置容量
filegrowth=1mb  --设置增长值
)

use stuDB  --进入制定数据库
if exists(select * from sys.tables where name = 'stuInfo') --判断语句,从sys.tables搜索
drop table stuInfo  --删除语句
create table stuInfo  --建立表
(
stuName varchar(20) not null,
stuNo char(6) not null,
stuAge int ,
stuID numeric(18,0),
stuSeat smallint identity(1,1),
stuAddress text
)

use stuDB
if exists(select * from sys.tables where name = 'stuMarks')
drop table stuMarks
create table stuMarks
(
ExamNo char(7) not null,
stuNo char(6) not null,
writtenExam int not null,
LabExam int not null
)

---使正在运行的数据库停止运行---
use master
if exists(select * from sys.databases where name = 'stuDB') --判断当今用户是否存在stuDB数据库文件
exec sp_dboption 'stuDB','single user',true --设置数据库为单用户模式
--alter   database   FOE   set   single_user   with   ROLLBACK   IMMEDIATE --把数据库设置为单用户模式
--alter   database   FOE   set   multi_user   with   ROLLBACK   IMMEDIATE --把数据库设置为多用户模式
drop database stuDB --删除数据库


alter table stuInfo  --指定添加约束的表明
add constraint pk_stuNo primary key (stuNo)  --添加主键约束

alter table stuInfo --指定表名
drop constraint pk_stuNo --指定删除的约束名 constraint 只是显示和隐式的区别

alter table stuInfo
---添加默认约束,如果地址不填写,则为地址不详--
add constraint DF_stuAddress default ('地址不详') for stuAddress

alter table stuInfo
---添加唯一约束,号码唯一---
add constraint uq_stuID unique (stuID)

alter table stuInfo
---添加检查约束,年龄在15到40之间---
add constraint ck_stuAge check (stuAge between 15 and 40)

alter table stuMarks
---建立外键约束,主表stuInfo和从表stuMarks建立关系,关联字段为stuNo---
add constraint fk_stuNo
foreign key(stuNo) references stuInfo(stuNo)

alter table stuMarks --指定表名
drop constraint fk_stuNo --指定删除的约束名 constraint 只是显示和隐式的区别,删除外键约束

---建立用户---
use stuDB
---zhuheDBUser为数据库用户名---
exec sp_grantdbaccess 'zhuhe-PC\SQLServer2005MSFTEUser$ZHUHE-PC$MSSQLSERVER','zhuheDBUser'
exec sp_grantdbaccess 'zhuhe','zhuhe'
---添加sql用户,exec_addlogin '账户','密码','加入数据库名称'---
exec sp_addlogin 'zhuhe','zhuhe','stuDB',null

 ---为用户添加权限设置---
use stuDB
--为zhuheDBUser分配对表stuInfo的select,insert,update,delete权限--
grant select,insert,update,delete on stuInfo to zhuheDBUser
--为zhuheDBUser分配创建表的权限--
grant create table to zhuheDBUser
grant create table to zhuhe

 

use stuDB
insert into stuInfo(stuName,stuAddress,stuNo,stuID,stuAge) values ('zhuhe','安徽铜陵',12345,123456789123456789,35) --插入数据--
select * from dbo.stuInfo  --查询数据--
TRUNCATE TABLE dbo.stuInfo  ---删除表中的所有行---
delete from stuInfo where stuAge<30 --删除stuAge小于30岁的整行--