SQL Server创建数据库

 1.数据库及数据表的创建

 以下是一段在SQL Server中创建一个新的数据库(MyMISDB)的实现,包含一个简单的主数据文件和次要数据文件及日志文件

在MyMISDB数据库中创建相应的数据表,及数据表中相应的字段,并且添加了对应的数据约束及创建了对应的主外键的引用关系

use master
go

if exists(select *from sysdatabases where name='MyMISDB')--判断是否有该数据库,若有则删除
drop database MyMISDB
go
create database MyMISDB
on primary
(
	--创建主数据文件
	name = 'MyMISDB_data',--数据库的逻辑名
	filename = 'D:\DB\MyMISDB_data.mdf',--数据库的存储路径
	size = 20MB,--数据库文件的初始大小,通常根据实际的需求来确定
	filegrowth = 1MB--数据库自动扩容
)
,
(
	--次要数据文件,可有可无,其他必须有
	name = 'MyMISDB_data2',--数据库的逻辑名
	filename = 'D:\DB\MyMISDB_data2.ndf',--数据库的存储路径
	size = 20MB,--数据库文件的初始大小,通常根据实际的需求来确定
	filegrowth = 1MB--数据库自动扩容
)
log on
(
	--日志文件
		name = 'MyMISDB_log',--日志文件的名字
	filename = 'D:\DB\MyMISDB_log.ldf',--日志文件的存储路径
	size = 20MB,
	filegrowth = 1MB
)
go

use MyMISDB
go
if exists(select *from sysobjects where name='Department')--判断是否有该数据表,若有则删除
drop table Department
go

--创建数据表(部门、职位、员工。。)
--创建部门表
create table Department
(
	Departmentld int identity(10,1)primary key,--主键,标识列,10代表初始值为10个,1代表按一位来递增
	DepartmentName varchar(50) not null--创建50个字节的姓名列
)
go

if exists(select *from sysobjects where name='Post')--判断是否有该数据表,若有则删除
drop table Post
go

--创建职位表(部门、职位、员工。。)
create table Post
(
	Postld int identity(10,1)primary key,--主键,标识列
	PostName varchar(50) not null--创建50个字节的姓名列
)
go

if exists(select *from sysobjects where name='Employee')--判断是否有该数据表,若有则删除
drop table Employee
go

--创建员工表(部门、职位、员工。。)
create table Employee
(
	Employeeld int identity(1000,1)primary key,--主键,标识列
	EmployeeName varchar(50) not null,--创建50个字节的姓名列
	NowAddress nvarchar(100)default('地址不详'),
	IdNo char(18) not null check(len(IdNo) = 18),--检查约束,IdNo只能是18位
	--建立主外键的引用关系
	Postld int references Post(Postld),--在Post表中Postld是主键,在该表中则为外键,在该表中操作外键表数据时,对主键表(Post表)没有影响
	Departmentld int references Department(Departmentld)

)
go

2.数据表的查询删除修改

use MyMISDB
go
insert into Department(DepartmentName)value('开发部'),('测试部'),('系统控制部')
select*from Department----查询出需要插入的数据
insert into Post(PostName)value('主管'),('测试开发工程师'),('软件工程师')
select*from Post
--插入数据(Employeeld是标识列,不能显式的插入数据)
insert into Employee(EmployeeName,NowAddress,IdNo,Postld,Departmentld)
values
('dary','杭州','330424200101121231',10,10),
('dary2','杭州','330424200101121233',11,11)
select*from Employee

修改使用:update employees set EmployeeName='TEST', NowAddress='海盐',IdNo= '330424200506285467' where Employeeld  = 1001

删除使用:delete from employees  where Employeeld =1010

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值