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是啥关系的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET ADO.NET 和C#编程语言他们之间的关系是怎样的?