找回密码
 注册账号

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

初学者课程:T3自学|T6自学|U8自学软件下载课件下载工具下载资料:通资料|U8资料|NC|培训|年结积分规则 | 使用常见问题Q&A
知识库:U8 | | NC | U9 | OA | 政务U8|U9|NCC|NC65|NC65客开|NCC客开新手必读 | 任务 | 快速增金币用友QQ群[微信群]
查看: 3643|回复: 5

[数据库知识] [分享]关于excelba“数据库SQL知识列表”学习总结

[复制链接]
发表于 2008-11-11 08:11:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册账号

×
花了近一周的时间学习了本站“数据库SQL知识列表”中的主要知识,通过学习提高了自己对sql语言的认识和基本掌握了从数据库中提取数据、编写自定义函数的一些基础知识,下面将自己的学习笔记总结如下,关于此类文章的学习,大概分以下三点:

一、数据库的连接
1、连接Excel文件字符串
CnStr = "rovider=Microsoft.jet.oledb.4.0;Extended Properties=Excel 8.0;Data Source=" & ThisWorkbook.Path & "\" & Db

其中:provider为数据库提供者,Extended Properties为数据库的类型,Data Source为数据库的名称

2、连接Access文件字符串
CnStr = "rovider=Microsoft.jet.oledb.4.0;Data Source=" & ThisWorkbook.Path & "\" & Db

3、连接Sql Server数据库字符串
CnStr = "rovider=Sqloledb.1;User ID=Sa;PWd=;data source=10.3.0.98;initial catalog=" & Db

    这个字符串是很好记忆的,(1)要明确数据库提供者sqloledb;(2)明确Sql Server数据库的名称或者ip地址server或者data source;(3)明确数据库名称database或者initial catalog;(4)确定数据库用户名和密码;

上述字符串也可以写为:

CnStr = "Provider=Sqloledb.1;User ID=Sa;PWd=;Server=10.3.0.98;database=" & Db

二、Sql语句的编写
    关于sql语句主要包括创建数据库、删除数据库、创建数据表、删除数据表、修改数据表(包括增加字段、修改字段类型、删除字段)、向数据表中插入一条记录或者批量插入记录、查询数据,下面对上述语句做一个简单的说明:
1、创建数据库与删除数据库
        Create database 数据库名         '创建数据库
        Drop Database 数据库名           '删除数据库
        Backup Database 数据库名 to disk="备份完整路径"      '备份数据库
        Restore database 数据库名 from disk='数据库完整路径'   '还原数据库
2、创建数据表与删除数据表
        Create table 数据表名(字段1 数据类型 [not null] [primary key]) '在实际创建数据表时,注意字段的数据类型,对于比如会计期之类的字段(1-12)最好定义为tinyint,切不可定义为int,这两种数据类型前一个占用1个字节,而后一个占用4个字节,当数据量大时,数据类型定义的好坏,直接关系到数据库运行速度的快慢,对于初学者一定要养成准确定义数据类型的好习惯。
     当然也可以根据已有的数据表建立一个新表:select 字段 into 新表 from 原表 where 条件
     drop table 数据表名    '删除数据表
3、修改数据表
(1)向数据表中增加一列:Alter table 数据表名 add column 列名 数据类型
(2)修改字段类型:      Alter table 数据表名 Alter column 列名 数据类型
(3)删除某一列:        Alter table 数据表名 drop column

值得注意的是:不能修改字段名称,如果修改,可以采用变通的方法,增加一列,将正确的字段名称和字段类型写入数据库中,然后使用updata更新记录。
4、向数据表中添加记录
(1)插入一条记录
insert into 数据表(字段1,字段2,...) values(值1,值2,.....)
(2)插入多条记录
insert into 数据表(字段1,字段2,...) select 语句     (注意select语句返回的字段名称和into子句字段的名称应该保持一致。
5、查询数据
(1)Select语法
SELECT select_list     'select 字段列表 ----如果是全部字段,则可以使用*
[ INTO new_table ]        'select * into 新表名 from 表名  -------可以生成一个新表(into)
FROM table_source
[ WHERE search_condition ]
[ GROUP BY group_by_expression ]      '对数据进行分组,相当于分类汇总
[ HAVING search_condition ]                    '对分组后的数据,设置筛选条件
[ ORDER BY order_expression [ ASC | DESC ] ]   '排序
(2)where条件
Where后面的条件,限制与筛选Selet检索的数据,除了比较运算符(>,<,>=,<=,<>)、逻辑运算符(not,and,or)之外,还包括like、in,其中:in(值1,值2,值3,.....) 列出所有可能的值
在实际应用中,如果批量确认某些发票,可以利用in
like有以下几个 通配符,列出符合的条件。
** %代表由0个或者更多字符组成的字符串,例如  物品名称 like 'a%'  表示以a开头的所有字符串,包括单个a     物品名称 like '%a%'  表示包含a的所有字符串,包括单个a或者以a开头的所有字符串
** _ 代表任意单个字符 例如 物品名称 like 'a_'  表示以a开头且长度为2的所有字符串,包括必须以a开头且字符串长度必须为2
** [] 指定范围        例如 物品名称 Like '[钢,铅,毛]%'" 物品名称以钢、铅、毛开头的所有记录
** [^] 不包含该范围   例如 物品名称 Like '[^a-f]     表示a-f以外的任何单个字符

'like 'M[^c]%'  表示以M开头且第二个字符不是c的所有字符串
'like '%en%'    表示包含en的所有字符串
'like '[M-Z]inger'  表示以inger结尾,且以M-Z的任何单个字母开头的所有字符串
'like '_heny'     表示以heny结尾的所有5个字符的字符串
(3)Group by语句的详细用法,详见附件

6、修改满足条件的记录
updata 数据表名 set 字段=**  where 条件

7、多表连接查询  (有待更新)

三、ADO对象RecordSet的应用(待续)


有兴趣的朋友请关注:http://www.excelba.com/BBs/Show.asp?bid=1&aid=2356

练习.rar

78.7 KB, 下载次数: 5, 下载积分: 金币 -5

金币

快速加金币

下载提示积分金币不足,非特定用户等

无法下载,可充值金币

发表于 2009-5-23 17:07:04 | 显示全部楼层
不是很明白
发表于 2009-7-28 20:33:17 | 显示全部楼层
慢慢来总会进步
发表于 2009-7-29 21:12:14 | 显示全部楼层
我很想学习数据库知识,请前辈们告诉用什么方法比较快捷。
发表于 2009-10-19 15:48:23 | 显示全部楼层
最快捷的方法就是让别人来帮你做!
发表于 2009-10-25 14:30:31 | 显示全部楼层
看不明白!!
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|站长微信|Archiver|手机版|小黑屋|用友之家 ( 蜀ICP备07505338号|51072502110008 )

GMT+8, 2024-11-25 21:22 , Processed in 0.073397 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表