Sql Server 数据库教程四 、数据类型约束

SQL 约束 用于限制加入表的数据类型。

注意:可以通过在创建表时规定约束(通过CREATE TABLE 语句),或者在表创建之后也可以通过(ALTER TABLE 语句)。

主要的约束有以下几点:

  • NOT NULL
  • UNIQUE
  • PRIMARY KEY
  • FOREIGN KEY
  • CHECK
  • DEFAULT

1>NOT NULL

SQL NOT NULL 约束用于强制列不接受 NULL 值

例如,在创建一个Person表中,设置ID_P这一列的数据不接受空值,这意味着,如果不为该字段添加值,那么将无法插入和更新该列的记录,代码如下:

CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

2>UNIQUE

SQL UNIQUE 约束,用于约束该唯一标识数据库表中的每条记录。

例如,在Persons 表中,规定ID_P这一列的数据为不重复的int型数据,代码如下:

CREATE TABLE Persons
(
Id_P int NOT NULL UNIQUE,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

那么意味着ID_P这一列的数据不能为空值,并且都是唯一标识。

3>PRIMARY KEY 

PRIMARY KEY 约束唯一标识数据库表中的每条记录.

注意:

主键必须包含唯一的值.

主键列不能包含 NULL 值.

每个表都应该有一个主键,并且每个表只能有一个主键.

例如,在Persons表中,设置ID_P为主键,那么ID_P将作为每条记录的唯一标识,代码如下:

CREATE TABLE Persons
(
Id_P int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

4>FOREIGN KEY

一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY。 

FOREIGN KEY 也被称之为外键,让我们用一个例子来说明主键和外键的关系。

请看两个表:

注意:

"Orders" 中的 "Id_P" 列指向 "Persons" 表中的 "Id_P" 列。

"Persons" 表中的 "Id_P" 列是 "Persons" 表中的 PRIMARY KEY。

"Orders" 表中的 "Id_P" 列是 "Orders" 表中的 FOREIGN KEY。

FOREIGN KEY 约束用于预防破坏表之间连接的动作。

FOREIGN KEY 约束也能防止非法数据插入外键列,因为它必须是它指向的那个表中的值之一。

示例代码:

CREATE TABLE Orders
(
Id_O int NOT NULL PRIMARY KEY,
OrderNo int NOT NULL,
Id_P int FOREIGN KEY REFERENCES Persons(Id_P)
)
时间: 2024-12-13 08:08:57

Sql Server 数据库教程四 、数据类型约束的相关文章

PostgreSQL、SQL Server数据库中的数据类型的映射关系

PostgreSQL 8.1 轰动发布,我也打算将原来使用 SQL Server 的一些应用迁移到 PostgreSQL 上,首先需要迁移的是表,那么这就必须要先搞清楚这两个数据库中的数据类型的映射关系.查了下 PostgreSQL 文档特制作如下对应表格,以飨各位. 注意:PostgreSQL 中的 money(货币)数据类型现在已经废弃,用 numeric 或 decimal 以及和 to_char 函数一起使用就可以取代它. SQL Server 中的 datetime.smalldate

Sql Server 数据库教程二 、创建数据库表

1.创建表 语法: CREATE TABLE 表名称 ( 列名称1 数据类型1, 列名称2 数据类型2, 列名称3 数据类型3, ) 例如: CREATE TABLE Teachers ( Name varchar, sex bit , age integer ) 2.在指定数据库中创建表 使用USE 语句引用指定的数据库,可以在该数据库中创建表 语法: USE 数据库名称 CREATE TABLE 表名称 ( 列名称1 数据类型1, 列名称2 数据类型2, 列名称3 数据类型3, ) 例如:

jsp连接sql Server数据库教程

一.首先讲下我用的工具版本以供参考: jar包:jtds1.3.1.jar  下载地址:点击进入 数据库:SQL Server2012 服务器:Tomcat8.0   下载地址:点击进入 开发IDE工具:myEclipse 2016 CI6 JDK:JDK1.8     下载地址:点击进入 PC系统:windows教育版2016周年更新版. 二.将下载好的jar包(下载后解压压缩包里面有一个jar包),放到Tomcat根目录下的lib目录中,如下图所示: 三.启动myEclipse,新建一个WE

Sql Server 数据库教程三 、添加、删除、修改、表列

修改数据库的表设计,可以使用 SQL ALTER TABLE 语句,ALTER TABLE 用于在已有的表中,添加.删除.或修改表列. 1>在数据库表中添加新列: 语法: ALTER TABLE 表名称 ADD 列名称 数据类型 例如:在下面这个Persons表中添加一个新列Birthday,数据类型为varchar(50) 在新建查询中输入如下语法: ALTER TABLE Persons ADD Birthday varchar(50) 插入后的结果如下: 2>在数据库表中删除表中的列:

【2017-03-09】SQL Server 数据库基础、四种约束

一.数据库和内存的区别 数据库:一些存储在硬盘上的数据文件 内存:计算机临时存储的一些数据 二.常用数据库 .Net - SQL Server PHP - MySql Java - Oreacl 三.SQL Server使用方法 1.新建数据库 右键点击"数据库",点击"新建数据库".在弹出的页面中给新建数据库起名字,点击确认. 2.新建表 找到新建的数据库,右键点击新建数据库中的"表",点击"新建表".编辑列名,数据类型 数

SQL Server数据库、表、数据类型基本概念

一.SQL Server的数据存储结构 SQL Server是一个数据库管理系统,需要以有效方式存储高容量数据.要更好地理解SQL Server处理数据的方式,就需要了解数据的存储结构. 1.文件类型 数据库在磁盘上是以文件为单位存储的,由数据文件和事务日志文件组成.一个数据库至少应该包含一个数据文件和一个事务日志文件. 主数据文件:主数据文件包含数据库的启动信息,指向数据库中的其他文件,每个数据库都有一个主数据文件(有且只有一个),推荐文件扩展名是.mdf: 次要(辅助)数据文件:除主数据文件

50种方法优化SQL Server数据库查询(转载)

原文地址:http://www.cnblogs.com/zhycyq/articles/2636748.html 查询速度慢的原因很多,常见如下几种: 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计算列导致查询不优化. 4.内存不足 5.网络速度慢 6.查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7.锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷) 8.sp_lock,sp_who,活动的用

提高SQL Server数据库效率常用方法

1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计算列导致查询不优化. 4.内存不足 5.网络速度慢 6.查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7.锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷) 8.sp_lock,sp_who,活动的用户查看,原因是读写竞争资源. 9.返回了不必要的行和列 10.查询语句不好,没有优化 ●可以通过如下方法来优化查询 : 1.把数据.日志.索引放到不同的

SQL server 数据库用户表名称

转自(http://blog.163.com/jlj_sk/blog/static/22579293200861422833924/) 取得SQL server 数据库中 所有用户表名称 select name from sysobjects where xtype='U' order by name SQL server数据库系统表详解: sysaltfiles 主数据库 保存数据库的文件 syscharsets 主数据库字符集与排序顺序 sysconfigures主数据库 配置选项 sysc