共 19篇 前 4 页:    每页5篇 上一页   下一页  

数据库DB

   有些情况下我们需要转换原有的数据到新table中, 但因为新表中有唯一关键字或索引, 常常因为存在重复记录而导致转换失败

用以上sql语句可以实现:
select fieldname from table_1 group by fieldname having count(*) > 1 ;
  
  将count()函数放在having计算出每一个组的记录个数,如果该组的记录个数大于 1,则说明fieldname存在重复情况 (可以同时查看多个字段重复记录)

说明:Having和Where子句意义差不多,都是在其中加入查询条件, 区别是where用于查询整张表的所有字段, 而having中的查询只能用到group by中出现的字段,并且条件的判断是其于组中的记录.所以以上having count(*) 是计算每个组的记录个数

再举一个特别例子:
select fieldname from table_1 group by fieldname having fieldname in ('a', 'b');
以上也是正确的,只要having后面出现的条件查询用到的字段属于group by中的就行.

以上是所有odbc标准支持的聚集函数:(根据后台所用数据库不同有可能有更多的增强函数)
sum() 求和
max() 最大值
min()  最小值
avg() 平均数
count() 求记录个数
weiking   2006-08-23 08:38:00 阅读:563  评论:1  引用:0
庆祝华夏黑客建站三周年,免费教学课程四次,俺有幸赶上了最后一次
以下是"网站漏洞"的笔记概要,理解不透彻,仅供记忆之用。

一、经典漏洞
   'or' '='
    这样的漏洞解决起来也是比较容易的,过滤用户名和密码即可,不过也常常被忽视。

二、验证用户权限漏洞
   cookies保存在本地机子上记录用户的一些信息,顾在本地可以进行恶意修改
   session保存在服务器上,较占用服务器资源。
    防止此类漏洞的办法是进行双重验证。

三、垮站攻击漏洞
   例子:<script>alert("test only alert dialog box")</script>
     这仅仅是弹出一对话框,可想而知,挂马或者跳转其他站点便很容易实现。
     此类漏洞如被黑客利用,后果很严重,首先受害者是浏览网页的用户。
   解决方案:过滤 < > % ASCⅡ码等,简单的也可以通过限制表单长度解决。

四、注入攻击漏洞
   http://www.*****.com/edit.asp?id=8
    edit.xxx? xxx=???
     '        判定是否出错
   ' and 1=1  
     ' and 1=2   通过后俩个看其页面是否相同,如1正常,2不正常,则可断定有注入点。

   ../union select 1,2,3,4,5,6,7 form admin 直接对数据进行查询

    防止这样的漏洞是过滤 ' " 及ASCⅡ码。

五、数据库漏洞
     1、防下载没有做好
          <% %>
              对于一些.asp和.php网站来说, ../date/#difedate.asp
                可以  ../date/%23difedate.asp
         2、利用跨漏洞写shell
                如写蓝屏木马

总结:所谓漏洞,就是不易被发觉的弱点,想成功入侵可不是件容易的事,教程之类也只是说说而已,多为理论,不可不看,也不可多看,关键还是靠自己去多钻研测试。笔记记的较粗略,不过也说明了基本问题,感兴趣的慢慢领悟吧。
weiking   2006-06-11 23:05:47 阅读:1241  评论:2  引用:0
〖摘要:〗
点此下载ppt教程

第13章  关系数据库标准语言SQL
SQL是Structured Query Language的缩写,即结构化查询语言。它是关系数据库的标准语言。查询是SQL语言的重要组成部分,SQL还包含数据定义、数据操作和数据控制功能等内容。SQL已经成为关系数据库的标准数据语言,所以现在所有的关系数据库管理系统都支持SQL。掌握SQL语法可以更加灵活地建立查询和视图。
13.1  SQL简介  
SQL语言来源于20世纪70年代IBM的一个被称为SEQUEL(Structured English Query Language)的研究项目。20世纪80年代,SQL由ANSI进行了标准化,它包括了定义和操作数据的指令。由于它具有功能丰富、使用方式灵活、语言简洁易学等突出特点,在计算机界深受广大用户欢迎,许多数据库生产厂家都相继推出各自支持SQL标准。1998年4月,ISO提出了具有完整性特征的SQL,并将其定为国际标准,推荐它为标准关系数据库语言。1990年,我国也颁布了《信息处理系统数据库语言SQL》,将其定为中国国家标准。
13.1.1  SQL语言的主要特点
(1)一体化语言。SQL提供了一系列完整的数据定义、数据查询、数据操作和数据控制等方面的功能。用SQL可以实现数据库生命周期中的全部活动,包括简单地定义数据库和表的结构,实现表中数据的录入、修改、删除、查询和维护,数据库重构、数据库安全控制等一系列操作要求。
(2)高度非过程化。SQL和其他数据操作语言不同,SQL是一种非过程性语言,它不必一步步地告诉计算机“如何”去做,用户只需说明做什么操作,而不用说明怎样做,不必了解数据存储的格式及SQL命令的内部,就可方便地对关系数据库进行操作。
(3)语言简洁。虽然SQL的功能很强大,但语法却很简单,只有为数不多的几条命令。表13.1给出了分类的命令动词,从该表可知,它的词汇很少。初学者经过短期的学习就可以使用SQL进行数据库的存取等操作,因此,易学易用是它的最大特点。
(4)统一的语法结构对待不同的工作方式。SQL语言可以直接在VFP的命令窗口以人机交互的方式使用,也可嵌入到程序设计中以程序方式使用,比如,SQL语言写在.PRG文件中也能运行。在书写的时候,如果语句太长,可以用“;”号换行。现在很多数据库应用开发工具都将SQL语言直接融入到自身的语言之中,使用起来更方便,VFP就是如此。这些使用方式为用户提供了灵活的选择余地。此外,尽管SQL的使用方式不同,但SQL语言的语法基本是一致的。
13.1.2  SQL语句的执行
SQL语句可以在命令窗口中执行,也可以作为查询或视图(的内容)被使用,还可以在程序文件被执行。
表13.1  SQL命令动词
——————————————————————
    SQL功能        命令动词
