MS的一部分,由它决定对指定数据存取的最快速度的手段,查询优化器知道存在什么索引,在哪儿使用索引合适,而用户则从不需要知道表是否有索引、有什么类型的索引。
统一的语言:SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、应用程序员、决策支持系统人员及许多其它类型的终端用户。
SQL为许多任务提供了命令,其中包括:
(1)查询数据
(2)在表中插入、修改和删除记录
(3)建立、修改和删除数据对象
(4)控制对数据和数据对象的存取
(5)保证数据库一致性和完整性
以前的数据库管理系统为上述各类操作提供单独的语言,而SQL将全部任务统一在一种语言中。
所有关系数据库的公共语言:由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS(关系数据库管理系统)转到另一个,所有用SQL编写的程序都是可以移植的。
2.4.2SQL语句
SQL功能强大,是一种完备的数据处理语言,不仅用于数据库查询,而且用于数据库中的数据修改和更新,概括起来,它可以分成以下几组:
DML(DataManipulationLanguage,数据操作语言):用于检索或者修改数据;
DDL(DataDefinitionLanguage,数据定义语言):用于定义数据的结构,比如创建、修改或者删除数据库对象;
DCL(DataControlLanguage,数据控制语言):用于定义数据库用户的权限。
DML组可以细分为以下的几个语句:
SELECT:用于检索数据;
INSERT:用于增加数据到数据库;
UPDATE:用于从数据库中修改现存的数据;
DELETE:用于从数据库中删除数据。
DDL语句可以用于创建用户和重建数据库对象。下面是DDL命令:
CREATETABLE,ALTERTABLE,DROPTABLE,CREATEINDEX,DROPINDEX数据定义语言DDL:它是用来创建和修改数据库结构的一种语句,包括Create、Alter和Drop语句。
数据操作语言DML:包括数据查询与数据更新。数据查询主要是由Select语句完成,这一点不再描述。而数据更新所造成的风险大大超过数据查询。数据库管理系统必须在更改期内保护所存储的数据的一致性,确保有效的数据进入数据库,数据库必须保持一致性,DBMS还必须协调多用户的并行更新,以确保用户和它们的更改不至于影响其它用户的作业。
用于修改数据库内容的SQL语句主要有以下三个:
(1)Insert,向一个表中加入新的数据行
(2)Delete,从一个表中删除数据行
(3)Update,更改数据库中已经存在的数据
Insert标准语法:INSERTINTOtablename(col1,col2...)VALUES(value1,value2...)。Insert语句还可以将多行数据添加到目标表中去,在这种形式的Insert语句中,新行的数据值不是在语句正文中明确地指定的,而是语句中指定的一个数据库查询。添加的值来自数据库自身的行,在某些特定的状态下,这是非常有用的。多行Insert语句为拷贝数据提供了一种紧凑而高效的方法。
Update语句用于更新单表中选定行的一列或多列的值。要更新的目标表在语句中定义,Set子句则指定要更新哪些列并计算它们的值。Update语句总是包含Where语句,而且Update语句比较危险,所以必须明确地认识到Where语句的重要性,Where语句被用来指定需要更新的行。
标准语法:
UPDATEtablename
SETcolumnname1=value1
[,columname2=value2]...
WHEREsearchcondition
Delete语句标准语法:
DELETEFROMtablenameWHEREcondition
第三章详细设计
楼宇智能化工程技术专业网站,由五个部分组成:
文章发布系统、论坛系统、留言系统、在线调查、网站计数、流量统计系统。
3.1信息发布系统
一、功能:
1.可以按照文章标题和文章内容两种方式查找新闻
2.支持图片新闻,无组件上传图片到数据库
3.可显示相关新闻,可统计每篇文章浏览次数
4.分级管理功能,用户分为4个级别(超级管理员,管理员,审核员,各版面的信息录入员)
5.在线管理新闻,版面专栏随意修改添加
6.有文章审核功能(管理员可以设定是否开放该功能)
7.有新闻评论功能(管理员可以设定是否开放该功能)
8.全部新闻列表由javascript输出,所以显示新闻列表页面可以为(*.html*.htm*.asp)等格式
二、管理
为了安全,请管理员登陆后马上更改密码
网站管理入口:login.asp 用户名/密码:admin/admin
具体程序为:
<%optionexplicit%>
<%
ifsession("purview")=""then
response.write"错误!!您没有权限或者连接超时,请重新登陆."%>
登陆
<%response.end
endif
dimisedit'是否在修改状态
dimcolor'表格颜色
dimsql,rs,rsc
dimborder
dimborderid,bordername
dimnumber'每页显示的文章数目
dimauditer'审核员是否有编辑文章的权限
dimarticlefrom'文章来源
dimstatus'新文章添加时的状态
dimcurpage,i,page
border=""
color=1
functioninvert(str)
invert=replace(replace(replace(replace(str,"<","<"),">",">"),"",chr(13)),"","")
endfunction
ifsession("purview")<"99998"then'检查录入员是否有操作该版面的权限
ifnotcstr(request("typeid"))=cstr(session("purview"))then
response.write"错误!!您没有权限或者连接超时,请重新登陆."%>
登陆
<%response.end
endif
endif
setrs=server.createobject("adodb.recordset")'查找每页显示文章数目,审核员权限,文章来源,新文章添加时的状态
rs.open"select*fromnews_parameterwhereparameterid=1",conn,1,1
ifnotrs.bofandnotrs.eofthen
number=rs("newsnumber")
articlefrom=rs("articlefrom")
status=rs("newsstatus")
ifrs("auditer")=1then
auditer=1
else
auditer=0
endif
else
number=5'默认值
auditer=0
articlefrom=""
status=0
endif
rs.close
setrs=nothing
isedit=false
ifrequest("action")="edit"then
isedit=true
endif
ifrequest("bordername")="无专栏文章"andrequest("typeid")<>""then'查找无专栏文章所属的type
setrs=server.createobject("adodb.recordset")
rs.open"select*fromborderwherebordername='无专栏文章'andtypeid="&cstr(request("typeid")),conn,1,1
ifnotrs.bofandnotrs.eofthen
borderid=cstr(rs("borderid"))
endif
rs.close
setrs=nothing
else
borderid=cstr(request("borderid"))
endif
ifrequest("isaudit")="ok"then'*******通过审核**********
sql="updatenewssetaudit=1"&",auditer='"&cstr(session("name"))&"'wherenewsid="&cstr(request("newsid"))
conn.executesql
endif
ifrequest("isaudit")="cancel"then'*******取消审核**********
sql="updatenewssetaudit=0"&",auditer='"&cstr(session("name"))&"'wherenewsid="&cstr(request("newsid"))
conn.executesql
endif
ifrequest("action")="del"then'*****************删除文章******************
sql="deletefromnewswherenewsid="&cstr(request("newsid"))
conn.executesql
sql="deletefromreviewwherenewsid="&cstr(request("newsid"))
conn.executesql%>
msgbox"操作成功!!该内容及相关评论已删除!"
<%endif
%>
文章管理
functionSureDel(id,td,bd)
{
if(confirm("警告!如果您删除了该文章,该文章相关的评论将被删除!!是否继续?"))
{
window.location.href="newsmanage.asp?action=del&newsid="+id+"&typeid="+td+"&borderid="+bd
}
}
<%
setrs=server.createobject("adodb.recordset")
rs.open"select*fromnewswhereborderid="&cstr(borderid)&"orderbyntimedesc",conn,1,1
iferr.number<>0then
response.write"数据库出错"
else
ifrs.bofandrs.eofthen
rs.close
response.write"该专栏目前没有文章"
else
%>
文章标题
加入时间
状态
最后修改
最后审核
操作
<%
ifrequest("page")=""then
curpage=1
else
curpage=cint(request("page"))
endif
rs.pagesize=cint(number)
rs.absolutepage=curpage
fori=1tors.pagesize
%>
response.write"#ffffff"
else
response.write"#ffffff"
endif%>">"target=_blank><%=rs("topic")%>
response.write"#ffffff"
else
response.write"#ffffff"
endif%>">
<%=rs("ntime")%>
response.write"#ffffff"
else
response.write"#ffffff"
endif%>">
<%ifrs("audit")=1then
response.write"已审核"
else
response.write"未审核"
endif%>
response.write"#ffffff"
else
response.write"#ffffff"
endif
上一篇:ASP校园网物品交易平台(论文和程序)
下一篇:初中团支部学期工作总结