datalist,keygen,output三种无素。
1.datalist元素
datalist元素规定输入域的选项列表。
列表是通过datalist内的option元素创建的。
如需把datalist绑定到输入域,请用输入域的list属性引用datalist的id。
2.keygen元素
keygen元素的作用是提供一种验证用户的可靠方法。
keygen元素是密钥对生成器(key-pairgenerator)。当提交表单时,会生成两个键,一个是私钥,一个公钥。
私钥(privatekey)存储于客户端,公钥(publickey)则被发送到服务器。公钥可用于之后验证用户的客户端证书(clientcertificate)。
3.output元素
output元素用于不同类型的输出,比如计算或脚本输出。
根据具体问题类型,进行步骤拆解/原因原理分析/内容拓展等。
具体步骤如下:/导致这种情况的原因主要是……
除非最终检索它们并利用它们来做点事情,否则将记录放入数据库没什么好处。这就是SELECT语句的用途,即帮助取出数据。SELECT大概是SQL语言中最常用的语句,而且怎样使用它也最为讲究;用它来选择记录可能相当复杂,可能会涉及许多表中列之间的比较。本节介绍Select语句关于查询的最基本功能。
SELECT语句的语法如下:
SELECTselection_list选择哪些列
FROMtable_list从何处选择行
WHEREprimary_constraint行必须满足什么条件
GROUPBYgrouping_columns怎样对结果分组
HAVINGsecondary_constraint行必须满足的第二条件
ORDERBYsorting_columns怎样对结果排序
LIMITcount结果限定
注意:所有使用的关键词必须精确地以上面的顺序给出。例如,一个HAVING子句必须跟在GROUPBY子句之后和ORDERBY子句之前。
除了词“SELECT”和说明希望检索什么的column_list部分外,语法中的每样东西都是可选的。有的数据库还需要FROM子句。MySQL有所不同,它允许对表达式求值而不引用任何表。
查询特定行:
mysqlSELECT*FROMpetWHEREname="Bowser";
其结果为:
+--------+-------+---------+------+------------+------------+
|name|owner|species|sex|birth|death|
|Bowser|Diane|dog|m|1990-08-31|1995-07-29|
你可以对照前一个例子来验证。
进行表达式计算
前面的多数查询通过从表中检索值已经产生了输出结果。MySQL还允许作为一个公式的结果来计算输出列的值。表达式可以简单也可以复杂。下面的查询求一个简单表达式的值(常量)以及一个涉及几个算术运算符和两个函数调用的较复杂的表达式的值。例如,计算Browser生活的天数:
mysqlSELECTdeath-birthFROMpetWHEREname="Bowser";
其结果是:
+-------------+
|death-birth|
|49898|
由于MySQL允许对表达式求值而不引用任何表。所以也可以这样使用:
mysqlselect(2+3*4.5)/2.5;
+---------------+
|(2+3*4.5)/2.5|
|6.200|
条件查询
不必每次查询都返回所有的行记录,你能从你的表中只选择特定的行。为此你需要使用WHERE或者HAVING从句。HAVING从句与WHERE从句的区别是,HAVING表达的是第二条件,在与其他从句配合使用,显然不能在WHERE子句中的项目使用HAVING。因此本小节紧介绍WHERE从句的使用,HAVING从句的使用方法类似。另外WHERE从句也可以实现HAVING从句的绝大部分功能。
为了限制SELECT语句检索出来的记录集,可使用WHERE子句,它给出选择行的条件。可通过查找满足各种条件的列值来选择行。
WHERE子句中的表达式可使用表1中的算术运算符、表2的比较运算符和表3的逻辑运算符。还可以使用圆括号将一个表达式分成几个部分。可使用常量、表列和函数来完成运算。在本教程的查询中,我们有时使用几个MySQL函数,但是MySQL的函数远不止这里给出的这些。请参阅附录一,那里给出了所有MySQL函数的清单。
输出证实出生年份现在正确记录为1990,而不是1909。
字符串比较通常是大小些无关的,因此你可以指定名字为"bowser"、"BOWSER"等等,查询结果将是相同的。
你能在任何列上指定条件,不只是name。例如,如果你想要知道哪个动物在1998以后出生的,测试birth列:
mysqlSELECT*FROMpetWHEREbirth="1998-1-1";
+----------+-------+---------+------+------------+-------+
|Chirpy|Gwen|bird|f|1998-09-11|NULL|
|Puffball|Diane|hamster|f|1999-03-30|NULL|
你能组合条件,例如,找出雌性的狗:
mysqlSELECT*FROMpetWHEREspecies="dog"ANDsex="f";
+-------+--------+---------+------+------------+-------+
|Buffy|Harold|dog|f|1989-05-13|NULL|
上面的查询使用AND逻辑操作符,也有一个OR操作符:
mysqlSELECT*FROMpetWHEREspecies="snake"ORspecies="bird";
|Whistler|Gwen|bird|NULL|1997-12-09|NULL|
|Slim|Benny|snake|m|1996-04-29|NULL|
AND和OR可以混用。如果你这样做,使用括号指明条件应该如何被分组是一个好主意:
mysqlSELECT*FROMpetWHERE(species="cat"ANDsex="m")
-OR(species="dog"ANDsex="f");
|Claws|Gwen|cat|m|1994-03-17|NULL|
查询排序
使用ORDERBY子句对查询返回的结果按一列或多列排序。ORDERBY子句的语法格式为:
ORDERBYcolumn_name[ASC|DESC][,…]
其中ASC表示升序,为默认值,DESC为降序。ORDERBY不能按text、text和image数据类型进行排序。另外,可以根据表达式进行排序。
例如,这里是动物生日,按日期排序:
mysqlSELECTname,birthFROMpetORDERBYbirth;
+----------+------------+
|name|birth|
|Buffy|1989-05-13|
|Fang|1990-08-27|
|Bowser|1990-08-31|
|Fluffy|1993-02-04|
|Claws|1994-03-17|
|Slim|1996-04-29|
|Whistler|1997-12-09|
|Chirpy|1998-09-11|
|Puffball|1999-03-30|
为了以逆序排序,增加DESC(下降)关键字到你正在排序的列名上:
mysqlSELECTname,birthFROMpetORDERBYbirthDESC;
你能在多个列上排序。例如,按动物的种类排序,然后按生日,首先是动物种类中最年轻的动物,使用下列查询:
mysqlSELECTname,species,birthFROMpetORDERBYspecies,birthDESC;
+----------+---------+------------+
|name|species|birth|
|Chirpy|bird|1998-09-11|
|Whistler|bird|1997-12-09|
|Claws|cat|1994-03-17|
|Fluffy|cat|1993-02-04|
|Bowser|dog|1990-08-31|
|Fang|dog|1990-08-27|
|Buffy|dog|1989-05-13|
|Puffball|hamster|1999-03-30|查询分组与行计数
GROUPBY从句根据所给的列名返回分组的查询结果,可用于查询具有相同值的列。其语法为:
GROUPBYcol_name,….
你可以为多个列分组。
例如:
mysqlSELECT*FROMpetGROUPBYspecies;
+----------+--------+---------+------+------------+-------+
|Fluffy|Harold|cat|f|1993-02-04|NULL|
由以上结果可以看出:
查询显示结果时,被分组的列如果有重复的值,只返回靠前的记录,并且返回的记录集是排序的。这并不是一个很好的结果。仅仅使用GROUPBY从句并没有什么意义,该从句的真正作用在于与各种组合函数配合,用于行计数。
1、COUNT()函数计数非NULL结果的数目。
你可以这样计算表中记录行的数目:
mysqlselectcount(*)frompet;
+----------+
|count(*)|
|9|
计算sex为非空的记录数目:
mysqlselectcount(sex)frompet;
+------------+
|count(sex)|
|8|
现在配合GROUPBY从句使用。
例如:要知道每个主人有多少宠物
mysqlSELECTowner,COUNT(*)FROMpetGROUPBYowner;
+--------+----------+
|owner|COUNT(*)|
|Benny|2|
|Diane|2|
|Gwen|3|
|Harold|2|
又如,每种宠物的个数:
mysqlSELECTspecies,count(*)FROMpetGROUPBYspecies;
+---------+----------+
|species|count(*)|
|bird|2|
|cat|2|
|dog|3|
|hamster|1|
|snake|1|
如果你除了计数还返回一个列的值,那么必须使用GROUBY语句,否则无法计算记录。例如上例,使用GROUPBY对每个owner分组所有记录,没有它,你得到的一切是一条错误消息:
mysqlSELECTowner,COUNT(owner)FROMpet;
ERROR1140atline1:MixingofGROUPcolumns(MIN(),MAX(),COUNT()...)
withnoGROUPcolumnsisillegalifthereisnoGROUPBYclause
也可以根据多个列分组,例如:
按种类和性别组合的动物数量:
mysqlSELECTspecies,sex,COUNT(*)FROMpetGROUPBYspecies,sex;
+---------+------+----------+
|species|sex|COUNT(*)|
|bird|NULL|1|
|bird|f|1|
|cat|f|1|
|cat|m|1|
|dog|f|1|
|dog|m|2|
|hamster|f|1|
|snake|m|1|
|Slim|snake|1996-04-29|
注意DESC关键词仅适用于紧跟在它之前的列名字(birth);species值仍然以升序被排序。注意,输出首先按照species排序,然后具有相同species的宠物再按照birth降序排列。
查询多个表
查询多个表,FROM子句列出表名,并用逗号分隔,因为查询需要从他们两个拉出信息。
当组合(联结-join)来自多个表的信息时,你需要指定在一个表中的记录怎样能匹配其它表的记录。这很简单,因为它们都有一个name列。查询使用WHERE子句基于name值来匹配2个表中的记录。
因为name列出现在两个表中,当引用列时,你一定要指定哪个表。这通过把表名附在列名前做到。
现在有一个event表:
mysqlselect*fromevent;
+----------+------------+----------+-----------------------------+
|name|date|type|remark|
|Fluffy|1995-05-15|litter|4kittens,3female,1male|
|Buffy|1993-06-23|litter|5puppies,2female,3male|
|Buffy|1994-06-19|litter|3puppies,3female|
|Chirpy|1999-03-21|vet|neededbeakstraightened|
|Slim|1997-08-03|vet|brokenrib|
|Bowser|1991-10-12|kennel|NULL|
|Fang|1991-10-12|kennel|NULL|
|Fang|1998-08-28|birthday|Gavehimanewchewtoy|
|Claws|1998-03-17|birthday|Gavehimanewfleacollar|
|Whistler|1998-12-09|birthday|Firstbirthday|
同样方法也可用于同一张表中,你不必有2个不同的表来执行一个联结。如果你想要将一个表的记录与同一个表的其他记录进行比较,联结一个表到自身有时是有用的。例如,为了在你的宠物之中繁殖配偶,你可以用pet联结自身来进行相似种类的雄雌配对:
mysqlSELECTp1.name,p1.sex,p2.name,p2.sex,p1.species
-FROMpetASp1,petASp2
-WHEREp1.species=p2.speciesANDp1.sex="f"ANDp2.sex="m";
+--------+------+--------+------+---------+
|name|sex|name|sex|species|
|Fluffy|f|Claws|m|cat|
|Buffy|f|Fang|m|dog|
|Buffy|f|Bowser|m|dog|
你可以找一些网页特效软件,上面的功能很丰富
比如网页特效梦工厂什么的
Html
Head
title跟随鼠标的滚动文字/title
/Head
BodybgColor="#ffffff"
!--将以下代码加入HTML的Body/Body之间--
scriptlanguage="JavaScript1.2"
varscroller_msg='祝你生日快乐'
vardismissafter=0
varinitialvisible=0
if(document.all)
document.write('marqueeid="curscroll"style="position:absolute;width:150px;border:1pxsolid#FF8000;font-size:14pt;font-family:MSSansSerif;color:#000000;background-color:#0000FF;visibility:hidden"'+scroller_msg+'/marquee')
functionfollowcursor(){
//movecursorfunctionforIE
if(initialvisible==0){
curscroll.style.visibility="visible"
initialvisible=1
}
curscroll.style.left=document.body.scrollLeft+event.clientX+10
curscroll.style.top=document.body.scrollTop+event.clientY+10
functiondismissmessage(){
curscroll.style.visibility="hidden"
if(document.all){
document.onmousemove=followcursor
document.ondblclick=dismissmessage
if(dismissafter!=0)
setTimeout("dismissmessage()",dismissafter*1000)
//--
/script
/Body
/Html
在软件上看的,可以随着鼠标滚动
祝你兄弟生日快乐!
又及:这样的礼物是不是寒碜了点?
在这里推荐你用ipresst,这是腾讯前端团队AlloyTeam最近推出的一个HTML5在线幻灯片制作网站,它让每个人都可以很方便地制作上很酷很帅气的在线幻灯片,这个网站可以说是一个在线版的PPT,所有的操作都可以在网页上进行,。在播放时“所有的内容都铺在一张大纸上,然后通过放大和缩小切换画面,就像一个上帝在俯视一切的感觉,并且这个幻灯片仅在浏览器上就能直接播放。”