浅学 SQL server 数据库

1.数据库的创建

例如:建立一个名称为Test的数据库。


CREATE DATABASE Test
ON[PRIMARY]
(
NAME = 'Test_data',
FILENAME = 'D:\DB\Test_data.mdf',--FILENAME 指的是数据库具体存储的位置 FILENAME = '数据文件的逻辑名称',
SIZE = 10MB,
MAXSIZE = 50MB,
FILEGROWTH = 2MB --FILEGROWTH 的单位有两个,可以用MB,也可以用百分号。例如 FILEGROWTH = 10%
)
LOG ON
(
NAME = 'Test_log',
FILENAME = 'D:\DB\Test_log.ldf',
SIZE = 15MB,
MAXSIZE = 40MB,
FILEGROWTH = 5MB
)

说明:SQL server采用文件来存放数据库,数据库文件可分为:主数据库文件(.mdf),事务数据文件(.ldf)和辅助数据文件(.ndf)。其中主数据库文件只有一个,事无数据文件是少有一个,辅助数据文件可有可无。 

上段代码中,NAME与FILENAME是必须要有的,其余内容可以取默认值。 

2.数据表的建立

首先了解使用SQL语句创建数据表的语法格式:字段名 字段类型(和字段长度) (是否允许为空) (是否为标识列)

接下来了解一下字段的类型都有哪些

  1. 数值型(整型,定点小数型和浮点型)bigint,int,smallint,tinyint,bit;
  2. 字符型(普通字符型和统一字符编码)char,nchar,varchar,nvarchar;//注意,只有这四个字符型数据需要指明字段长度,比如 char(10);
  3. 日期时间型 date,time,smalldatetime,datetime等;
  4. 货币型 money和smallmoney。但是这两种类型被限制到小数点后四位,在实际应用中,经常采用decimal数据类型代替货币数据类型。

例如:建立一个表名为Student的表

CREATE TABLE Student
(
    Sno char(9) PRIAMRY KEY,--使用char类型的时候,要指明它的长度
    Sname char(20),
    Ssex char(2),
    Sage smallint,
    Sdept char(20)
);

说明:这只是一个非常简单的数据表。我并没有加入太多限制,只是有一个主键约束PRIMARY KEY。接下来我会重点讲一下数据的完整性约束 

3.数据的完整性约束 

由于数据库的数据是从外界输入的,因此容易发生输入错误或者错误信息,信息完整性约束就是为了保证输入的数据符合规定。

数据的完整性分四类:

  1. 实体完整性:用于保护每条记录都是唯一的。
  2. 域完整性:限制录入的数据与数据类型一致。
  3. 参照完整性:基于外键,确保相关表之间的数据保持一致。
  4. 用户自定义完整性:反应某一具体应用所涉及的数据必须满足的语义要求。

约束包括六种:

1.主键约束(PRIMARY KEY);

CREATE TABLE Student
(
    Sno char(9) PRIAMRY KEY,--使用主键约束
    Sname char(20),
    Ssex char(2),
    Sage smallint,
    Sdept char(20)
);

2.非空约束(NOT NULL);

CREATE TABLE Student
(
    Sno char(9) NOT NULL,--使用非空约束,如果不使用则默认可为空,即NULL
    Sname char(20),
    Ssex char(2),
    Sage smallint,
    Sdept char(20)
);

3.检查约束(CHECK);

CREATE TABLE Student
(
    Sno char(9) ,
    Sname char(20),
    Ssex char(2) CHECK(Ssex='男' or Ssex='女'),--检查约束,性别只能为男或者女
    Sage smallint,
    Sdept char(20)
);

4.唯一约束(UNIQUE);

CREATE TABLE Student
(
    Sno char(9) ,
    Sname char(20) UNIQUE,--使用唯一约束,即学生姓名不能相同
    Ssex char(2),
    Sage smallint,
    Sdept char(20)
);

5.外键约束(FOREIGN KEY);

CREATE TABLE Student
(
    Sno char(9) ,
    Sname char(20),
    Ssex char(2),
    Sage smallint,
    Classno char(20) FOREIGN KEY REFERENCES Class(ClassNo) --使用外键约束,即Classno是学生表的外键,但是是班级表Class的主键。在使用外键约束时,要先创建好外键表Class 
);

6.默认值约束(DEFAULT)。 

默认值约束指在表记录添加后用户没有输入某个字段值时,该字段值是由系统自动提供。

CREATE TABLE Student
(
    Sno char(9) ,
    Sname char(20),
    Ssex char(2) NOT NULL DEFAULT '男',--使用默认值约束DEFAULT
    Sage smallint,
    Sdept char(20)
);

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值