【学习环境】:sql server 2012
【学习内容】:使用sql语句进行库与表的创建
【涉及知识点】:
一、数据库的创建
在Sql server 2012中,分为界面操作和代码语句操作,界面操作在后续说明,今天所记为Sql语句的操作
数据库创建:
代码区
Creater database 学生成绩管理系统
On
(
name = 成绩管理, /*数据文件名称*/
filename = 'G:\sql server 2012 cq\学生成绩管理系统.mdf', /*数据文件存储地址*/
size = 5,
maxsize = 10, /*最大数据文件*/
filegrowth = 2 /*增长速度*/
)
Log on
(
name = 成绩管理_Log, /*日志文件名称*/
filename = 'G:\sql server 2012 cq\学生成绩管理系统.ldf',
size = 2,
maxsize = 5,
filegrowth = 10%
)
上述代码中,简单的涉及到了数据库的名称,数据文件,日志文件,文件名称(name),储存位置(filename),存储大小(size/maxsize)及增长速度(filegrowth)的语句;此为最简单的通过Sql语句创建数据库的案例,接下来我们进行表的创建。
二、表的创建
在数据库中,“表”起到一个核心的作用,就目前我所知而言,数据库根据有无“表”而言,可将数据库分为关系式数据库、网络式数据库以及层次式数据库,我现在学习的即为关系式数据库,在关系式数据库中,对数据的操作几乎全部建立在一个或多个关系表格上,通过对这些关系表格的分类,合并,连接或选取等运算来实现数据的管理。
表的创建:
代码区
use 学生成绩管理系统
create table students(
Sid int primary key identity/*学生编号*/,
Sname Nvarchar(50) not null/*学生姓名*/,
Ssex char(2) not null default '男' check(rsex='男' or rsex='女')/*读者性别*/,
Stypeid int not null,/*学生类型编号*/
Saddress Nvarchar(50) default '地址不详',/*家庭住址*/
email Nvarchar(50) check(email like '%@%'),/*电子邮件*/
foreign key(rtypeid) references readtype(rtypeid)
)
在上述代码中,我创建了一个六列的表,在创建数据库中的“表”时,可以遵循如下的规则:
use 数据库名
Create table 表名
(
列名 列数据类型【宽度】 【default 默认值】 列约束
)
在约束中,我们可以对其进行一系列的设置,常见约束如下所示:
1、主键:primary key
2、外键:foreign key(列名) references 表名(列名)
3、检查约束:check(约束条件)
4、默认约束:default
5、唯一性约束:unique
我们将约束分为列约束及表约束,列约束可直接在写在该列的后方,而表约束需要写完所有的基本列之后才可进行列约束的书写,在书写表约束时,须在前方写“constraint”以示要进行约束书写,如:
contraint fk_本表名_想要关联的主键所在表 froeign key(列名) references 关联的主键所在表(列名)
contraint pk_本表名 primary key(列名......)/*用表约束创建主键时,说明想要创建复合主键,否则,用列约束创建会比较方便*/
写到此处,基本上已经将数据库与表的Sql创建语句写完了,再补一些在创建表时常用的语句作为该次文本的结束
1、获得当前系统时间:getdate()
2、列数值不允许为空:not null
3、对某个数据进行说明:/**/
4、必须包含某种字符或字符串:使用Check约束,在约束中写“like %(_)约束条件(_)%”【%该符号用于字符串;_该符号用于单个字符】
5、增长量:identity(),若括弧中以1,1的形式出现,此时表示的是该属性自增