`

SQL SERVER

阅读更多

一直就喜欢SQL编程,我觉得用SQL进行编程是一种艺术、是一种享受。用的最熟的可能还是那个SELECT语句吧,因为我每次用它加上WHERE 和ADN组成的条件语句都够从多个表中选出需要的数据,那种感觉真是爽。在毕业以前,其实的我都是很少用多表联查,可能当时没有这个项目需求,平时自己练 的时候也就毕竟少,加上自己当时就一门心思的想多学几门语言,这方面的功能就花得相对少得多。就拿自己做得一个商业网站来说,也是那样的,几十个表没有那 两个之间是有关系的,基本都是单表。直到去了一次广东后,接触到ORACLE后,从几个老数据库操作人员那里才慢慢的学到多表之间的艺术查询,呵呵,夸张 了点,不过,确实有那么种感觉。

     好久没有用SQL编程了,这主要是由于职业转变的原因吧,有一段时间就主要去搞英语去了,把好多东西都忘了,现在在图书馆借了一本书,又好好的研读了起 来,不过,又学到了不少的东西。让自己终于第一次搞懂了什么是DML(Data Manipulate Language数据操作语言)、DDL(Data Define Language数据定议语言)、DCL(Data Control Language数据操纵语言):

    DML: 数据操纵语言,可以让用户对SQL数据库做五件事:向表中添加数,提取并显示表列中的数据,修改表中的数据及从表中删除语句.以这五条语句组成:INSERT INTO、SELECT、UPDATE、DELETE FROM、TRUNCATE

 DDL: 是由人们创建、修改并删除数据库中对象(表、视图、索引、域、约束)的语句组成。是一套SQL语句(ALTER、CREATE、DROP、GRANT(向用户或者用户组授予对单独的数据库对象的特定SQL语句访问权限))。

 DCL: DML可以让用户对数据库的数据作出改变,但DCL却保护数据不受伤害。是(COMMIT、ROLLBACK、GRANT、REVOKE(从用户或者是用户组撤消以前授予的对单独的数据库对象的特定SQL语句访问权))。(注:GRANT是DLL和DCL的一部份)。

 对七种约束(断言(assertions)、域(domains) 、检查约束 (check constraints)、外键约束(foreign key constrainsts)、主键约束(primary key constraints)、必需数据(required data)和惟一性约束(uniqueness constraints))有了更深的理解:

 断言(assertions):(不熟)一个约束是限制用户或应用程序输入到表的列内数据的数据库对象。一个断言是用来检查约束以限制可以数据库作为作为整体输入的数据值的数据库对象。不过,二者都是作为检查条件而指定的。如下示例:

 如果想要防止投资者从保值基金中提取多于某一数量的金额,可以使用以下SQL语句创造一个断言:

 Create assertion maximum_withdrawal check (inventor.withdrawal_limit>select sum(withdrawal.amount) from withdrawals where withdrawals.investor_id=inventor.id)  (注:没有测试,请测试)

 域(domains):(不熟)域是表中特定列中合法值的集合。保证用户和应用程序向表列中只能键入合法值。使用语句“CREATE DOMAIN”定义域。如下面示例:

 创建一个保证某只能是 a-z 26个小写字母中的任一个,其它的输入都是错误的,可写在一个:(注,我的SQL个人版不能够运行,要报错,从网上查了一下资料,ORACLE可以用,不知道其它的SQL SERVER版是否可用)

  create domain letter_check char(1) check (value in ('a','b','c','d','e','f','g','h','i','j','k'))

    create table #t
    (
    id int unique identity(1,1),
    letter letter_check
    )

 检查约束(check constraints):对输入的数据进行合法性检查

 外键约束(foreign key constrainsts):保证数据的完整性,与其它表的主键匹配。当删除主键表的数据时,如数据库检查到有其它的表以外键的形式引用该数据,那么就不能够删除该记录,这就保证数据的完整性。

 主键约束(primary key constraints):在同一表中,保证该列或者是列对是唯的,这为检索记录提供方便。可被其它表的外键引用。

 必需数据(required data):不能让该列的值为空,否则会报错。

 惟一性约束(uniqueness constraints):保证该列的唯一性,如自增序列号,这便于用户查询和引用记录。

分享到:
评论

相关推荐

    40集SQL Server 基础入门视频教程 SQL Server 数据库基础入门必备课程

    1.SQL Server 2014简介.mp4 10.SQL Server 2014定义表主键、外键.mp4 11.SQL Server 2014新增表记录.mp4 12.SQL Server 2014查询表记录.mp4 13.SQL Server 2014修改表记录.mp4 14.SQL Server 2014删除表记录....

    sql server2019安装包

    SQL Server 2019是Microsoft推出的一款关系型数据库管理系统,是SQL Server系列中的一个重要版本。它提供了强大的数据存储、处理和分析能力,广泛应用于企业级数据库应用开发和数据分析。在本安装包中,主要包含的是...

    SqlServer连接工具

    SQL Server连接工具是数据库管理员和开发人员用于与Microsoft SQL Server交互的重要软件。这些工具提供了多种功能,包括数据库的创建、管理、查询、备份、恢复以及性能优化等。在本篇文章中,我们将深入探讨SQL ...

    sqlserver驱动2012版

    标题中的“sqlserver驱动2012版”指的是SQL Server Native Client 2012,这是微软为SQL Server设计的一款数据库访问接口。SQL Server Native Client(简称SQLNCLI)是用于与SQL Server交互的一种客户端库,它包含了...

    从SQL Server 2000升级至SQL Server 2008 R2实验手册

    ### 从SQL Server 2000升级至SQL Server 2008 R2的关键知识点 #### 一、系统及浏览器需求 - **操作系统要求**: - Windows XP SP3 及其以上版本 - Windows Vista SP1 及其以上版本 - Windows 7 - Windows 2008 ...

    Microsoft SQL Server 2008 R2 SP1 Native Client

    Microsoft SQL Server 2008 Native Client (SQL Server Native Client) 是单一动态链接库 (DLL),其中包含 SQL OLE DB 提供者和 SQL ODBC 驱动程序。此链接库针对使用机器码 API (ODBC、OLE DB 和 ADO) 的应用程序...

    SqlServer2005 打开 SqlServer2008 mdf文件

    Sql Server 2005 打开 Sql Server 2008 mdf 文件数据库转换是指将 Sql Server 2008 中的数据库文件(mdf 文件)转换为 Sql Server 2005 可以识别的格式,以便在 Sql Server 2005 中使用。这种转换过程需要使用 Sql ...

    sqlserver自动生成sql语句工具sqlserver转oracle

    首先,标题中的"sqlserver自动生成sql语句工具"指的是可以分析SQL Server数据库结构和数据,自动生成对应的SQL创建语句的软件。这种工具通常能帮助数据库管理员快速获取数据库的定义,便于备份、迁移或在其他环境中...

    Sql Server 2014 安装包

    Sql Server 2014 安装包 SQL Server 2014是微软推出的一款关系型数据库管理系统,它在企业级数据管理和分析领域扮演着重要的角色。此安装包包含两个主要组件:SQL Management Studio和SQL Server Express。 1. **...

    SQL Server 18452登录错误

    在“Microsoft SQL Server Management Stdio”中,展开"SQL Server 组",鼠标右键点击 SQL Server 服务器的名称,然后选择"属性",再选择"安全性"选项卡,在"身份验证"下,选择"SQL Server 和 Windows 身份验证模式...

    sql server客户端安装包

    SQL Server客户端安装包是用于与Microsoft SQL Server进行交互的软件组件集合,它包含了连接到SQL Server、执行查询、管理数据库以及进行数据导入导出等任务所需的工具。在本压缩包中,主要包含了一个名为"SQL ...

    SQL server Native Client 10.0

    SQL Server Native Client 10.0 是微软推出的一款专门用于与SQL Server 2008及后续版本交互的客户端库,它集成了ODBC(Open Database Connectivity)和OLE DB(Object Linking and Embedding, Database)接口。...

    [SQL Server] Microsoft SQL Server 2012 技术内幕 (英文版)

    [Microsoft Press] Microsoft SQL Server 2012 技术内幕 (英文版) [Microsoft Press] Microsoft SQL Server 2012 Internals (E-Book) ☆ 图书概要:☆ Dive deep inside the architecture of SQL Server 2012 ...

    sql server 导入超大SQL脚本文件

    SQL Server 导入超大 SQL 脚本文件 SQL Server 是一种关系型数据库管理系统,广泛应用于各种行业。然而,在实际应用中,我们经常会遇到导入超大 SQL 脚本文件的问题。本文将介绍如何使用 osql 工具来导入超大 SQL ...

    SQL Server Native Client 10.0

    在SQL Server 2012中,虽然主要推荐使用SQL Server Native Client 11.0,但为了兼容旧版本的SQL Server,如SQL Server 2000,仍然需要使用SQL Server Native Client 10.0。 **1. ODBC与OLE DB接口** - **ODBC**: ...

    sql server客户端连接工具

    SQL Server客户端连接工具是数据库管理员和开发人员用来与Microsoft SQL Server进行交互的重要工具。它提供了图形用户界面(GUI)和命令行选项,使得用户能够轻松地执行查询、管理数据库对象以及进行其他数据库维护...

    Microsoft SQL Server 2005 向后兼容组件SQLServer2005_BC.msi

    SQLServer2005_BC.msi 文件是这个向后兼容组件的安装程序,它包含了用于在更新的SQL Server环境中模拟SQL Server 2005环境的特定库和接口。安装此组件后,用户可以继续使用那些设计时依赖SQL Server 2005特性的应用...

    sqlserver snowflake 函数

    使用c# 编写的 sqlserver udf 雪花函数 编译环境为 .net framework 4.5 目标数据库为 sqlserver2012 实际可以在 sqlserver2012-2019 上发布使用 注: 1. 需要开启多个实例权限 2. 需要开启单数据库信任 3. 该程序...

Global site tag (gtag.js) - Google Analytics