科学网

 找回密码
  注册
科学网 标签 SQL

tag 标签: SQL

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

SQL 高级教程--- SQL TOP 子句(10)
helloating1990 2016-1-7 16:35
TOP 子句 TOP 子句用于规定要返回的记录的数目。 对于拥有数千条记录的大型表来说,TOP 子句是非常有用的。 SQL Server 的语法:SELECT TOP number|percent column_name(s) FROM table_name MySQL 和 Oracle 中的 SQL SELECT TOP 是等价的MySQL 语法SELECT column_name(s) FROM table_name LIMIT number例子SELECT * FROM Persons LIMIT 5Oracle 语法SELECT column_name(s) FROM table_name WHERE ROWNUM = number例子SELECT * FROM Persons WHERE ROWNUM = 5 原始的表 (用在例子中的): Persons 表: Id LastName FirstName Address City 1 Adams John Oxford Street London 2 Bush George Fifth Avenue New York 3 Carter Thomas Changan Street Beijing 4 Obama Barack Pennsylvania Avenue Washington SQL TOP 实例 现在,我们希望从上面的 Persons 表中选取头两条记录。 我们可以使用下面的 SELECT 语句: SELECT TOP 2 * FROM Persons结果: Id LastName FirstName Address City 1 Adams John Oxford Street London 2 Bush George Fifth Avenue New York SQL TOP PERCENT 实例 现在,我们希望从上面的 Persons 表中选取 50% 的记录。 我们可以使用下面的 SELECT 语句: SELECT TOP 50 PERCENT * FROM Persons 结果: Id LastName FirstName Address City 1 Adams John Oxford Street London 2 Bush George Fifth Avenue New York
个人分类: 数据库|805 次阅读|0 个评论
SQL 简易教程--- SQL DELETE(9)
helloating1990 2015-12-30 11:23
DELETE 语句 DELETE 语句用于删除表中的行。 语法DELETE FROM 表名称 WHERE 列名称 = 值 Person: LastName FirstName Address City Gates Bill Xuanwumen 10 Beijing Wilson Fred Zhongshan 23 Nanjing 删除某行 Fred Wilson 会被删除: DELETE FROM Person WHERE LastName = 'Wilson' 结果: LastName FirstName Address City Gates Bill Xuanwumen 10 Beijing 删除所有行 可以在不删除表的情况下删除所有的行。这意味着表的结构、属性和索引都是完整的: DELETE FROM table_name 或者: DELETE * FROM table_name
个人分类: 数据库|1015 次阅读|0 个评论
SQL 简易教程--- SQL ORDER BY(7)
helloating1990 2015-12-30 09:57
ORDER BY 语句用于对结果集进行排序。 ORDER BY 语句 ORDER BY 语句用于根据指定的列对结果集进行排序,默认升序 如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。 原始的表 (用在例子中的): Orders 表: Company OrderNumber IBM 3532 W3School 2356 Apple 4698 W3School 6953 实例 1 以字母顺序显示公司名称: SELECT Company, OrderNumber FROM Orders ORDER BY Company结果: Company OrderNumber Apple 4698 IBM 3532 W3School 6953 W3School 2356 实例 2 以字母顺序显示公司名称(Company),并以数字顺序显示顺序号(OrderNumber): SELECT Company, OrderNumber FROM Orders ORDER BY Company, OrderNumber 结果: Company OrderNumber Apple 4698 IBM 3532 W3School 2356 W3School 6953 实例 3 以逆字母顺序显示公司名称: SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC结果: Company OrderNumber W3School 6953 W3School 2356 IBM 3532 Apple 4698 实例 4 以逆字母顺序显示公司名称,并以数字顺序显示顺序号: SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC结果: Company OrderNumber W3School 2356 W3School 6953 IBM 3532 Apple 4698 注意: 在以上的结果中有两个相等的公司名称 (W3School)。只有这一次,在第一列中有相同的值时,第二列是以升序排列的。如果第一列中有些值为 nulls 时,情况也是这样的。
个人分类: 数据库|744 次阅读|0 个评论
SQL 简易教程--- SQL AND 和 OR(6)
helloating1990 2015-12-29 10:06
AND 和 OR 运算符用于基于一个以上的条件对记录进行过滤。 AND 和 OR 运算符 AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。 如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。AND:同时符合 如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。 OR:符合其中一项即可 原始的表 : LastName FirstName Address City Adams John Oxford Street London Bush George Fifth Avenue New York Carter Thomas Changan Street Beijing Carter William Xuanwumen 10 Beijing AND 运算符实例 使用 AND 来显示所有姓为 Carter 并且名为 Thomas 的人: SELECT * FROM Persons WHERE FirstName='Thomas' AND LastName='Carter'结果: LastName FirstName Address City Carter Thomas Changan Street Beijing OR 运算符实例 使用 OR 来显示所有姓为 Carter 或者名为 Thomas 的人: SELECT * FROM Persons WHERE firstname='Thomas' OR lastname='Carter'结果: LastName FirstName Address City Carter Thomas Changan Street Beijing Carter William Xuanwumen 10 Beijing 结合 AND 和 OR 运算符 我们也可以把 AND 和 OR 结合起来(使用圆括号来组成复杂的表达式): SELECT * FROM Persons WHERE (FirstName='Thomas' OR FirstName='William')AND LastName='Carter' 结果: LastName FirstName Address City Carter Thomas Changan Street Beijing Carter William Xuanwumen 10 Beijing
个人分类: 数据库|773 次阅读|0 个评论
SQL 简易教程--- SQL WHERE(5)
helloating1990 2015-12-29 10:04
WHERE 子句用于规定选择的标准。 WHERE 子句 如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句。 语法SELECT 列名称 FROM 表名称 WHERE 列 运算符 值 下面的运算符可在 WHERE 子句中使用: 操作符 描述 = 等于 或 != 不等于 大于 小于 = 大于等于 = 小于等于 BETWEEN 在某个范围内 LIKE 搜索某种模式 使用 WHERE 子句 如果只希望选取居住在城市 Beijing 中的人,我们需要向 SELECT 语句添加 WHERE 子句: SELECT * FROM Persons WHERE City='Beijing'Persons 表 LastName FirstName Address City Year Adams John Oxford Street London 1970 Bush George Fifth Avenue New York 1975 Carter Thomas Changan Street Beijing 1980 Gates Bill Xuanwumen 10 Beijing 1985 结果: LastName FirstName Address City Year Carter Thomas Changan Street Beijing 1980 Gates Bill Xuanwumen 10 Beijing 1985 引号的使用 请注意,SQL 使用单引号来环绕 文本值 。如果是 数值 ,请不要使用引号。 文本值:这是正确的: SELECT * FROM Persons WHERE FirstName='Bush' 这是错误的: SELECT * FROM Persons WHERE FirstName=Bush数值:这是正确的: SELECT * FROM Persons WHERE Year1965 这是错误的: SELECT * FROM Persons WHERE Year'1965'
个人分类: 数据库|619 次阅读|0 个评论
SQL 简易入门教程分享 目录
helloating1990 2015-4-3 10:58
SQL 是用于访问和处理数据库的标准的计算机语言。 在本教程中,您将学到如何使用 SQL 访问和处理数据系统中的数据,这类数据库包括:Oracle, Sybase, SQL Server, DB2, Access 等等。 首先介绍下接下来博客中要与大家分享的SQL课程的目录: SQL 基础教程 1. SQL 教程 2. SQL 简介 3. SQL 语法 4. SQL select 5. SQL distinct 6. SQL where 7. SQL AND OR 8. SQL Order By 9. SQL insert 10. SQL update 11. SQL delete SQL 高级教程 12. SQL Top 13. SQL Like 14. SQL 通配符 15. SQL In 16. SQL Between 17. SQL Aliases 18. SQL Join 19. SQL Inner Join 20. SQL Left Join 21. SQL Right Join 22. SQL Full Join 23. SQL Union 24. SQL Select Into 25. SQL Create DB 26. SQL Create Table 27. SQL Constraints 28. SQL Not Null 29. SQL Unique 30. SQL Primary Key 31. SQL Foreign Key 32. SQL Check 33. SQL Default 34. SQL Create Index 35. SQL Drop 36. SQL Alter 37. SQL Increment 38. SQL View 39. SQL Date 40. SQL Nulls 41. SQL isnull() 42. SQL 数据类型 43. SQL 服务器 SQL 函数 44. SQL functions 45. SQL avg() 46. SQL count() 47. SQL first() 48. SQL last() 49. SQL max() 50. SQL min() 51. SQL sum() 52. SQL Group By 53. SQL Having 54. SQL ucase() 55. SQL lcase() 56. SQL mid() 57. SQL len() 58. SQL round() 59. SQL now() 60. SQL format() SQL 总结 61. SQL 快速参考 62. SQL 教程总结 那么在接下来陆续的博客中将按照这个目录来分享。
个人分类: 数据库|1441 次阅读|0 个评论
R与SQL SERVER EXPRESS 2012连接
zhangdong 2014-6-20 09:20
R与SQL SERVER EXPRESS 2012连接 首先创建ODBC数据源 1. 控制面板-管理工具-数据源(ODBC) 2. 单击“添加” 3. 选择“SQL SERVER NATIVE CLIENT 11.0”,然后单击“完成”。 4. 根据提示输入数据源的名称(例子中指定数据源名称为testODBC),要连接的服务器等信息(列表里有local和主机名可选,要选主机名,然后手动添加了\SQLEXPRESS,也就是说需要填写主机名\SQLEXPRESS))。指定默认的数据库(指定之后,连接到这个数据源的连接都是连接到了这个特定的数据库),最后确定即可。 简单的示意代码: #建立连接 channel - odbcConnect(local_server, uid=*, pwd=*) #一个SQL查询,并将查询结果保存在一个data frame类型的变量中,用于以后的分析 da-sqlQuery(channel,select top 5 * from dbo.a) #关闭连接 odbcClose(channel) 参考:http://blog.sina.com.cn/s/blog_6caea8bf0100vqxj.html
3240 次阅读|0 个评论
利用R进行专利分析——连接SQL server数据库
热度 2 yngcan 2014-2-23 13:46
利用R进行专利分析——连接SQL server数据库 # 导入数据库 ,当然之前需要安装安装命令为install.packages(RODBC) library(RODBC) # 需要设置 #( 1 )现在开始中搜索ODBC, ODBC 数据源管理器选择 NativeClient10.0 ,选添加或配置 #( 2 )设定名称为us patent ;描述为 data ;连接到的服务器,选择 如 (local),如果是服务器可以选择192,***,***,***等 ; #( 3 )输入身份验证密码 #( 4 )选择要查询的数据库,这里选 择 uspatent , 与 uid 并不是一样的。 pat -odbcConnect(uspatent, uid = yanggc, pwd = ) # 之前设定好了连接美国专利数据库 # 之前设定好了连接美国专利数据库 ,参看数据表 sqlTables(pat) # 在 SQL 上选择虚拟现 实 virtual_reality_DII 数 据库(我选择的是一个 virtual_reality_DII的数据集 ),操作同SQL查询 Assignee-sqlQuery(pat,SELECT , , , , , FROM . . ) # 退出之 前 odbcClose(pat)
个人分类: 利用R进行专利分析|6666 次阅读|3 个评论
SQL of Oracle
lucheng918 2014-2-17 22:18
DDL:数据定义语言 create drop truncate alter DCL:数据控制语言 grant revoke DML:数据操作语言 delete update insert INSERT增加新行,INSERT INTO table VALUES (value...); - 增加主键 alter table 表名 add constraint 主键名 primary key ( 字段名 1); - 增加外键 : alter table 表名 add constraint 外键名 foreign key ( 字段名 1) references 关联表 ( 字段名 2); 增加主键 alter table 表名 add constraint 主键名 primary key (字段名1); 增加外键: alter table 表名 add constraint 外键名 foreign key (字段名1) references 关联表 (字段名2); select for update??
个人分类: linux+oracle|2310 次阅读|0 个评论
SDSS数据实践(一)SQL搜索
qianlivan 2013-1-15 15:46
在天文学家们最初热火朝天地处理SDSS数据的时候,我并没有勇气把大量精力投入到这项事业中。不过我确实曾经尝试过使用SQL去搜索一些SDSS数据, 不过没有坚持下来,原来做的一些事也早就忘记了。最近又需要搜索一下SDSS数据,没办法,只能再次进行尝试并作一些记录。 目前SDSS网站(中国镜像为 http://sdss.lamost.org/skyserver/en/ ) 默认搜索的数据库是BESTDR9,当然,可以指定SQL搜索其他的数据库。BESTDR9数据库含有大量的表格,一些包含测光观测的源(例如 PhotoObj),一些包含光谱观测的源(例如SpecObj),或者观测条件(Field)或者观测天区的几何位形(TileBoundary)。 除了表格,还有一些经过一些处理(分类)的子表(Views),比如星系子表之类。此外,还有一些相应的函数、子程序等,可以查看 http://skyserver.sdss3.org/dr9/en/help/browser/browser.asp 最简单的SQL脚本应包括三个关键词 SELECT 后面写要获得值的变量名称 FROM 后面写要搜索的表的名称 WHERE 对数据的要求 原 则上WHERE也可以不用,但是那样通常会得到无比庞大的数据输出而无法处理。SELECT后面跟的变量名如果太长,可以用AS指定一个别名。WHERE 指定的条件里可以用逻辑运算关键词AND、OR和NOT进行逻辑运算,也可以用比较算符给出限定。此外还可以进行数学运算。注意,数学运算不仅可以在WHERE后进行,在SELECT后面也可以进行,这个性质很方便,比如可以直接得到星等差(颜色)如下(p.u-p.g AS u_g) SELECT TOP 10 p.u,p.g,p.r,p.i,p.z,p.u-p.g AS u_g FROM PhotoObj AS p WHERE p.u BETWEEN 0 AND 19.6 AND p.g BETWEEN 0 AND 20 如果要将多个表格中的列合并,就需要使用JOIN命令。比如上面的例子中FROM一句可以改为 FROM PhotoObj AS p JOIN SpecObj AS s ON s.bestobjid = p.objid 这样可以取出PhotoObj和SpecObj两个表中的列了。 但是使用SQL进行搜索的时候,应该尽量提高效率,要不然有可能很长时间都无法完成搜索。一个要点就是使用尽量小的表,因为大表中有很多列通常都是不会用到的,每次搜索都搜一遍大表没有必要,对于通常的搜索,在大表的子集(含有同样多的行,列数少得多,但通常会用到的量都有)中进行搜索就行了。比如 PhotoTag就是PhotoObjAll的子集。 此外,SDSS网站还提供了交叉比对的功能,详见 http://skyserver.sdss3.org/dr9/en/tools/crossid/crossid.asp 。更多SQL搜索的例子可以参见 http://sdss.lamost.org/skyserver/en/help/docs/realquery.asp 。
个人分类: 总结|2574 次阅读|0 个评论
基于web的远程教育系统的设计与实现
cyx033009 2012-11-13 22:59
IIS+ASP+SQL Server+FMS实现的一远程教育系统模型,供借鉴学习之用。若有需要源程序代码的,请发信息告知 毕业设计论文.docx
个人分类: 毕设论文|1852 次阅读|0 个评论
[转载]SQL Server 2000连接中的最常见错误
mafei863 2011-10-24 00:02
SQL Server 2000连接中的四个最常见错误: 一."SQL Server 不存在或访问被拒绝" 这个是最复杂的,错误发生的原因比较多,需要检查的方面也比较多. 一般说来,有以下几种可能性: 1 ,SQL Server名称或IP地址拼写有误 2 ,服务器端网络配置有误 3 ,客户端网络配置有误要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因. ============= 首先,检查网络物理连接 ============= ping 服务器IP地址 / 服务器名称 如果 ping 服务器IP地址 不成功,说明物理连接有问题,这时候要检查硬件设备,如网卡,HUB,路由器等. 还有一种可能是由于客户端和服务器之间安装有防火墙软件造成的,比如 ISA Server.防火墙软件可能会屏蔽对 ping,telnet 等的响应因此在检查连接问题的时候,我们要先把防火墙软件暂时关闭,或者打开所有被封闭的端口. 如果ping 服务器IP地址 成功而,ping 服务器名称 失败则说明名字解析有问题,这时候要检查 DNS 服务是否正常. 有时候客户端和服务器不在同一个局域网里面,这时候很可能无法直接使用服务器名称来标识该服务器,这时候我们可以使用HOSTS文件来进行名字解析, 具体的方法是: 1 .使用记事本打开HOSTS文件(一般情况下位于C:\WINNT\system32\drivers\etc). 添加一条IP地址与服务器名称的对应记录,如: 172.168 . 10.24 myserver 2 .或在 SQL Server 的客户端网络实用工具里面进行配置,后面会有详细说明. ============= 其次,使用 telnet 命令检查SQL Server服务器工作状态 ============= telnet 服务器IP地址 1433 如果命令执行成功,可以看到屏幕一闪之后光标在左上角不停闪动,这说明 SQL Server 服务器工作正常,并且正在监听1433端口的 TCP / IP 连接如果命令返回"无法打开连接"的错误信息,则说明服务器端没有启动 SQL Server 服务, 也可能服务器端没启用 TCP / IP 协议,或者服务器端没有在 SQL Server 默认的端口1433上监听. ============= 接着,我们要到服务器上检查服务器端的网络配置,检查是否启用了命名管道.是否启用了 TCP / IP 协议等等 ============= 可以利用 SQL Server 自带的服务器网络使用工具来进行检查. 点击:程序 -- Microsoft SQL Server -- 服务器网络使用工具 打开该工具后,在"常规"中可以看到服务器启用了哪些协议. 一般而言,我们启用命名管道以及 TCP / IP 协议. 点中 TCP / IP 协议,选择"属性",我们可以来检查 SQK Server 服务默认端口的设置一般而言,我们使用 SQL Server 默认的1433端口.如果选中"隐藏服务器",则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接. ============= 接下来我们要到客户端检查客户端的网络配置 ============= 我们同样可以利用 SQL Server 自带的客户端网络使用工具来进行检查, 所不同的是这次是在客户端来运行这个工具. 点击:程序 -- Microsoft SQL Server -- 客户端网络使用工具 打开该工具后,在"常规"项中,可以看到客户端启用了哪些协议. 一般而言,我们同样需要启用命名管道以及 TCP / IP 协议. 点击 TCP / IP 协议,选择"属性",可以检查客户端默认连接端口的设置,该端口必须与服务器一致. 单击"别名"选项卡,还可以为服务器配置别名.服务器的别名是用来连接的名称, 连接参数中的服务器是真正的服务器名称,两者可以相同或不同.别名的设置与使用HOSTS文件有相似之处. 通过以上几个方面的检查,基本上可以排除第一种错误. -- --------------------------------------------------------------------------- 二."无法连接到服务器,用户xxx登陆失败" 该错误产生的原因是由于SQL Server使用了"仅 Windows"的身份验证方式, 因此用户无法使用SQL Server的登录帐户(如 sa )进行连接.解决方法如下所示: 1 .在服务器端使用企业管理器,并且选择"使用 Windows 身份验证"连接上 SQL Server 操作步骤: 在企业管理器中 -- 右键你的服务器实例(就是那个有绿色图标的) -- 编辑SQL Server注册属性 -- 选择"使用windows身份验证" -- 选择"使用SQL Server身份验证" -- 登录名输入:sa,密码输入sa的密码 -- 确定 2 .设置允许SQL Server身份登录操作步骤: 在企业管理器中 -- 展开"SQL Server组",鼠标右键点击SQL Server服务器的名称 -- 选择"属性" -- 再选择"安全性"选项卡 -- 在"身份验证"下,选择"SQL Server和 Windows ". -- 确定,并重新启动SQL Server服务. 在以上解决方法中,如果在第 1 步中使用"使用 Windows 身份验证"连接 SQL Server 失败, 那就通过修改注册表来解决此问题: 1 .点击"开始" - "运行",输入regedit,回车进入注册表编辑器 2 .依次展开注册表项,浏览到以下注册表键: 3 .在屏幕右方找到名称"LoginMode",双击编辑双字节值 4 .将原值从1改为2,点击"确定" 5 .关闭注册表编辑器 6 .重新启动SQL Server服务. 此时,用户可以成功地使用sa在企业管理器中新建SQL Server注册, 但是仍然无法使用Windows身份验证模式来连接SQL Server. 这是因为在 SQL Server 中有两个缺省的登录帐户: BUILTIN\Administrators 机器名 \Administrator 被删除. 要恢复这两个帐户,可以使用以下的方法: 1 .打开企业管理器,展开服务器组,然后展开服务器 2 .展开"安全性",右击"登录",然后单击"新建登录" 3 .在"名称"框中,输入 BUILTIN\Administrators 4 .在"服务器角色"选项卡中,选择"System Administrators" 5 .点击"确定"退出 6 .使用同样方法添加 机器名 \Administrator 登录. 说明: 以下注册表键: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\LoginMode 的值决定了SQL Server将采取何种身份验证模式. 1 .表示使用"Windows 身份验证"模式 2 .表示使用混合模式(Windows 身份验证和 SQL Server 身份验证). -- --------------------------------------------------------------------------- 三.提示连接超时 如果遇到第三个错误,一般而言表示客户端已经找到了这台服务器,并且可以进行连接, 不过是由于连接的时间大于允许的时间而导致出错. 这种情况一般会发生在当用户在Internet上运行企业管理器来注册另外一台同样在Internet上的服务器, 并且是慢速连接时,有可能会导致以上的超时错误.有些情况下,由于局域网的网络问题,也会导致这样的错误. 要解决这样的错误,可以修改客户端的连接超时设置. 默认情况下,通过企业管理器注册另外一台SQL Server的超时设置是 4 秒, 而查询分析器是 15 秒(这也是为什么在企业管理器里发生错误的可能性比较大的原因). 具体步骤为: 企业管理器中的设置: 1 .在企业管理器中,选择菜单上的"工具",再选择"选项" 2 .在弹出的"SQL Server企业管理器属性"窗口中,点击"高级"选项卡 3 .在"连接设置"下的"登录超时(秒)"右边的框中输入一个比较大的数字,如 20 . 查询分析器中的设置: 工具 -- 选项 -- 连接 -- 将登录超时设置为一个较大的数字 -- ------------------------------------------------------------------------------- 四.大部分机都用Tcp / ip才能成功,有次我发现用Named Pipes才可以?这是因为在WINDOWS 2000以后的操作系统中,MS为解决SQL SERVER的安全问题将TCP / IP配置为SQLSERVER的默认连接协议,你可以在CLIENT NETWORK UTILITY中看到TCP / IP和NAME PIPE 的顺序。 你也可以在: "ProtocolOrder" = hex( 7 ): 74 , 00 , 63 , 00 , 70 , 00 , 00 , 00 , 00 , 00 看到默认的协议。 2 .怎么在程序中更改Named Pipes , Tcp / ip ,其sql语句怎么写?你可以在上面提到的注册表的位置修改: CLIENT端: "ProtocolOrder" = hex( 7 ): 74 , 00 , 63 , 00 , 70 , 00 , 00 , 00 , 00 , 00 SERVER端: "ProtocolOrder" = hex( 7 ): 74 , 00 , 63 , 00 , 70 , 00 , 00 , 00 , 00 , 00
个人分类: 点滴记录|2091 次阅读|0 个评论
PageRank计算方法的SQL实现
leeshuqing 2011-2-3 19:59
1、表准备 存储所有网页的基本信息 CREATE TABLE ( IDENTITY (1, 1) NOT NULL , (900) COLLATE Chinese_PRC_CI_AS NULL , COLLATE Chinese_PRC_CI_AS NULL , NULL , NULL , CONSTRAINT PRIMARY KEY CLUSTERED ( ) ON ) ON TEXTIMAGE_ON GO 存储网页链接关系 CREATE TABLE ( NULL , (900) COLLATE Chinese_PRC_CI_AS NULL , NULL , (900) COLLATE Chinese_PRC_CI_AS NULL ) ON GO 2、执行脚本,填充WebPages中的REFCOUNT,使之成为链出网页的数量 declare cur_webpages cursor for select docid from webpages declare @docid int open cur_webpages fetch next from cur_webpages into @docid while (@@fetch_status=0) begin declare @rcount int select @rcount=count(*) from pagelinks where docid=@docid update webpages set refcount=@rcount WHERE CURRENT OF cur_webpages fetch next from cur_webpages into @docid end close cur_webpages deallocate cur_webpages 3、填充初始值 update webpages set weight=1.0/(select count(*) from webpages) update webpages set REVWEIGHT=0 4、计算PageRank的SQL脚本 declare @count int set @count=0 while(@count=7) begin declare cur_webpages cursor for select docid,refcount,weight,revweight from webpages declare @docid int declare @refcount int declare @weight float declare @revweight float if(@count%2=0) select docid,weight into pagebak from webpages else select docid,revweight as weight into pagebak from webpages CREATE INDEX ON . ( ) open cur_webpages fetch next from cur_webpages into @docid,@refcount,@weight,@revweight while (@@fetch_status=0) begin if @refcount0 begin if(@count%2=0) update pagebak set weight=weight+(@weight/@refcount) where docid in (select anchordocid from pagelinks where docid=@docid ) else update pagebak set weight=weight+(@revweight/@refcount) where docid in (select anchordocid from pagelinks where docid=@docid ) end fetch next from cur_webpages into @docid,@refcount,@weight,@revweight end close cur_webpages deallocate cur_webpages if(@count%2=0) begin update webpages set revweight=0.2+(select weight from pagebak where pagebak.docid=webpages.docid) update webpages set revweight=revweight/(select sum(revweight) from webpages) end else begin update webpages set weight=0.2+(select weight from pagebak where pagebak.docid=webpages.docid) update webpages set weight=weight/(select sum(weight) from webpages) end drop table pagebak select * from webpages set @count=@count+1 end
3703 次阅读|0 个评论
科学网全局分享功能可能有个sql错误
热度 1 outcrop 2011-1-19 11:55
这个页面: http://bbs.sciencenet.cn/home.php?mod=spacedo=share 看看别人的分享也挺有意思的,一般是不错的文章。
个人分类: 计算机应用技术|2030 次阅读|1 个评论
如何用CiteSpace整理数据
热度 9 ChaomeiChen 2010-11-22 12:25
知道CiteSpace有这一功能的人大概不多,知道如何使用的大概更少。一是一直没有时间介绍,二来各类论文中也没有机会描述这些功能。 要求:会使用基本的SQL语句(CiteSpace本身带有一些简要的语法提示,可供初学者练习)。 用CiteSpace整理Web of Science格式数据的过程如下: 1。将数据读入CiteSpace自带的数据库 2。检查,更改数据 3。输出整理后的数据 具体步骤如下: 1。将数据读入CiteSpace自带的数据库 a)CiteSpace:Data:Import/Export; b) 打开数据库:Database:Open (下方窗口会显示现有project名称) c) 读入WoS格式数据:先将所有数据存到一个文档,每个文件名以download开始,以。txt结束。 d) 在Create a New Project中,用Browse选定你的数据文档,按Import开始读入数据。按提示输入project名(只要不与数据库中现有的其它project重名即可)。 2。检查,更改数据 a) 菜单中各项功能均可使用。相关SQL会显示在SQL Query and Results下的小窗口内。数据库结构可用Database:Show Data Structure显示。 b)更改数据:Project:Edit CiteSpace提示:UPDATE articles SET article='------', source='------' WHERE project='------' and uid='------' 更改数据需要该数据项的uid,可用SQL查到,例如:select uid from articles where project-‘terrorism' UPDATE语句中SET 后,WHERE前为数据字段的新值,如: UPDATE articles SET title=‘The Investigation of terrorist incidents’ WHERE project=’terrorism' and uid='ISI:A1990EZ80000009‘ 将把记录号为ISI:A1990EZ80000009的那条记录的标题改为The Investigation of terrorist incidents。 3。输出整理后的数据 a)选择输出数据的范围:Project:1。Select a subset for export CiteSpace示例如下:SELECT uid FROM articles WHERE project='terrorism' and dt='Article' and year=2000 例中将输出名为terrorism的project中2000年为止的所有类型为Article的数据条目。可按自己需要修改语句中WHERE之后的部分。 准备好后按Search(最底下一排)。 b)开始输出到WoS格式的文件:Project:2。Export Data (WoS) 按提示选定输出的目的地文档。可在File Name一栏直接打入文档目录的地址。CiteSpace输出时将显示等待,直到输出完毕。输出文件名的命名规则:download_ _ _of_ 。txt 例如:download_terrorism_300_of_586.txt 数据量越大,等待时间越长。 有没有不清楚的地方?
个人分类: CiteSpace使用指南|114199 次阅读|18 个评论
PHP1.2基础
anny424 2010-5-19 15:57
跟着 张恩民 的 php100免费视频教程 学习PHP吧~ 英文不好能学习吗? 回答是YSE 数学不好能学吗? 回答是YES 没有基础看这个视频学习能学吗? 回答也是YES 没耐心能学吗? 回答是NO~ Java vs. PHP。 PHP适合于快速开发,中小型应用系统,开发成本低,能够对变动的需求作出快速的反应。而Java适合于开发大型的应用系统,应用的前景比较广阔,系统易维护、可复用性较好。还有,同样功能的系统用Java开发的系统要比PHP开发的系统的价格要高 。 编写php代码基础(前七讲) 在主目录www下编写index.php文件,就会在 http://localhost/ 显示执行结果。 用echo或print打印,用 ; 分隔语句。 注释/*... */ 或 // htm和php混编,只需将htm放在? ... ?的外面即可。 双引号支持转义字符,单引号不支持转义字符 数组格式:$bo = array(1,2,3,4); $bo = array(A = 1,B = 2); ===,比较值,同时比较字符类型 声明变量:int $level; 声明类: - 在方法名与其参数列表之前的左括号(间不要有空格 - 左大括号{位于声明语句同行的末尾 - 右大括号}另起一行,与相应的声明语句对齐,除非是一个空语句,}应紧跟在{之后 class Sample extends Object {   int $ivar1;   int $ivar2; function Sample(int $i, int $j) {   ivar$1 = $i;   ivar$2 = $j; } function emptyMethod() {}   ... } - 方法与方法之间以空行分隔
个人分类: 数据库学习笔记|6047 次阅读|0 个评论
[转载]SQL语句语法
ayounger 2010-5-17 20:15
只放个链接吧,为的是以后参考: http://dev.mysql.com/doc/refman/5.1/zh/sql-syntax.html#create-database
个人分类: Gnu/Linux|2147 次阅读|0 个评论
数据库相关知识总结
yhc511025 2010-5-6 21:54
由于5月22日要参加《软件设计师》的考试,所以最近一直在复习下午试题中的数据库部分。针对几套刚做过的真题,总结了一下数据库试题的主要题型和解题方法: 1. 求某一个关系模式中的主键。 在做此类题时,选出关键项后,应该多想想,是不是仅这几个关键项就能确定其它的属性。( 2002 年题 2 问 3 , 2005 年 5 月题 2 问 1 , 2005 年 11 月题 2 问 2 ) 2. E-R 图转换为关系模式。 一般一个实体就可以转为为一个关系模式(简称实模),一个多对多的联系也需要转换为一个关系模式(简称联模)。实模的属性包括实体本身的属性,如果边上有一个一对一或者多对一的联系时,需要将联系的属性和联系另一头实体的主属性加进来,其主键一般为本实体的标识号;而联模的属性包括联系的属性和联系两边实体的主属性。( 2004 年 11 月题 2 问 1 , 2006 年 5 月题 2 问 2 ) 3. 给出一个描述语句,然后填写空缺的 SQL 语句。 这种题需要先分清描述语句的结构,句子里面包括有定语和中心词,一般一个定语为一个条件,一个中心词为一个查询语句。将语句从前到后的条件一一列出来,然后再一一实现,语句的填写则是从后到前填写。定语中的名词和中心词如果不在一个表中需要将两个表进行连接。( 2002 年第二题问 4 ,, 2004 年 11 月题 2 问 2 、问 3 , 2005 年 5 月题 2 问 2 ) 如查询所有 订购了 bid (标识号)为 123-456 图书 的 用户 订购的 其它 (的) 图书 ,该查询语句有两个查询嵌套。第一个是查询用户,条件为 订购了 bid 为 123-456 图书 ;第二个是查询图书,条件有两个: (1) 是第一个查询所得用户订购的, (2) 其它的(即 bid 不为 123-456 )。 4. 关系模式不规范,通过修改关系模式的属性使其达到 3NF 。 主要判断关系模式中是否存在部分依赖和传递依赖。( 2005 年 5 月题 2 问 4 ) 5. 判断能否向关系表中添加或删除指定元组。 插入元组时需要判断实体完整性约束、用户定义完整性约束和参照完整性约束(外键在其它关系表中是否存在);删除元组时,需要判断参照完整性约束(外键可以为空,但不能删除主键作为外键存在于其它关系表中的元组)。( 2005 年 5 月题 2 问 3 ) 6. 通过说明,写出一个关系模式的所有属性。 在写属性时,除了需要考虑实体本身的属性,还得考虑与它与其它关系模式的联系,既是否需要添加一个外键和联系属性。( 2005 年 11 月题 2 问 1 ) 7. 根据说明和关系模式,画出实体联系图。 先根据关系模式中的属性联系,画出基本的 E-R 图,然后再根据文字说明进行修改。联系的类型可通过提问确定 A 是否就能确定 B ?(不加任何条件)来判断。如果是,则 B 边为 1 ,否则 B 边为 n ,同理也可推出 A 边的数字。(注意的地方:如果一个关系模式中有一个属性为外键,通过该属性联系的关系模式,不一定就是该属性为主键的关系模式,可能是其它也以该属性为外键的关系模式。这需要通过说明和简单逻辑来进行判断。 )( 2005 年 11 月题 2 问 2 , 2006 年 5 月题 3 问 1 )
个人分类: 项目开发|3507 次阅读|5 个评论
SQL语句
guodanhuai 2009-12-30 16:16
select code,name, org_lon,org_lat,sum(bytes) as bytes,sum(visitors) as visitors from public.sdb_ac where code in (select DISTINCT code from public.sdb_ac) group by code,name, org_lon,org_lat ;
个人分类: Technology|3570 次阅读|0 个评论
<数据库原理与技术>再版前言
求新 2009-3-30 10:50
  由中国水利水电出版社出版的<数据库原理与技术(第二版)>一书已经出版发行。该书列入21世纪精品教材系列,属于湖北省自学考试委员会指定教材。以下为该书内容提要与再版序言。 内 容 提 要 本书较系统、全面地叙述了数据库系统的基本概念、基本原理和基本方法。内容包括数据库概念,数据模型,存储结构,关系数据理论和关系数据库的基本概念,SQL语言,数据库应用系统设计,SQL Server与ORACLE数据库的基本知识与开发方法。还介绍了C/S与B/S模式,数据库保护,数据仓库,数据挖掘,分布式数据库和面向对象数据库等知识。为方便自学,并迅速学会数据库应用系统的开发方法,随书在出版社网站中将公开发布PowerPoint教学幻灯片,部件库最小系统(局域网版),数据库试题库。 本书可作为高等院校应用类型本、专科及在职职工学习数据库理论与技术的教材,也可供研究生和从事计算机工作的科技工作者参考。 再版序言 数据库是设计与建立管理信息系统的主要支撑,而管理信息系统是计算机应用最主要内容之一。学习数据库的目的,除了学习其思想、方法之外,还要掌握它在管理信息系统中应用的理论与方法。要学好数据库,也必须与管理信息系统建设密切联系,由管理信息系统的需求分析其对数据库技术的要求;联系管理信息系统的设计讨论应用数据库的方法;从管理信息系统的构成看数据库的组成与结构;根据管理信息系统的发展研究数据库的进步等等。孤立地讲述数据库的概念、方法与技术会大大减少这门课程的价值,会使其理论变得枯燥无味与难以理解,会出现理论与实践相脱离的弊病。。 本书第一版问世以来,得到了广大读者的肯定,不少读者还提出了许多有益的建议,为新版的编写打下良好基础,我们深表感谢。第一版教材基于VFP组织教学,使用了整整一章介绍VFP的界面及句法语法知识。其目的是希望借VFP的简单、易学但又是一种基本具备关系数据库特征的数据库系统等等特性帮助组织教学,将数据库的学习和实际应用系统设计的理论与技术比较紧密地结合起来,加深读者对数据库概念与方法的理解,了解数据库的应用,使学有目的、学有所用。应当说,VFP在我国数据库历史中是具有重要地位的,在相当一段时间内,它及其前身是大众主要使用的数据库,为数据库技术的启蒙、传播、推广、应用发挥了极大作用。一直到现在,许多工作人员都能使用甚至利用VFP设计简单的应用系统,表现了他们具有相当的数据库方面的知识与能力,从一个侧面证明了当时教学内容与教学方法的成功。在将来,VFP应当还会在数据库的大家族里占有一席之地。数据管理从机器语言到文件、到数据库、到关系数据库,还将发展生成许多种新的或专门的数据库。VFP是其中一种特殊的不完全的数据库。它结构简单、使用方便、汉化程度高,将开发语言嵌入到数据库之中,使得易学、易用、易开发,在单机桌面系统建设中具有明显优势。如果说类似于EXCEL这样的基于文件系统的数据处理工具还在、也还会继续广泛使用的话,VFP毕竟是较文件系统高一级的系统工具,由于其相对其他大型数据库的学习门槛低、成本低、差不多是无环境要求、在我国有深厚的技术沉淀等这些特点,也一定还会有广阔的应用空间与市场。 但是,VFP毕竟只是基于单机而设计的,安全性、数据共享能力差,其语言简单且不严密,与目前普遍使用的大、中型数据库存在许多不同。由于数据库课程学时数普遍紧张,为突出数据库理论与技术的教学,提高教学层次,本书再版时删除了涉及VFP语法、句法等有关章节的内容。为了保证教学质量,求取好的教学效果,本书再版时一方面加强原书SQL Server与Oracle二种数据库管理系统软件的教学内容,突出在网络环境中数据库的应用研究,作为全书应用部分的主线。希望加强基于SQL Server、Oracle的实验教学,开展例如涉及数据库与数据表的设计与管理、SQL语句及内嵌语言的应用、数据完整性与安全性保护、备份与恢复等方面的实验。这些内容既扩展了数据库的基本理论与技术,也使数据库理论教学落实到实践之中。为了保持原版风格,重于教学工具的使用,我们将在出版社网站上推出部件库最小系统(局域网版),利用部件库最小系统组织实验教学。 部件库最小系统是在我们本书第一版中发行的光盘中框架性软件(查询部件与涉及维护表单公用件)的基础上发展起来的。目前公开发布的版本仍然基于VFP。但将之用于数据库教学,可以不要求学习VFP,可以不懂VFP的语法与句法,只要求安装VFP6.0系统软件,除了在SQL Server 2000或其他具有ODBC接口的数据库上的操作之外,所有实验与应用都可以脱离VFP界面进行。可以利用该系统在几分钟到几十分钟的时间里搭建一个局域网上的功能比较齐全的管理系统,这个系统将能拥有各种各样的与极为丰富的数据录入与维护的程序、有能足够满足需要的各种各样查询程序、多种数据处理程序、各种数据导入或导出的通信程序、多种打印与图形输出程序。可以让学生联系具体应用系统需求实地认识数据冗余、共享、数据独立性、各类数据完整性及数据完整性保护、关键字、视图、数据安全、SQL语言及其应用、数据表结构及其对系统设计的影响、代码表与派生数据及其处理等基本概念、基本理论与基本方法。可以让学生结合数据库设计实地开发应用系统,通过操作去分析数据库设计的正确性与合理性,更深入切实地掌握数据库设计的理论与方法,从而大大提高数据库的学习质量与动手能力。 书中部分章、节前加有*号,可作为选讲或选学内容。 软部件是应用系统中由原子构件组成的能独立完成一项工作的具有自适应与即插即用特性的通用程序模块。随着部件与构件技术的发展,在管理信息系统建设时,参与原始代码设计的人员将减少,大部分开发人员的主要工作将集中到数据库设计、应用系统结构研究、系统扩展与维护等工作上来,我们希望数据库课程的教学内容与方法能与这一发展过程相适应。我们目前的研究还处于早期阶段,缺点与错误在所难免,希望广大读者多提宝贵意见。 为配合教学,我们还将配合本书在出版社网站上公开发布教学幻灯片、数据库的试题库系统等。 本书由程学先、程传慧主编,参加编写的有曾玲、郑秋华、陈永辉、杨晓艳等。程传慧承担第1、2章、曾玲承担第3、4章、陈永辉承担第5、6章、郑秋华承担第7、8章、杨晓艳承担第9章的编写及相应章节教学幻灯片设计与试题设计,程学先、程传慧负责全书统稿与修改,程学先、程传慧、王莉、程传庆等承担部件库最小系统等软件程序设计。林姗、刘伟、胡显波、赵岚、江南、肖模艳、龚晓明、王富强、陈义、史函、刘玲玲、熊晓菁、童亚拉、周金松、祝苏薇、王嘉、黎柳柳、苏艳、蒋慧婷、陈莉、谌章恒、高霞、张军、赵普、高霞、钱涛、张俊、李珺等参加了本书编审与软件设计等工作,特此表示感谢。 作者说明:由于工作量过大,本书的电子资源(试题库系统、电子课件,部件库最小系统(网络版))尚未完成,将延期到下月发布。如果给读者带来不变,特此致歉。
个人分类: 生活点滴|5278 次阅读|0 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-23 13:37

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部