用Excel+VBA+SQL Server进行数据处理
用Excel+VBA+SQL Server进行数据处理
使用Excel+VBA+SQL Server进行数据处理是一种简单有效方法,掌握以下基础知识实现快速入门(掌握excel/vba/sqlserver各1%内容,你就能成为数据处理高手的:)):
一、Excel基础知识
了解工作簿(Workbook)、工作表(Worksheet)、单元格(Cell)等的基本概念,熟悉一些基本操作。
二、SQL Server基础知识
参见http://distance.njtu.edu.cn/course/8100062/kejian/index.htm
1、数据库有关概念:数据库、表、记录、字段
A)数据库(Database)
B)表(Table)、记录(行,Row,Record)、字段(列,Column,Field)...
2、常见数据操作的SQL命令:select, insert , update ,delete
三、VBA基础知识:
1、基本概念。
2、基本控制结构:
·顺序结构:程序按顺序执行;
·分支结构命令:
if 条件 then
<如果条件成立执行本语句块>
end if
或:
if ... then
...
else
...
end if
或:
if ... then
...
elseif ...
...
else
...
end if
等。。
·循环结构命令:
for i=? to ??
...
next
或
do while ...
...
loop
3、在VBA中操纵对象,先理解操纵EXCEL工作表和数据库对象:
将值写入EXCEL单元格,如:thisworkbook.worksheets("sheet1").cells(1,2)=1234444
从EXCEL单元格取得数值,如:x=thisworkbook.worksheets("sheet1").cells(1,2)
数据库操作:
cn.open ...(建立数据连接对象)
rs.open ... (建立数据集对象)
x=rs("...") (读取数值)
rs.close (关闭rs)
cn.close (关闭cn)
cn.execute (执行sql语句)
...
四、例子
sub test() '定义过程名称
Dim i As Integer, j As Integer, sht As Worksheet 'i,j为整数变量;sht 为excel工作表对象变量,指向某一工作表
Dim cn As New ADODB.Connection '定义数据链接对象 ,保存连接数据库信息;请先添加ADO引用
Dim rs As New ADODB.Recordset '定义记录集对象,保存数据表
Dim strCn As String ,strSQL as String '字符串变量
strCn = "Provider=sqloledb;Server=服务器名称或I
相关文档:
SQL中有四种基本的DML操作:INSERT,SELECT,UPDATE和DELETE。
INSERT语句
用户可以用INSERT语句将一行记录插入到指定的一个表中。例如,要将雇员John Smith的记录插入到本例的表中,可以使用如下语句:
INSERT INTO EMPLOYEES VALUES
('Smith','John','1980-06-10',
'Los Angles',16,45000);
......
五: ORACLE的执行计划
背景知识:为了更好的进行下面的内容我们必须了解一些概念性的术语:
共享sql语句
为了不重复解析相同的SQL语句(因为解析操作比较费资源,会导致性能下降),在第一次解析之后,ORACLE将SQL语句及解析后得到的执行计划存放在内存中。这块位于系统全局区域SGA(system global are ......
数据库所有者 (DataBase Owner)
dbo 是具有在数据库中执行所有活动的暗示性权限的用户。将固定服务器角色 sysadmin 的任何成员都映射到每个数据库内称为 dbo 的一个特殊用户上。另外,由固定服务器角色 sysadmin 的任何成员创建的任何对象都自动属于 ......
Java数据类型
Hibernate数据类型
标准SQL数据类型
byte
byte
TINYINT
short
short
SMALLINT
int
integer
INGEGER
long
long
BIGINT
float
float
FLOAT
double
double
DOUBLE
java.math.BigDecimal
big_decimal
NUMERIC
char, java.lang.Character
character
CHAR(1)
boolean, java.lang.Boole ......