`
JAVA天地
  • 浏览: 673991 次
  • 性别: Icon_minigender_1
  • 来自: 太原
文章分类
社区版块
存档分类
最新评论

再学SQL SERVER(1)

阅读更多

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

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

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)、主键约束(primarykey 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):保证数据的完整性,与其它表的主键匹配。当删除主键表的数据时,如数据库检查到有其它的表以外键的形式引用该数据,那么就不能够删除该记录,这就保证数据的完整性。

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

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

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

分享到:
评论

相关推荐

    零点起飞学SQL server

    由于提供的文件信息中,标题和描述均为"零点起飞学SQL server"和"零点起飞学SQLServer",这两部分并没有提供实际的知识内容,而只是表达了一个关于SQL Server学习材料的主题。至于“墨马图书专营店”的重复内容,...

    零点起飞学SQL Server

    《零点起飞学SQL Server》是一本旨在帮助初学者快速掌握SQL Server数据库系统的教程。SQL Server 2008作为Microsoft公司的一款强大的关系型数据库管理系统,广泛应用于数据存储、管理和分析,尤其在企业级应用中占据...

    SQL SERVER 2008 学习计划

    SQL SERVER 2008 学习计划 SQL Server 2008 是一个功能强大且功能齐全的关系数据库管理系统。本学习计划旨在帮助学习者快速掌握 SQL Server 2008 的基本概念、安装、配置、数据库设计、数据操作、存储过程、触发器...

    基于sql server 2005学习sql

    《基于SQL Server 2005学习SQL》 SQL(Structured Query Language)是用于管理和处理关系数据库的标准语言,而SQL Server 2005作为微软公司的一款强大的数据库管理系统,为开发者提供了广泛的功能和工具,使其在...

    sqlserver数据库精简版

    1. **关系型数据库模型**:SQL Server遵循标准的关系型数据库模型,其中数据以表格形式组织,表格之间通过键关联,支持ACID(原子性、一致性、隔离性和持久性)事务。 2. **Transact-SQL (T-SQL)**:SQL Server使用...

    零点起飞学SQL Server随书源文件

    《零点起飞学SQL Server随书源文件》是专为SQL Server初学者设计的一套学习资源,旨在帮助读者从零基础快速掌握SQL Server的核心概念和技术。这套源文件提供了丰富的实例和练习,使得学习过程更加直观和实用。 SQL ...

    轻松学编程--轻松学SQL Server数据库

    本教程“轻松学编程--轻松学SQL Server数据库”旨在帮助初学者快速入门,掌握SQL Server的基本操作和核心概念。 一、SQL Server基础 SQL(Structured Query Language)是用于管理和处理关系数据库的标准语言。在SQL...

    SQL server 0基础 学习

    1. **数据库概念**:理解数据库的基本原理,包括数据模型(如关系模型)、数据库管理系统(DBMS)的作用,以及SQL(Structured Query Language)作为数据库查询语言的重要性。 2. **安装与配置**:了解SQL Server的...

    SQL SERVER 学习资料

    SQL Server是一种广泛使用的关系型数据库管理系统,由微软公司开发,用于存储、管理和检索数据。它在企业级应用中扮演着核心角色,支持多种数据库管理任务,包括数据存储、数据分析、事务处理以及数据安全等。本套...

    sqlserver学习资料

    1. **SQL基础知识**:SQL(Structured Query Language)是用于管理关系数据库的标准语言,包括数据查询、数据更新、数据插入和数据删除等操作。在SQL Server中,你需要了解SELECT语句、JOIN操作、子查询以及聚合函数...

    Sql Server 2014 安装包

    1. **SQL Management Studio (SQLManagementStudio_x64_CHS.exe)**: SQL Management Studio是SQL Server的一个集成开发环境,它为管理员和开发人员提供了图形化界面来管理和配置SQL Server实例。这个版本是中文64位...

    sql server2008学习

    1. **SQL基础知识**:SQL(Structured Query Language)是用于管理关系数据库的标准语言。在SQL Server 2008中,你需要了解如何创建数据库、表,以及基本的查询语句(SELECT)、插入数据(INSERT)、更新数据...

    sql server客户端连接工具

    1. **SQL Server Management Studio (SSMS)**:这是最常用的SQL Server客户端工具,它集成了数据库管理、查询、设计和调试等多种功能。SSMS提供了一个集成环境,用户可以编写、测试和执行T-SQL语句,管理数据库实例...

    零点起飞学SQL Server随书源文件和PPT

    《零点起飞学SQL Server随书源文件和PPT》是一个综合的学习资源包,旨在帮助初学者和进阶者深入理解和掌握SQL Server数据库管理系统。这个压缩包包含了两部分主要内容:随书PPT和随书源文件,分别对应理论学习和实践...

    零点起飞学 SQL SERVER.part1/4

    《零点起飞学 SQL SERVER》.part1

    sql server安装指南

    SQL Server是一款由微软开发的大型关系型数据库管理系统(RDBMS),广泛应用于企业级应用中。安装SQL Server是进行数据库部署、管理和维护的第一步,其安装方式多样,包括自定义安装和一键安装等。本文档旨在提供一...

    SQL Server精华 (CHM)_sqlserver_SQLServer笔记_

    《SQL Server精华 (CHM)_sqlserver_SQLServer笔记_》是一部综合性的SQL Server学习资源,旨在帮助用户深入理解和掌握Microsoft SQL Server数据库管理系统的核心概念、功能和最佳实践。这部笔记涵盖了一系列关键知识...

    从零开始学SQL Server(光盘)源代码

    《从零开始学SQL Server》这本书旨在帮助初学者掌握SQL Server的基本概念、操作和应用。 首先,让我们从基础开始。SQL(Structured Query Language)是用于管理关系数据库的标准语言,包括数据查询、数据更新、数据...

    sql server学习资料

    SQL Server是一款由微软公司开发的关系型数据库管理系统,广泛应用于企业级数据存储、管理和分析。它以其强大、稳定和高效的特点,成为了许多企业和开发者的选择。本压缩包“sql server学习资料”提供了一套全面的...

    SQLServer学习总结(SQLServer&MSDE)

    SQLServer和桌面版MSDE学习总结(SQLServer&MSDE)

Global site tag (gtag.js) - Google Analytics