跟我学MS SQL Server(1)

2016-02-19 19:38 7 1 收藏

下面这个跟我学MS SQL Server(1)教程由图老师小编精心推荐选出,过程简单易学超容易上手,喜欢就要赶紧get起来哦!

【 tulaoshi.com - 编程语言 】

  (一)数据查询

  且不说你是否正在从事编程方面的工作或者不打算学习SQL,可事实上几乎每一位开发者最终都会遭遇它。你多半还用不着负责创建和维持某个数据库,但你怎么着也该知道以下的一些有关的SQL知识。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  我为那些感兴趣的开发者或者能从数据库操作中得益的读者撰写了这篇关于基本SQL语法的概述性文章。本文主要讨论基本的数据操作查询,后续的文章还会继续讨论如何修改数据库自身以及更高级的查询概念。

  SQL数据库是怎么回事?

  SQL(结构化查询语言)就是负责与ANSI维护的数据库交互的标准。最新的版本是SQL-99,还有一个新标准SQL-200n尚处于制定过程中。大多数的数据库都至少遵守ANSI-92标准的部分子集。不过,目前对最新标准的有效性还存在一些争论。专有数据库制造商根据这些标准开发自己的产品,同时制定出自己特有的数据库存储操作新概念。几乎各种不同的数据库都包含了自己特有的语法集合,只是通常很类似ANSI标准。在大多数情况下,尽管有一些数据库实例基于特定的扩展语法会因数据库的不同而产生不同的结果,但总的说来,这些新加的语法不过是对原有标准的扩充。如果数据库操作并没有得到你希望的结果,那么你不妨事先读一读数据库制造商提供的产品说明。

  假如到目前为止你头回遭遇SQL语言,那么你怎么也得先理解一些基本的SQL概念。我尽量把这些基本知识阐述得简明扼要,如果你对那些数据库术语还能忍受,你尽可跳到下一节,此外你还可以把自己的问题提交给以下的讨论区。

  笼统地说,“SQL数据库”其实就是关系型数据库管理系统(RDMS)通俗的叫法。对某些系统来说,“数据库”也指一组数据表、数据以及相互区分但结构类似的配置信息。在这种情况下,每一SQL数据库的安装都可能由若干数据库组成。在有些系统上,这种数据库则指的是表空间。

  数据表是一种包含多行数据的数据库构造,这种数据库构造由命名的列组成。通常数据表构造为包含关系信息,同一数据库或表空间以内可以创建若干数据表。

  表内的列保存某一种类型的数据而且应根据其保存数据的内容得以命名。例如,被称为“LastName”的列就应该在每一行包含姓氏条目。正是这一前提的存在才能让关系数据库查询返回一致的结果。

  字段(field)指的是某一行某一列对应的数据(或保存数据的地方)。另外,数据集合(data set)则指的是多行多列的数据,而且数据集合通常说明你的数据库或数据表内的全部数据。结果集合(result set)就是从数据库查询返回的数据;它能够描述从单一字段到数据库内全部数据这一范围内的全部信息。

  数据库查询就是发送给数据库的SQL指令,这些指令向数据库请求某种施加在数据集合或数据库上的功能。

  现在我们就来看看基本的数据库查询,这些查询主要涉及到对数据库内数据的操作。在本文中,所有的例子都采用了标准SQL语言,而且这些基本功能可以转换为应用在几乎各种环境下。

  数据查询类型

  SQL语言中的数据查询分为4种基本类型:

  SELECT:这条语句要求数据库返回指定结果的数据集合;你可以用这一语句检索数据库中保存的信息。
  INSERT:这条语句用来给数据表增加新一行数据。
  DELETE:该语句从你的数据库中删除若干行数据。
  UPDATE:该语句修改数据库内的现有数据。

  以上的这些语句都有各种各样的限定词和函数供你用来定义有关的数据集合,同时控制查询返回的结果集合。SELECT语句的选项最多。有许多种组合SELECT的查询选项,例如JOIN和UNION等。不过就我们目前来说,本文主要还是关注基本用途。

  用SELECT语句检索保存的信息

  为了获得数据库中保存的信息就必须采用SELECT语句。其基本功能限制在针对单一数据表操作,当然,其他范围的构造也是有的。为了返回特定列所对应的所有数据行,你可以使用以下语句:SELECT column1, column2 FROM table_name;

  另外,使用通配符“*”可以从表中选出所有的列:SELECT * FROM table_name;

  你要愿意自己编码分析以上返回的结果当然也没问题,不过你完全可以采用方便的WHERE子句限制返回的结果集合,该子句可以让你为选择数据定义某些条件。以下查询就会返回“column1”数值等于3的所以数据行:SELECT * FROM table_name WHERE column1 = 3;

  除了“=”(等于)条件之外你还可以用到下列条件运算符:

