一、创建数据库
在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系列 : 篇二)-优快云博客)我们将针对数据表的增、删、改进行学习。