——————————————————————
    数据查询        SELECT
    数据定义        CREATE、DROP、ALTER
    数据操作        INSERT、UPDATE、DELETE
    数据控制        GRANT、REVOKE
——————————————————————
13.2  查询功能
数据库中最常见的操作是数据查询,也是SQL的核心。
13.2.1  SQL语法
SQL给出了简单而又丰富的查询语句形式,SQL的查询命令也称作SELECT命令,它的基本形式由SELECT-FROM-WHERE查询块组成,多个查询块可以嵌套执行。
格式:
    SELECT [ALL|DISTINCT][ TOP〈表达式〉 ]
      [ 〈别名〉 ] 〈Select表达式〉 [AS 〈列名〉 ][, [ 〈别名〉 ]
       〈Select表达式〉 [AS 〈列名〉 ]…]
      FORM[ 〈数据库名〉 !] 〈表名〉 [[AS]Local_Alias]
      [[INNER | LEFT [OUTER] | RIGHT [OUTER] | FULL [OUTER]
          JOIN[ 〈数据库名〉 !] 〈表名〉 [[AS]Local_Alias][ON〈联接条件〉 ]]
      [INTO 〈查询结果〉 |TO FILE 〈文件名〉 [ADDITIVE]
          | TO PRINTER [PROMPT] | TO SCREEN]
      [PREFERENCE PreferenceName][NOCONSOLE][PLAIN][NOWAIT]
      [WHERE 〈联接条件1〉 [AND 〈联接条件2〉…][AND | OR 〈筛选条件〉 …
]]
      [GROUP BY 〈组表达式〉 ][, 〈组表达式〉 …]]
      [HAVING ]〈筛选条件〉 ]
      [UNION [ALL] 〈SELECT命令〉 ]
      [ORDER BY 〈关键字表达式〉 [ASC |DESC] [, 〈关键字表达式〉
      [ASC |DESC]…]]
说明:SELECT-SQL命令的格式包括三个基本子句:SELECT子句、FROM子句、WHERE子句,还包括操作子句:ORDER子句、GROUP子句、UNION子句以及其他一些选项。
1.SELECT子句
SELECT子句用来指定查询结果中的数据。其中:
ALL选项:表示选出的记录中包括重复记录,这时缺省值;DISTINCT则表示选出的记录中不包括重复记录。
TOP〈表达式〉选项:表示在符合条件的记录中,选取指定数量或百分比(〈表达式〉)记录。[〈别名〉]〈Select表达式〉[AS〈列名〉]选项中的别名是字段所在的表名;〈Select表达式〉,可以是字段名或字段表达式;〈列名〉用于指定输出时使用的列标题,可以不同于字段名。
〈Select表达式〉用一个*号来表示时,指定所有的字段。
2.FROM子句
用于指定查询的表与联接类型。其中:
JOIN关键字用于联接其左右两个〈表名〉所指定的表。INNER | LEFT[OUTER] | RIGHT[OUTER] | FULL[OUTER]选项,指定两表联接时的联接类型,联接类型有4种,如表13.2所示。其中的OUTER选项,表示外部联接,即允许满足联接条件的记录,又允许不满足联接条件的记录。若省略OUTER选项,效果不变。
表13.2  联接类型
——————————————————————————————————
联接类型                 意义
——————————————————————————————————
Inner Join(内部联接)        只有满足联接条件的记录包含在结果中
Left Outer Join(左联接)     左表某记录与右表所有记录比较字段值,若有满足联接条件的,则产生一个真实记录;若都有满足,则产生一个含.NULL值的记录。直到右表所有记录都比较完
Right Outer Join(右联接)    右表某记录与左表所有记录比较字段值,若有满足联接条件的,则产生一个真实记录;若都不满足,则产生一个含.NULL值的记录。直到右表所有记录都比较完
Full Jion(完全联接)        先按右联接比较字段值,再按左联接比较字段值。不列入重复记录
—————————————————————————————————————
ON选项:用于指定联接条件。
INTO与TO选项:用于指定查询结果的输出去向,默认查询结果显示在浏览窗口中。INTO选项中的 〈查询结果〉 有3种,如表13.3所示。
13.3  查询结果
————————————————————
  目标                输出形式