= 等于
不等于
大于
小于
= 大于或等于
= 小于或等于

  SQL 条件语句

  另外,你还可以联合WHERE语句使用BETWEEN、LIKE等比较运算符以及AND和OR这类逻辑运算符。注意,OR语句是包含性的的。以下有一个例子组合了以上这些概念:

  SELECT * FROM table_name WHERE ((Age 18) AND (LastName BETWEEN ‘Anderson’ AND ‘Miller’)) OR Company LIKE ‘%School%’;

  用自然语言来说,这条选择语句的含义是这样的:从数据表中选出年龄小于18岁而且姓氏在“Anderson”和“MIller”之间的或者其公司名称类中有“School”字样的数据行。

  用INSERT语句加入新数据

  使用INSERT语句可以创建新的数据行。如果你希望在某一行的某个字段中赋值则要用到UPDATE语句。

  插入语句的语法如下:

INSERT INTO table_name (column1, column2, column3)
VALUES (‘data1’, ‘data2’, ‘data3’);

  如果你想按照表内现有列的同一顺序插入所有的值,那么你不必指定列名,当然,从可读性考虑最好不要这样做。另外,如果你列出列名则不必要按照它们在数据库中出现的顺序包括它们,只要你列出的值与它们一一对应即可。有些列你并没有为其输入新的信息所以你自然没有必要列出它们来。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  一旦数据库中有了数据要修改起来也与此很相似。

  UPDATE语句和WHERE子句

  UPDATE用来修改现有的值或行里的空字段,因此它必须在匹配现有的数据集合同时提供可接受的值。除非你真地想要修改所有数据行上的值,否则你必须使用WHERE子句。

UPDATE table_name SET column1 = ‘data1’, column2 = ‘data2’ WHERE column3 = ‘data3’;

  你可以采用WHERE子句随意匹配任何一列,正在修改的一列都可以。这样会有助于你把某一特定的值修改为另一个值:

  UPDATE table_name SET FirstName = ‘Shelley’WHERE FirstName = ‘Shelly’ AND LastName = ‘Doll’;

  小心DELETE语句

  DELETE语句会从数据库的数据表中删除整行。如果你仅仅想删除单一的字段则应该使用UPDATE语句把它修改为代表应用程序中的NULL的其他空值。一定要小心使用带WHERE子句的DELETE语句,否则你可能会遭遇清空全部数据表的风险。

DELETE FROM table_name WHERE column1 = ‘data1’;

  一旦你数据库中删除某一行数据就不可再后悔了,因此一般来说,最好在数据表中包括一名为“IsActive”的列或类似的指示信息,这样你就可以把该列数据设置为零表示数据禁用。只有在你确信不再需要受到影响的信息之后你才可以用DELETE语句。

  小结

  SQL就是数据库的语言,我们已经了解了数据查询中所采用的最基本命令语句。但还有很多基本概念尚未涉及,例如SUN和COUNT函数等,但以上列出的这些命令应该足够你开始着手数据库操作了。

来源:https://www.tulaoshi.com/n/20160219/1621464.html

延伸阅读
标签: SQLServer
      且不说你是否正在从事编程方面的工作或者不打算学习SQL,可事实上几乎每一位开发者最终都会遭遇它。你多半还用不着负责创建和维持某个数据库,但你怎么着也该知道以下的一些有关的SQL知识。      我为那些感兴趣的开发者或者能从数据库操作中得益的读者撰写了这篇关于基本SQL语法的概...
标签: SQLServer
  跟我学SQL分为三部分,其中涵盖了有关SQL标准的基本知识。在上一篇文章里我们讨论了一些数据库术语和4种最基本的数据查询类型。此外,我们还解释了WHERE子句和条件语句的用法,同时我们提供了各类查询的具体示例。    在这篇文章里,我们将就其他一些SQL函数和子句进行阐述,供你用于基本的SELECT数据查询中。 SELECT选项...
标签: SQLServer
  SQL92标准定义了若干种基本数据类型,它们是SQL数据库中各种数据类型的基础。在《字符串数据类型》一文中,我们已经详细讨论了SQL92标准所定义的字符串数据类型。现在,我们来进一步讨论数值数据类型。    你最好开始尝试使用不同数据库实现方法并在它们传递数据,这样可以加深你对数值数据类型的理解。本文将给你一个数...
谁知道通天的巴比伦塔耗费了多少沙石?又有谁知道罗马的建成经历了多少个日夜?我们惟一知道的是,没有一块块砖石的垒砌,就没有蜿蜒万里的长城;没有巨石和黏土的堆集,就没有亘古不变的金字塔。由此可见,基础知识的准备对于我们学习任何事物都至关重要,那么,就让我们从认识Swing的一些基础功能开始,启动我们建造罗马的伟大工程吧! 前...
标签: Web开发
XSL模板与匹配模式       经过前几日的学习,我们学习了XHTML文档的编写和以及三个XSL元素,已能编写相当灵活的XSL文档,今天将学习的是XSL模板的编写。我们都知道,短的文档、程序十分好读,但当规模增大后,其复杂性也以更快的速度增加。       前面我们学了 xsl:for-each 、 xsl:value-o...

经验教程

474

收藏

41
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部