澳门十大赌场最新排名 > 澳门十大赌场 > sql最简单的查询语句,SQLServer约束介绍

原标题:sql最简单的查询语句,SQLServer约束介绍

浏览次数:189 时间:2019-08-07

约束定义

对于数据库来说,基本表的完整性约束分为列级约束条件和表级约束条件:

列级约束条件

       列级约束条件是对某一个特定列的约束,包含在列定义中,可以直接跟在该列的其他定义之后,用空格分隔,不用指定列名。

表级约束条件

       表级约束条件与列定义相互独立,不包括在列定义中,通常用于对两个或两个以上的列一起进行约束。

-- 2 **************************************************** -- 最简单的查询语句

今天需要在本地建个数据库,就下载安装sql,第一次弄,遇到了一些问题,环境添加到 sql的bin目录,要用管理员命令运行cm,cd到sql/bin的目录,输入 net start mysql

约束介绍

在数据库管理系统中,保证数据库中的数据完整性是非常重要的。所谓数据完整性,就是指存储在数据库中数据的一致性和正确性。约束定义关于列中允许值的规则,是强制完整性的标准机制。使用约束优先于使用触发器、规则和默认值。查询优化器也使用约束定义生成高性能的查询执行计划。

数据完整性分类

在SQL Server中,根据数据完整新措施所作用的数据库对象和范围不同,可以将数据完整性分为以下几种:

实体完整性

实体完整性简单的说,就是将表中的每一行看作一个实体。实体完整性要求表的标示符列或主键的完整性。可以通过建立唯一索引、PRIMARY KEY约束、UNIQUE约束,以及列的IDENTITY属性来实施实体完整性。

域完整性

域完整性是指给定列的输入有效性。要求表中指定列的数据具有正确的数据类型、格式和有效的数据范围。强制域有效性的方法有:限制类型(通过数据类型)、格式(通过 CHECK 约束和规则)或可能值的范围。域完整性通过 FOREIGN KEY 约束、CHECK 约束、DEFAULT 定义、NOT NULL 定义和规则来实现。

引用完整性

引用完整性又称参照完整性。引用完整性维持被参照表和参照表之间的数据一致性,它通过主键(PRIMARY KEY)约束和外键(FOREIGN KEY)约束来实现。引用完整性确保键值在所有表中一致。这样的一致性要求不能引用不存在的值,如果键值更改了,那么在整个数据库中,对该键值的所有引用要进行一致的更改。在被参照表中,当其主键值被其它表所参照时,该行不能被删除也不允许改变。在参照表中,不允许参照不存在的主键值。

-- 2.1 --------------------------------------------------

运行sql,可能会出现密码错误,到配置文件,在[mysqld]加入skip-grant-tables  可以不需要密码,mysql -u root -p 登录,密码空即可

约束分类

SQLServer中有五种约束类型,分别是 PRIMARY KEY约束、FOREIGN KEY约束、UNIQUE约束、DEFAULT约束、和CHECK约束。查看或者创建约束都要使用到 Microsoft SQL Server Managment Studio。

-- 使用 select 语句查询表中的数据

PRIMARY KEY约束

在表中常有一列或多列的组合,其值能唯一标识表中的每一行,这样的一列或多列成为表的主键(PrimaryKey)。

一个表只能有一个主键,而且主键约束中的列不能为空值。

只有主键列才能被作为其他表的外键所创建。

-- SELECT * FROM table_name

FOREIGN KEY约束 

外键约束是用来加强两个表(主表和从表)的一列或多列数据之间的连接的。

创建外键约束的顺序是先定义主表的主键,再对从表定义外键约束。

只有主表的主键才能被从表用来作为外键使用,被约束的从表中的列可以不是主键,主表限制了从表更新和插入的操作。

use pubs

UNIQUE约束

唯一约束确保表中的一列数据没有相同的值。

与主键约束类似,唯一约束也强制唯一性,但唯一约束用于非主键的一列或者多列的组合,且一个表可以定义多个唯一约束。

-- 切换当前数据库 select * from authors

DEFAULT约束

若在表中定义了默认值约束,用户在插入新的数据行时,如果该行没有指定数据,那么系统将默认值赋给该列,如果我们不设置默认值,系统默认为NULL。

-- 2.2 --------------------------------------------------

CHECK约束

CHECK 约束用于限制列中的值的范围。

Check约束通过逻辑表达式来判断数据的有效性,用来限制输入一列或多列的值的范围,在列中更新数据时,所要输入的内容必须满足Check约束的条件,否则将无法正确输入。

如果对单个列定义 CHECK 约束,那么该列只允许特定的值。

如果对一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限制。

-- 使用完全限定名称

约束优缺点

优点:

1、保持数据库完整性。

2、保证列中数据的唯一性。

3、插入、更新、删除时严格的范围校验机制。

4、快速。

5、可以引用其他列。

6、在命令执行前发生。

7、遵循ANSI标准。

缺点:

1、插入、更新、删除时需要校验规则比较麻烦。

2、必须对每个表重新定义。

3、不能引用其他表。

4、不能绑定到数据类型。

 

-- SELECT * FROM [server_name].[database_name].[owner].[object]

select * from Northwind.dbo.Employees

select * from Northwind..Orders

-- 2.3 --------------------------------------------------

-- 查询数据表中指定的列 -- SELECT column_1,column_2 FROM table_name

select * from authors select au_id,au_lname,au_fname,city from authors

-- 2.4 --------------------------------------------------

-- 使用 where 字句筛选指定的行

-- SELECT * FROM table_name WHERE <search_condition>

select * from jobs

select * from jobs where job_id=7

本文由澳门十大赌场最新排名发布于澳门十大赌场,转载请注明出处:sql最简单的查询语句,SQLServer约束介绍

关键词:

上一篇:使用sql脚本检测数据表中一列数据是否连续的方

下一篇:没有了