—————————————————————
  ARRAY〈数组〉       查询结果输出到数组
  CURSOR〈临时表〉    查询结果输出到临时表
  TABLE | DBF〈表名〉    查询结果输出到表
—————————————————————
TO FILE选项:
表示输出到指定的文本文件,并取代原
继续阅读其余的  39066 字
weiking   2006-05-13 23:48:18 阅读:2600  评论:4  引用:0
jdk1.4

CLASSPATH=
.;
C:\java\j2sdk1.4.2_09\lib\dt.jar;
C:\java\j2sdk1.4.2_09\lib\htmlconverter.jar;
C:\java\j2sdk1.4.2_09\lib\tools.jar;
C:\java\j2sdk1.4.2_09\jre\lib\charsets.jar;
C:\java\j2sdk1.4.2_09\jre\lib\jce.jar;
C:\java\j2sdk1.4.2_09\jre\lib\jsse.jar;
C:\java\j2sdk1.4.2_09\jre\lib\plugin.jar;
C:\java\j2sdk1.4.2_09\jre\lib\rt.jar;
C:\java\j2sdk1.4.2_09\jre\lib\sunrsasign.jar

PATH=C:\java\j2sdk1.4.2_09\bin

JAVA_HOME=C:\java\j2sdk1.4.2_09


jdk1.5

CLASSPATH=
.;
C:\java\jdk1.5.0_06\lib\dt.jar;
C:\java\jdk1.5.0_06\lib\htmlconverter.jar;
C:\java\jdk1.5.0_06\lib\jconsole.jar;
C:\java\jdk1.5.0_06\lib\tools.jar;
C:\java\jdk1.5.0_06\jre\lib\charsets.jar
C:\java\jdk1.5.0_06\jre\lib\deploy.jar
C:\java\jdk1.5.0_06\jre\lib\javaws.jar
C:\java\jdk1.5.0_06\jre\lib\jce.jar
C:\java\jdk1.5.0_06\jre\lib\jsse.jar
C:\java\jdk1.5.0_06\jre\lib\plugin.jar
C:\java\jdk1.5.0_06\jre\lib\rt.jar

PATH=C:\java\jdk1.5.0_06\bin;

JAVA_HOME=C:\java\jdk1.5.0_06
weiking   2006-03-04 13:15:01 阅读:1472  评论:0  引用:0
〖摘要:〗
转自:动态网制作指南 www.knowsky.com

  以Tomcat作为JSP引擎,配合Tomcat、Apache、IIS这三种Web服务器来讲述3种搭建JSP运行环境的方案。

  一、相关软件介绍

  1、 J2SDK:Java2的软件开发工具,是Java应用程序的基础。JSP是基于Java技术的,所以配置JSP环境之前必须要安装J2SDK。

  2、 Apache服务器:Apache组织开发的一种常用Web服务器,提供Web服务。

  3、 Tomcat服务器:Apache组织开发的一种JSP引擎,本身具有Web服务器的功能,可以作为独立的Web服务器来使用。但是,在作为Web服务器方面,Tomcat处理静态HTML页面时不如Apache迅速,也没有Apache健壮,所以我们一般将Tomcat与Apache配合使用,让Apache对网站的静态页面请求提供服务,而Tomcat作为专用的JSP引擎,提供JSP解析,以得到更好的性能。并且Tomcat本身就是Apache的一个子项目,所以Tomcat对Apache提供了强有力的支持。对于初学者来说,Tomcat是一个很不错的选择。

  4、 mod_jk.dll:Apache组织Jakarta项目组开发的使Apache支持Tomcat的插件。有了这个插件,Tomcat能够和Apache进行无缝连接。

  5、 tc4ntiis.zip:Apache组织Jakarta项目组开发的使IIS支持Tomcat的插件。

  二、 软件下载

  1、j2sdk

  版本:j2sdk1.4.1(35.9MB)

  地址:http://java.sun.com/j2se/1.4.1/download.html

  2、Apache2

  版本:Apache2.0.43(6.69MB)

  地址:http://www.apache.inetcosmos.org/dist/httpd/binaries/win32/

  3、Tomcat4

  版本:4.1.21(8.33MB)

  地址:http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/

  4、mod_jk.dll: (136KB)

  地址:http://jakarta.apache.org/builds/jakarta-tomcat-connectors/jk/release/

  5、tc4ntiis.zip(220KB)

  地址:http://members.ozemail.com.au/~lampante/howto/tomcat/iisnt/tc4ntiis.zip

  以上均为免费软件。

  三、 配置前的准备

  (一)准备一个测试用的JSP网页

  打开文本编辑器,比如记事本,输入下列代码,并保存为test .jsp(注意扩展名为.jsp)。

<HTML>
<HEAD>
<TITLE>JSP测试页面</TITLE>
</HEAD>
<BODY>
<%out.println("<h1>Hello World! </h1>");%>
</BODY>
</HTML>

  (二)安装J2SDK

  不管哪种方案,在安装和配置JSP引擎之前必须先完成J2SDK的安装。

  1、安装J2SDK

  在Windows下,直接运行下载的j2sdk-1_4_1_01-windows-i586.exe文件,根据安装向导安装到一个目录,例如安装到f:\j2sdk 1.4.1;

  2、 添加环境变量

  (1)如果你的操作系统是Win 98,可以用记事本直接编辑Autoexec.bat,添加下面命令行:

