sql 和 ADO是啥关系

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 和 ADO是啥关系相关的知识,希望对你有一定的参考价值。

我对数据库方面是个菜鸟。请别介意我问这些弱智的问题。听说了SQL是结构化查询语言,它到时是什么东西?语句?语言?ADO和它是什么关系?还有ADO.Net、JDBC,这几个的联系的什么?

数据库是一个存放数据的软件。数据库管理系统是用来管理数据的。

SQL是数据库操作语言的一种,是用来操作数据库中的数据以及管理数据库的。而现在常用的主要是结构化查询语言,也就是SQL,各个厂家的数据库系统有不同的实现以及扩展。

ADO这些东西是为了让程序访问数据库更方便而做的一层封装,或API。ADO.NET,JDBC是分别的不同的技术实现。

ADO是一个用于存取数据源的COM组件,提供了编程语言和统一数据访问方式OLEDB的一个中间层。允许开发人员编写访问数据的代码而不用关心数据库是如何实现的,而只用关心到数据库的连接。

访问数据库的时候,关于SQL的知识不是必要的,但是特定数据库支持的SQL命令仍可以通过ADO中的命令对象来执行。

SQL它是一个标准的数据库查询语言,用于操纵数据库;而ADO则是数据联接方式,就是通过什么方式或者说通过什么数据库组件来让你联接到数据库;

换句话说,ADO是让联接到数据库(建立通路),而SQL是在这个通路的基础上进行对数据的操作,SQL定义了如何对数据库进行操作(增减改查),ADO为这个操作提供了可能(Execute方法)。

其实ODBC本身也提供了对SQL语言的支持,用户也可以直接将SQL语句送给ODBC。

扩展资料:

结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统,可以使用相同的结构化查询语言作为数据输入与管理的接口。

结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。

SQL的核心部分相当于关系代数,但又具有关系代数所没有的许多特点,如聚集、数据库更新等。它是一个综合的、通用的、功能极强的关系数据库语言。

参考资料:百度百科-SQL

参考技术A SQL(Structured Query Language)结构化查询语言,
用SQL语言写的一行命令就是一条SQL语句.
关于SQL的更详细的介绍,可参考百度词条http://baike.baidu.com/view/34.htm

至于ADO,JDBC等等,你可以理解为它是软件与数据库之间的接口,中介.
举个例子,比如你去银行取钱,你不可能直接跑到银行的钱库去拿钱吧,你得通过柜台MM来取钱,或通过ATM机来取钱,这时,这里的柜台MM和ATM机就相当于ADO,JDBC对象了.

同理,软件要访问数据库,也要通过一些接口,不能直接访问,这些接口就是ADO之类的东东了.
参考技术B 数据库是一个存放数据的软件。
数据库管理系统是用来管理数据的。
SQL是数据库操作语言的一种,是用来操作数据库中的数据以及管理数据库的。而现在常用的主要是结构化查询语言,也就是SQL。各个厂家的数据库系统有不同的实现以及扩展。
ADO这些东西是为了让程序访问数据库更方便而做的一层封装,或API。ADO.NET,JDBC是分别的不同的技术实现。这段我说的比较含糊不标准,但是大抵是这个样子。

857803364说的也对,我只是给他做个直白的解释,没有他描述的这么幽默。如要你满意请把分给他。本回答被提问者采纳
参考技术C SQL就和C语言一样,是一种可以操作数据库的语言,方便快捷,而且结构性很强。ADO是数据库连接语言,也可以说是一种数据库连接和读取的方式,JDBC是JAVA的数据库连接和读取方式,具体的细节不是那么好说清楚的,BAIDU百科搜一下吧。
希望能帮到你
参考技术D 他们是夫妻关系 。后面那几个就是他们的亲朋好友咯。(*^__^*) 嘻嘻……

使用带有 ADO 的 Excel 2010 VBA(或带有 LINQ 的 vb.net)查询表的最佳 SQL 语句是啥

【中文标题】使用带有 ADO 的 Excel 2010 VBA(或带有 LINQ 的 vb.net)查询表的最佳 SQL 语句是啥【英文标题】:What is the best SQL statement to query a table using Excel 2010 VBA with ADO (or vb.net with LINQ)使用带有 ADO 的 Excel 2010 VBA(或带有 LINQ 的 vb.net)查询表的最佳 SQL 语句是什么 【发布时间】:2014-03-06 01:01:58 【问题描述】:

表名:员工

现在我一直在试图弄清楚如何将我的两个 SQL 查询合并为一个。

查询 #1:

    SELECT *
    FROM `employees`
    WHERE `name` = 'BOB'

这显然只返回 1 行。

接下来,我使用组号查找属于该组的任何其他员工。

查询 #2:

    SELECT * 
    FROM `employees` 
    WHERE `group` = 1

这是我希望仅使用一个 SQL 查询(而不是两个)就能返回的记录集。使用 phpMyAdmin 和 MySQL 我想出了一个方法,但是在 Excel VBA 和 ADO 中我不知道如何执行相同的语句。

组合查询:

    SET @V1 := (
      SELECT l1.group
      FROM `employees` AS l1
      WHERE l1.name = 'BOB'
    );

    SELECT *
    FROM `employees`
    WHERE `group` = @V1;

现状:

现在我正在使用 Excel 2010 VBA 和 ADO 来查询保存在本地文件夹中的已关闭工作簿。

对于这个例子,我严重地过度简化了表格的结构,但想法是一样的。我在工作簿中的实际表格包含 37,000 多行 19 列。

解决此问题的最佳方法是什么?如果它提供更好的性能和更大的灵活性,我想将 LINQ 与 vb.net 一起使用。

使用 VBA 和 ADO 进行两次查询耗时太长,感觉 Excel 有时会挂起。

【问题讨论】:

也许不是您想要的,但“常规”SQL 方法是使用子查询:SELECT * FROM employees WHERE group in (SELECT group FROM employees WHERE name like 'BOB') @1.618 谢谢!我刚刚调整了我的一些代码,现在正在使用 ADO。感谢您的帮助 - 作为答案发布,如果您愿意,我会选择您的。 【参考方案1】:

这是您需要的 SQL 查询:

SELECT * 
FROM employees 
WHERE group in 
(SELECT group 
FROM employees 
WHERE name like 'BOB')

括号中的部分称为子查询。

【讨论】:

以上是关于sql 和 ADO是啥关系的主要内容,如果未能解决你的问题,请参考以下文章

ADO.NET和.NET的关系?

ASP.NET ADO.NET 和C#编程语言他们之间的关系是怎样的?

sql 与 T-SQL是啥关系?

EntityFramework的效率与ADO.Net的效率哪个高?

jdbc是啥,和PL/SQL developer是啥关系?

PL/SQl和SQL servers是啥关系?他们直接有联系吗?