SqlServer 建库建表(SqlServer系列 : 篇一)

一、创建数据库

在SqlServer中创建数据库使用 create database 关键字,具体格式如下

create database 数据库名称

on  
(
	name = 数据文件名称,
	filename = 数据文件地址,
	size = 数据文件内存初始大小,
	filegrowth = 数据文件递增内存大小
)

log on  --日志文件
(
	name = 日志文件名称,
	filename = 日志文件地址,
	size = 日志文件初始化大小,
	filegrowth = 日志文件递增内存大小 
)
  • ON 用于指定数据库的数据文件(.mdf 文件),即实际存储数据的文件。
  • LOG ON 用于指定数据库的事务日志文件(.ldf 文件),用于记录数据库的事务日志。

 运行以下代码即可创建DETEST数据库

create database DBTEST

on 
(
	name = 'DBTEST',
	filename = 'D:\Data\DBTEST.mdf',
	size = 2MB,
	filegrowth = 2MB
)

log on
(
	name = 'DBTEST_log',
	filename = 'D:\Data\DBTEST_log.ldf',
	size = 2MB,
	filegrowth = 2MB 
)

 二、创建数据表

在SqlServer中创建数据库使用 create table关键字,具体格式如下

create table 表名
(
    参数名称1 数据类型,
    参数名称2 数据类型,
)

 下面我们将创建三张表为后面案例做铺垫

USE DBTEST --将当前查询转换到DETEST数据库

create table Class --班级表
(
    ClassId int  primary key identity(1,1) not null, --班级ID,设置主键,自增1,不为空
    name nvarchar(20) not null, --班级名称
    Introduce text --班级介绍
)

create table Teacher --老师表
(
    TeacherId int  primary key identity(1,1) not null, --老师id.设置组件,自增1
    name nvarchar(20) not null,--老师名称
    sex	 nvarchar(2) not null,--性别
    age int not null,--年龄
    section nvarchar(10) not null,--任教科目
    Introduce text,--介绍
    GuardiansPhone nvarchar(12) unique not null--电话号码,唯一性 
)

create table Student --学生表
(
    StudentId int  primary key identity(1,1) not null,--学生ID,主键,自增1
    ClassID int references Class(ClassId) not null,--班级ID,是班级表的外键
    TeacherId int references Teacher(TeacherId) not null, --老师id,是老师表的外键
    name nvarchar(20) not null,--老师名称
    sex	 nvarchar(2) not null default('男') check (sex='男' or sex='女'),--性别,添加只能为男或者女的约束
    age int not null, --年龄
    DateOfBirth datetime not null,--初始年龄
    AddTime datetime default(getDate()),--添加时间,默认添加时间为当前时间
)

上面代码中我们使用到了以下参数

primary key  用于唯一标识表中的每一行。一个表只能有一个主键,主键中的字段值必须是唯一的,且不能为 NULL。

identity 属性用于自动生成列值。identity(seed, increment) 表示初始值为 seed,每次插入新行时,值增加 increment。在这个例子中,identity(1,1) 意味着从 1 开始,每次自增 1。

not null 约束用于确保某一列中的值不能为空。当一列被设置为 not null时,任何尝试插入该列的 null值的操作都会失败。

references关键字用于定义外键约束。外键用于在两个表之间建立关系,确保外键列中的值必须存在于主表的主键列中。

getDate() 函数用于获取当前的日期和时间,返回值的类型为 DATETIME。

至此,我们就将学习完成数据库的创建和数据表的创建,下一篇章(SqlServer 增、删、改(SqlServer系列 : 篇二)-优快云博客)我们将针对数据表的增、删、改进行学习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值