PATH=%PATH%;f:\j2sdk1.4.1\bin
SET JAVA_HOME=f:\j2sdk1.4.1
SET CLASSPATH=f:\j2sdk1.4.1\lib\tools.jar

  保存后,重新启动计算机,这样所添加的环境变量才会有效。

  (2)如果你的操作系统是Win2000,那么按如下方式配置环境变量。右键单击"我的电脑",在弹出菜单中选择"属性"→"系统特性" →"高级" →"环境变量", 弹出环境变量对话框,就可以编辑系统的环境变量了。添加PATH、JAVA_HOME和CLASSPATH三个变量,变量值同上。

  四、 JSP环境的配置方案

  (一)方案一:J2SDK+Tomcat

  在这种方案里Tomcat既作为JSP引擎又作为Web服务器,配置比较简单。

  1、安装Tomcat

  直接运行下载的jakarta-tomcat-4.0.1.exe,按照一般的Windows程序安装步骤即可安装好Tomcat,安装时它会自动寻找J2SDK的位置。例如安装到f:\tomcat4。

  2、配置Tomcat的环境变量

  添加一个新的环境变量TOMCAT_HOME,变量值为f:\tomcat4,添加方法同J2SDK环境变量的配置方法。

  3、测试默认服务

  设置完毕后就可以运行Tomcat服务器了。用f:\tomcat4\bin\startup.exe启动Tomcat,用f:\tomcat4\bin\shutdown.exe关闭。(如果在执行startup.exe或shutdown.exe的时候提示Out of Environment Space错误,选择DOS 窗口的菜单中的"属性"→" 内存"→" 常规内存", 把"初始环境"由"自动"修改成"2816"就可以了。)

  启动Tomcat后,打开浏览器,在地址栏中输入http://localhost:8080(Tomcat默认端口为8080),如果在浏览器中看到Tomcat的欢迎界面,表示Tomcat工作正常。

  4、测试项目

  把刚才准备好的test.jsp放在f:\Tomcat\webapps\examples\jsp目录下, 在地址栏中输入http://localhost:8080/examples/jsp/test.jsp,如果浏览器中显示"Hello World!",则说明你的JSP环境配置成功了!

  由于Tomcat本身具有web服务器的功能,因此我们不必安装Apache,当然它也可以与Apache集成到一起,下面介绍。

  (二)方案二:J2SDK+Apache+Tomcat

  虽然Tomcat也可以作Web服务器,但其处理静态HTML的速度比不上Apache,且其作为Web服务器的功能远不如Apache,因此把Apache和Tomcat集成起来,用Apache充当Web服务器,而Tomcat作为专用的JSP引擎。这种方案的配置比较复杂,但是能让Apache和Tomcat完美整合,实现强大的功能。

  注意,因为IIS Web服务器默认使用80端口,而Apache的默认端口也是80,所以如果你使用的是Win2000操作系统,而且预装了IIS,为方便请在进行以下操作之前先将IIS服务停掉。

  1、安装Apache

  运行下载的apache_2.0.43-win32-x86-no_ssl.exe,按照向导安装到f:\Apache2。(注意,Apache2.0.43安装成功后,必须将f:\Apache2\htdocs目录下的index.html.en改名为index.html,这样在测试默认服务时才会正常显示Apache的欢迎界面)。

  2、测试Apache默认服务

  安装完后,Apache服务器就已经自动运行了。打开浏览器,在地址栏中输入:http://localhost (Tomcat默认端口为80),如果在浏览器中看到Apache的欢迎界面,说明Apache工作正常。

  3、 按照方案一的步骤安装Tomcat,并保证它正常运行。

  4、 将下载的mod_jk-2.0.42.dll复制到f:\Apache2\modules目录下。

  5、 建立mod_jk模块工作所需要的工作文件。

  打开文本编辑器,输入下列语句:

workers.tomcat_home=f:\tomcat4 (让mod_jk模块知道Tomcat)
workers.java_home=f:\j2sdk1.4.1 (让mod_jk模块知道JSDK)
ps=\
worker.list=ajp13 (mod_jk的模块版本)
worker.ajp13.port=8009 (mod_jk的工作端口)
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1

  把上面的语句以workers.properties为文件名保存在f:\Tomcat4\conf目录下(注意:文件的扩展名是.properties)。

  6、 配置Apache。

  用文本编辑器打开f:\Apache2\conf\httpd.conf

  1)找到"DirectoryIndex",在index.html.var后面再添加index.jsp;

  2)在httpd.conf的最后加入下面这段代码(括号里为解释)

LoadModule jk_module modules/mod_jk-2.0.42.dll
(装载mod_jk模块,用于处理Apache和Tomcat的连接)
JkWorkersFile "f:/tomcat4/conf/workers.properties"
(指出mod_jk模块工作所需要的工作文件workers.properties的位置)
JkMount /servlet/* ajp13
JkMount /*.jsp ajp13
(将所有servlet 和jsp请求通过Ajp13的协议送给Tomcat,让Tomcat来处理)

  3)添加完毕后保存。

  7、 配置Tomcat

  用文本编辑器打开f:\Tomcat4\conf\server.xml。因为Tomcat4默认不启用Ajp13,所以查找到如下这段代码:

<!--
<Connector className="org.apache.ajp.tomcat4.Ajp13Connector"
port="8009" minProcessors="5" maxProcessors="75" acceptCount="10" debug="0"/>
-->

  把注释符号<!-- --> 删掉就可以启用Ajp13了。

  然后保存,现在Tomcat和Apache的整合配置基本
继续阅读其余的  2085 字
weiking   2005-12-03 17:50:49 阅读:651  评论:0  引用:0
作者:admin
发表于:http://www.kfnet.cn/

(上篇)
有很多朋友虽然安装好了mysql但却不知如何使用它。在这篇文章中我们就从连接MYSQL、修改密码、增加用户等方面来学习一些MYSQL的常用命令。
一、连接MYSQL。
格式: mysql -h主机地址 -u用户名 -p用户密码
1、例1:连接到本机上的MYSQL。
首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>
2、例2:连接到远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:
mysql -h110.110.110.110 -uroot -pabcd123
(注:u与root可以不用加空格,其它也一样)
3、退出MYSQL命令: exit (回车)
二、修改密码。
格式:mysqladmin -u用户名 -p旧密码 password 新密码
1、例1:给root加个密码ab12。首先在DOS下进入目录mysqlbin,然后键入以下命令
mysqladmin -uroot -password ab12
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
2、例2:再将root的密码改为djg345。
mysqladmin -uroot -pab12 password djg345
三、增加新用户。(注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符)
格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"
例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令:
grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";
但例1增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见例2。
例2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。
grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";
如果你不想test2有密码,可以再打一个命令将密码消掉。
grant select,insert,update,delete on mydb.* to test2@localhost identified by "";

(下篇)
在上篇我们讲了登录、增加用户、密码更改等问题。下篇我们来看看MYSQL中有关数据库方面的操作。注意:你必须首先登录到MYSQL中,以下操作都是在MYSQL的提示符下进行的,而且每个命令以分号结束。

一、操作技巧
1、如果你打命令时,回车后发现忘记加分号,你无须重打一遍命令,只要打个分号回车就可以了。也就是说你可以把一个完整的命令分成几行来打,完后用分号作结束标志就OK。
2、你可以使用光标上下键调出以前的命令。但以前我用过的一个MYSQL旧版本不支持。我现在用的是mysql-3.23.27-beta-win。

二、显示命令
1、显示数据库列表。
show databases;
刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。
2、显示库中的数据表:
use mysql; //打开库,学过FOXBASE的一?构:
describe 表名;
4、建库:
create database 库名;
5、建表:
use 库名;
create table 表名 (字段设定列表);
6、删库和删表:
Drop database 库名;
Drop table 表名;
7、将表中记录清空:
delete from 表名;
8、显示表中的记录:
select * from 表名;

三、一个建库和建表以及插入数据的实例
Drop database if exists school; //如果存在SCHOOL则删除
create database school; //建立库SCHOOL
use school; //打开库SCHOOL
create table teacher //建立表TEACHER
(
id int(3) auto_increment not null primary key,
name char(10) not null,
address varchar(50) default %314%159%26深圳%314%159%26,
year date
); //建表结束
//以下为插入字段
insert into teacher values(%314%159%26%314%159%26,%314%159%26glchengang%314%159%26,%314%159%26深圳一中%314%159%26,%314%159%261976-10-10%314%159%26);
insert into teacher values(%314%159%26%314%159%26,%314%159%26jack%314%159%26,%314%159%26深圳一中%314%159%26,%314%159%261975-12-23%314%159%26);

注:在建表中(1)将ID设为长度为3的数字字段:int(3)并让它每个记录自动加一:auto_increment并不能为空:not null而且让他成为主字段primary key(2)将NAME设为长度为10的字符字段(3)将ADDRESS设为长度50的字符字段,而且缺省值为深圳。varchar和char有什么区别呢,只有等以后的文章再说了。 (4)将YEAR设为日期字段。
如果你在mysql提示符键入上面的命令也可以,但不方便调试。你可以将以上命令原样写入一个文本文件中假设为school.sql,然后复制到c:下,并在DOS状态进入目录mysqlin,然后键入以下命令:
mysql -uroot -p密码 < c:school.sql
如果成功,空出一行无任何显示;如有错误,会有提示。(以上命令已经调试,你只要将//的注释去掉即可使用)。

四、将文本数据转到数据库中
1、文本数据应符合的格式:字段数据之间用tab键隔开,null值用来代替.
例:
3 rose 深圳二中 1976-10-10
4 mike 深圳一中 1975-12-23
2、数据传入命令 load data local infile "文件名" into table 表名;
注意:你最好将文件复制到mysqlin目录下,并且要先用use命令打表所在的库 。

五、备份数据库:(命令在DOS的mysqlin目录下执行)
mysqldump --opt school>school.bbb
注释:将数据库school备份到school.bbb文件,school.bbb是一个文本文件,文件名任取,打开看看你会有新发现。

后记:其实MYSQL的对数据库的操作与其它的SQL类数据库大同小异,您最好找本将SQL的书看看。我在这里只介绍一些基本的,其实我也就只懂这些了,呵呵。最好的MYSQL教程还是“晏子“译的“MYSQL中文参考手册“不仅免费每个相关网站都有下载,而且它是最权威的。可惜不是象"PHP4中文手册"那样是chm的格式,在查找函数命令的时候不太方便。
weiking   2005-11-14 05:24:09 阅读:605  评论:0  引用:0
〖摘要:〗
转文申明:好文章,当然要拒为己有喽.等慢慢消化了,俺就来个原创的.
作者:未知
转自: http://www.knowsky.com/more.asp?typeid=13

经常看到jsp的初学者问tomcat下如何配置jsp、servlet和bean的问题,于是总结了一下如何tomcat下配置jsp、servlet和ben,希望对那些初学者有所帮助。
一、开发环境配置
第一步:下载j2sdk和tomcat:到sun官方站(http://java.sun.com/j2se/1.5.0/download.jsp)下载j2sdk,注意下载版本为Windows Offline Installation的SDK,同时最好下载J2SE 1.5.0 Documentation,然后到tomcat官方站点(http://jakarta.apache.org/site/downloads/downloads_tomcat-5.cgi)下载tomcat(下载最新5.5.9版本的tomcat);
第二步:安装和配置你的j2sdk和tomcat:执行j2sdk和tomcat的安装程序,然后按默认设置进行安装即可。
1.安装j2sdk以后,需要配置一下环境变量,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的j2sdk安装在c:\j2sdk1.5.0):
JAVA_HOME=c:\j2sdk1.5.0
classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.;一定不能少,因为它代表当前路径)
path=%JAVA_HOME%\bin
接着可以写一个简单的java程序来测试J2SDK是否已安装成功:
public class Test{
public static void main(String args[]){
System.out.println("This is a test program.");
}
}
将上面的这段程序保存为文件名为Test.java的文件。
然后打开命令提示符窗口,cd到你的Test.java所在目录,然后键入下面的命令
javac Test.java
java Test
此时如果看到打印出来This is a test program.的话说明安装成功了,如果没有打印出这句话,你需要仔细检查一下你的配置情况。
2.安装Tomcat后,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的tomcat安装在c:\tomcat):
CATALINA_HOME=c:\tomcat
CATALINA_BASE=c:\tomcat
然后修改环境变量中的classpath,把tomat安装目录下的common\lib下的(可以根据实际追加)servlet.jar追加到classpath中去,修改后的classpath如下:
classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet.jar;
接着可以启动tomcat,在IE中访问http://localhost:8080,如果看到tomcat的欢迎页面的话说明安装成功了。
第三步:建立自己的jsp app目录
1.到Tomcat的安装目录的webapps目录,可以看到ROOT,examples, tomcat-docs之类Tomcat自带的的目录;
2.在webapps目录下新建一个目录,起名叫myapp;
3.myapp下新建一个目录WEB-INF,注意,目录名称是区分大小写的;
4.WEB-INF下新建一个文件web.xml,内容如下:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>My Web Application</display-name>
<description>
A application for test.
</description>
</web-app>
5.在myapp下新建一个测试的jsp页面,文件名为index.jsp,文件内容如下:
<html><body><center>
Now time is: <%=new java.util.Date()%>
</center></body></html>
6.重启Tomcat
7.打开浏览器,输入http://localhost:8080/myapp/index.jsp 看到当前时间的话说明就成功了。
第四步:建立自己的Servlet:
1.用你最熟悉的编辑器(建议使用有语法检查的java ide)新建一个servlet程序,文件名为Test.java,文件内容如下:
package test;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Test extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out=response.getWriter();
out.println("<html><body><h1>This is a servlet test.</h1></body></html>");
out.flush();
}
}
2 .编译
将Test.java放在c:\test下,使用如下命令编译:
C:\Test>javac Test.java
然后在c:\Test下会产生一个编译后的servlet文件:Test.class
3 .将结构test\Test.class剪切到%CATALINA_HOME%\webapps\myapp\WEB-INF\classes下,也就是剪切那个test目录到classes目录下,如果classes目录不存在,就新建一个。 现在webapps\myapp\WEB-INF\classes下有test\Test.class的文件目录结构
4 .修改webapps\myapp\WEB-INF\web.xml,添加servlet和servlet-mapping
编辑后的web.xml如下所示,红色为添加的内容:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>My Web Application</display-name>
<description>
A application for test.
</description>
<servlet>
<servlet-name>Test</servlet-name>
<display-name>Test</display-name>
<description>A test Servlet</description>
<servlet-class>test.Test</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Test</servlet-name>
<url-pattern>/Test</url-pattern>
</servlet-mapping>
</web-app>
这段话中的servlet这一段声明了你要调用的Servlet,而servlet-mapping则是将声明的servlet"映射"到地址/Test上
5 .好了,重启动Tomcat,启动浏览器,输入http://localhost:8080/myapp/Test 如果看到输出This is a servlet test.就说明编写的servlet成功了。
注意:修改了web.xml以及新加了class,都要重启Tomcat
第四步:建立自己的Bean:
1.用你最熟悉的编辑器(建议使用有语法检查的java ide)新建一个java程序,文件名为TestBean.java,文件内容如下:
package test;
public class TestBean{
private String name = null;
public TestBean(String strName_p){
this.name=strName_p;
}
public void setName(String strName_p){
this.name=strName_p;
}
public String getName(){
return this.name;
}
}
2 .编译
将TestBean.java放在c:\test下,使用如下命令编译:
C:\Test>javac TestBean.java
然后在c:\Test
继续阅读其余的  9211 字
weiking   2005-11-09 01:03:07 阅读:1482  评论:6  引用:0
〖摘要:〗
转自:动态网制作指南 www.knowsky.com
出处:csdn 作者:cl41
转贴说明:别人文章我看着都好,就是不喜欢他们的页面,先拿到我们自己站点来慢慢享用,呵呵

  连续几天安装配置和连接Mysql数据库,今天终于成功了,回想这几天,真的是甜酸苦辣都有,单mysql就重装了不下10次,而在eclipse上编写的连接数据库的程序总是报错.我都已经down了oracal准备放弃mysql了,不过...就象电视剧演的那样,转机总是在这个时候出现,先是看到了saulzy关于mysql4.1.11版本的安装介绍,接着又找到了一款不错的mysql 界面插件,最后在网友的帮助下把mysql的JDBC驱动配好并连通了.一连5天,日子真不好过阿,不过这个过程中,我也觉得自己学到不少东西,呵呵,反正都撑过来了,就要继续往前走.现在,就这几天弄的总结一下,希望对同是正在学习JAVA技术的同道中人能有帮助.

一. 软件下载
  Mysql
  下载版本:4.1.11
  http://dev.mysql.com/downloads/mysql/4.1.html

  JDBC驱动
  下载版本:3.1.8
  http://dev.mysql.com/downloads/connector/j/3.1.html

  Mysql界面插件:mysql-front
  下载版本镜像:HongKong(我下回来安装就是中文版了)
  http://www.mysqlfront.de/download.html

二. 软件安装
  1.安装mysql
  请参阅相关文章,推荐文章:http://blog.csdn.net/saulzy/archive/2005/04/23/359648.aspx

  2.JDBC驱动:mysql-connector-java-3.1.8
  这只是一个压缩包,并不需要安装,只要将其解压,我么使用的是文件夹mysql-connector-java-3.1.8里的文件:mysql-connector-java-3.1.8-bin.jar.

  3. Mysql界面插件:mysql-front
  这是一个安装程序,按照提示安装就可以了.

三. 环境配置
 首先,我要说明的是我现在tomcat的安装路径是: D:\Program Files\Java\Tomcat;JDK的安装路径是:D:\Program Files\Java\j2sdk。

  在这里,需要配置环境变量的是JDBC驱动.在配置前先要把刚才说到的mysql-connector-java-3.1.8-bin.jar本地硬盘某处(我放的地方:D:\Program Files\Java\mysqlforjdbc),然后根据你放的地方,配置classpath,我的配置是这样的:

  D:\Program files\Java\j2sdk\lib\tools.jar;

  D:\Program Files\Java\j2sdk\lib\mysql-connector-java-3.1.8-bin-g.jar;

  D:\Program Files\Java\mysqlforjdbc\mysql-connector-java-3.1.8-bin.jar
  配置这个的目的是让你的java应用程序找到连接mysql的驱动.

  配置完环境变量后还有很重要一步就是为JSP连接数据库配置驱动,这个其实很简单,就是把mysql-connector-java-3.1.8-bin.jar拷到某些文件夹里就行了,我在网上看了很多资料问了很多人,各种说法都有,我综合了一下,为了保险,我都全做了,呵呵,反正就是拷一个400K的文件而已,现列出要把mysql-connector-java-3.1.8-bin.jar拷进去的文件夹,如下:
  D:\Program Files\Java\Tomcat\common\lib
  D:\Program Files\Java\Tomcat\shared\lib

四. 数据库的使用

  Mysql安装完毕以后,还有一些要注意的地方(推荐文章):http://blog.csdn.net/saulzy/archive/2005/04/23/359811.aspx

  就象在文章提到的,mysql安装好后最重要一样就是要看数据库有没有作为系统服务启动了,所以在大家进行数据库操作前,应要看看,在操作系统的开始->运行->输入services.msc,确定你在安装时你设置的关于mysql的那个服务已经启动,这样你在操作数据库时不会报连接不上的错误.

  上面提到了一个较方便的mysql界面插件,但是这个界面是我在已经开始使用mysql后才找到的,刚开始我是在dos下用命令行进行操作的.虽然那个界面也可以进行建库啊,设定权限等操作,但是,我觉得懂得在使用命令行也是一个很重要的技能,所以我先从命令行开始说,怎样简单使用mysql.到后面会谈及mysql-front的使用.

  现在我想在mysql里建一个数据库shujuku,以及在数据库里建一个表biao.具体的命令如下(假设mysql我是刚安装好的)

  1. 进入dos状态(记住命令行的要运行在mysql的安装目录下的bin目录的)

  2. 连接mysql
  输入:mysql –h localhost –u root –p
  输入在安装时已设好的密码,就近入了mysql的命令编辑界面了。

  3. 使用mysql的基本命令(在mysql命令行编辑每输入完命令后最后一定要有分号,不然会报错)
  显示数据库:show databases;
  使用数据库:use 数据库名;

  4.建库
  命令:create database shujuku;

  5.为数据库设置权限(用户和密码)
  命令:grant all privileges on shujuku.* to test@localhost identified by “123456”;
  当你执行完这个命令以后,只要你再以用户名:test,密码:123456登录时你就只可以对shujuku这个数据库操作,这样避开使用root,对数据库的安全有很大帮助.

  6.建表
  命令:create table biao(id int(8) primary key,name varchar(10));

  剩下来的与标准sqsl命令基本上是一样的,具体操作略
  值得一提的是,你在命令行上输入"?",就会有mysql命令的简单帮助,如下:

  呵呵,那样,我们还可以知道退出,就是"exit",呵呵!

五. 关于mysql-front的使用
  我找了好几个mysql的界面工具,觉得最简洁方便还是mysql-front,可惜的是要收费,不过还好有试用期,呵呵,可以先感受感受一下,最重要一点是mysql-front有简体中文版的,英文不好的我用起来就舒服多了.下面简单说说使用吧.

  首先,安装就不用说了,有向导,而且很简单.安装好后第一次运行时会跳出来一个要求添加对话的框,在这里你可以添加例如上面已经设定好的shujuku,过程如下:
  当你在注册的复选框里填上你在上面mysql设定好的用户名和密码后,在选择数据库框里就有shujuku 的数据库了,选上,按确定.进入mysql-fron后,你就会看到下面的界面,这是你就可以进行操作了.

  要说明的是,你还可以把root用户也加进去,这要你在mysql-fron的界面上选设置->对话->新建,再按上面进行就可以,出了root你还可以加入更多的用户,方法还是一样的,设置不同的用户,是方便对不同数据库进行管理,呵呵,root是权限最高的,可不要随便让别人使用你的root用户,保正你数据库的安全.

六. JSP连接mysql
  现在就是尝试用jsp连接mysql了
  我在eclipse里建了个test_mysql.jsp页面,代码如下:


<%@ page contentType="text/html; charset=gb2312" %>

<%@ page language="java" %>

<%@ page import="com.mysql.jdbc.Driver" %>

<%@ page import="java.sql.*" %>

<%

//驱动程序名

String driverName="com.mysql.jdbc.Driver";

//数据库用户名

String userName="cl41";

//密码 www.knowsky.com

String userPasswd="123456";

//数据库名

String dbName="db";

//表名

String tableName="dbtest";

//联结字符串

String url="jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+userPasswd;

Class.forName("com.mysql.jdbc.Driver").newInstance();

Connection connection=DriverManager.getConnection(url);

Statement statement = connection.createStatement();

String sql="SELECT * FROM "+tableName;

ResultSet rs = statement.executeQuery(sql);

//获得数据结果集合

ResultSetMetaData rmeta = rs.getMetaData();

//确定数据集的列数,亦字段数

int numColumns=rmeta.getColumnCount();

// 输出每一个数据值

out.print("id");

out.print("|");

out.print("num");

out.print("<br>");

while(rs.next()) {

out.print(rs.getString(1)+" ");

out.print("|");

out.print(rs.getString(2));

out.print("<br>");

}

out.print("<br>");

out.print("
继续阅读其余的  230 字
weiking   2005-11-09 00:46:17 阅读:620  评论:1  引用:0
转自:动态网制作指南 www.knowsky.commysql 使用指南(上)
作者:大金刚

有很多朋友虽然安装好了mysql但却不知如何使用它。在这篇文章中我们就从连接MYSQL、修改密码、增加用户等方面来学习一些MYSQL的常用命令。
一、连接MYSQL。
格式: mysql -h主机地址 -u用户名 -p用户密码
1、例1:连接到本机上的MYSQL。
首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>
2、例2:连接到远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:
mysql -h110.110.110.110 -uroot -pabcd123
(注:u与root可以不用加空格,其它也一样)
3、退出MYSQL命令: exit (回车)
二、修改密码。
格式:mysqladmin -u用户名 -p旧密码 password 新密码
1、例1:给root加个密码ab12。首先在DOS下进入目录mysqlbin,然后键入以下命令
mysqladmin -uroot -password ab12
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
2、例2:再将root的密码改为djg345。
mysqladmin -uroot -pab12 password djg345
三、增加新用户。(注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符)
格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"
例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令:
grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";
但例1增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见例2。
例2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。
grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";
如果你不想test2有密码,可以再打一个命令将密码消掉。
grant select,insert,update,delete on mydb.* to test2@localhost identified by "";

好今天的课程就到这里了,明天有空我再奉上mysql的数据库操作篇

【本文版权归作者与奥索网共同拥有,如需转载,请注明作者及出处】
weiking   2005-11-09 00:35:35 阅读:523  评论:1  引用:0

用,就用的漂亮点。文章嘛,借花献佛喽。