当前位置:文档之家› 明小子的用法及SQL注入提权

明小子的用法及SQL注入提权

明小子的用法及SQL注入提权
明小子的用法及SQL注入提权

明小子的用法及SQL注入提权

注意:学习的目的是为了防护,任何实施入侵电脑的行为都是犯罪!!!

一、什么是SQL注入

asp编程门槛很低,新手很容易上路。在一段不长的时间里,新手往往就已经能够编出看来比较完美的动态网站,在功能上,老手能做到的,新手也能够做到。那么新手与老手就没区别了吗?这里面区别可就大了,只不过外行人很难一眼就看出来罢了。在界面的友好性、运行性能以及网站的安全性方面是新手与老手之间区别的三个集中点。

而在安全性方面,新手最容易忽略的问题就是SQL注入漏洞的问题。用NBSI 2.0对网上的一些ASP网站稍加扫描,就能发现许多ASP网站存在SQL注入漏洞,教育网里高校内部机构的一些网站这种漏洞就更普遍了,可能这是因为这些网站大都是一些学生做的缘故吧,虽然个个都很聪明,可是毕竟没有经验,而且处于学习中,难免漏洞多多了。

相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。如这是一个正常的网址http://localhost/lawjia/show.asp?ID=444,将这个网址提交到服务器后,服务器将进行类似Select * from 表名where 字段="&ID的查询(ID 即客户端提交的参数,本例是即444),再将查询结果返回给客户端,如果这里客户端故意提交这么一个网址:

http://localhost/lawjia/show.asp?ID=444 and user>0,这时,服务器运行Select * from 表名where 字段=444 and user>0这样的查询,当然,这个语句是运行不下去的,肯定出错,错误信息如下:

·错误类型:

Microsoft OLE DB PRovider for ODBC Drivers (0x80040E07)

[Microsoft][ODBC SQL Server Driver][SQL Server]将nvarchar 值'sonybb' 转换为数据类型为int 的列时发生语法错误。

但是别有用心的人从这个出错信息中,可以获得以下信息:该站使用MS_SQL数据库,用ODBC连接,连接帐号名为:sonybb。

所谓SQL注入(SQL Injection),就是利用程序员对用户输入数据的合法性检测不严或不检测的特点,故意从客户端提交特殊的代码,从而收集程序及服务器的信息,从而获取想得到的资料。

通常别有用心者的目标是获取网站管理员的帐号和密码。比如当某个人知道网站管理员帐号存在表login中,管理员帐号名为admin,他想知道管理员密码,这里他从客户端接着提交这样一个网址:

http://localhost/lawjia/show.asp?ID=444 and (Select passWord from login where user_name='admin')>0,返回的出错信息如下:

·错误类型:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)

[Microsoft][ODBC SQL Server Driver][SQL Server]将varchar 值'!@#*&admin' 转换为数据类型为int 的列时发生语法错误。

/lawjia/show.asp, 第47 行

你知道吗?上面标红的部分就是管理员帐号admin的密码!虽然很复杂,让人看几遍也记不住的,但它就这样显示在你面前了,这时您就可以用这个帐号和密码接管人家的网站了!这时你可能还会说,如果他不是事先知道管理员帐号存在表login中,而且知道管理员帐号为admin,那他就不可能获得管理员密码。你错了,只要人家愿意多花时间尝试,他将可以获得数据库连接帐号权限内所能获得的所有信息!

当然这个过程是很烦琐的而且要花费很多的时间,如果只能以这种手动方式进行SQL 注入入侵的话,那么许多存在SQL注入漏洞的ASP网站会安全很多了,不是漏洞不存在了,而是利用这个漏洞入侵的成本太高了。但是如果利用专门的黑客工具来入侵的话,那情况就大大不同了。手动方式进行SQL注入入侵至少需要半天或一天乃至很多天的时间,而利用专门的工具来入侵就只需要几分钟时间了(视网速快慢决定),再利用获得的管理帐号和密码,上传一个从网上下载的ASP后门程序,就轻易获得整个网站的管理权限了,甚至整个服务器的管理权限。

最有名的一种SQL注入入侵工具是NBSI 2.0和明小子,不过,人家正式名称不叫SQL 注入入侵工具,而叫做网站安全漏洞检测工具。有了这个所谓的检测工具,使得入侵存在SQL注入漏洞的ASP网站成了小儿科的游戏,那些既不懂ASP又不懂SQL、年纪小小的男性青年常常得以在一天之内入侵十多个ASP网站,他们以此获得内心的极大满足。

也许您已经为系统安全费尽心思了,装补丁、安防火墙、装杀毒软件、巧妙配置IIS及数据库用户权限,但您就是没有注意到SQL注入漏洞,于是"千里之堤,溃于蚁穴"。防火墙与杀毒软件对SQL注入是没办法防范的,因为SQL注入入侵跟普通的WEB页面访问没什么区别,所以往往是防不甚防。而且一个服务器上放置的网站往往是有很多个的,服务器管理员不可能挨个网站挨个页面的审查其是否存在SQL注入漏洞。

(注意这句话:服务器的安全防范做得再好,放在它上面的网站存在SQL漏洞,入侵网站后再想办法提权,从而控制服务器,同学们思考一下)

那么应该如何防范SQL注入入侵呢?作为服务器管理员或网站程序员应该分别怎么做呢?服务器管理员要做的事主要是配置IIS和数据库用户权限,而网站程序员主要是要在程序代码编写上防范SQL注入入侵。下面详细叙述:

对了服务器管理员,既然你不可能挨个检查每个网站是否存在SQL注入漏洞,那么就来个一个绝招。这个绝招能有效防止SQL注入入侵而且"省心又省力,效果真好!"SQL注入入侵是根据IIS给出的ASP错误提示信息来入侵的,如果你把IIS设置成不管出什么样的ASP错误,只给出一种错误提示信息,即http 500错误,那么人家就没办法入侵了。

主要把500:100这个错误的默认提示页面C:\WINDOWS\Help\iisHelp\common\500-100.asp改成

C:\WINDOWS\Help\iisHelp\common\500.htm即可,这时,无论ASP运行中出什么错,服务器都只提示HTTP500错误。

同学们是学过网站制作的,回忆一下,有没有错误提示项的选择。

但是这样设置一个不好的地方是程序员编写的代码出错时,服务器不给出详细的错误提示信息,会给程序员带来很大的不便。不过,服务器毕竟不是测试代码的地方,应坚持安全稳定第一,这样设置也是无可厚非的,事实上许多服务器的出错信息都是如此设置。

同学们在平时访问某些网站不成功的时候,是不是显示的HTTP 500错误,这就是服务器的管理员要求这些网站这么设置的,不给出详细的错误提示,注入工具也没有办法了。

服务器管理员还应在IIS中为每个网站设置好执行权限,可千万别给人家静态网站以"脚本和可执行"权限。一般情况下给个"纯脚本"权限就够了,对于那些通过网站后台管理中心上传的文件存放的目录,就更吝啬一点吧,执行权限设为"无"好了,这样做是为了防止人家上传ASP木马,执行权限设为"无",人家上传ASP木马也运行不了。一般情况下,SQL 注入漏洞仅是涉及一个网站安全的事,如果人家通过这个漏洞上传了ASP木马并运行起来,那整个服务器都失陷了。所以有远见的、有责任心的服务器管理员应该十分吝啬的配置IIS 的执行权限。

回忆网站制作,当然,调试时上面这些设置还是不行的,会使调试不方便。

同样的吝啬态度应适用于数据库用户的权限配置上,当然这里数据库是指MS_SQL 啦,access都没有用户权限配置这一步骤。如果PUBLIC权限足够使用的绝不给再高的权限,可千万别把SA级别的权限随随便便地给人家啊。那个所谓的网站安全漏洞检测工具NBSI 2.0可有跨库进行SQL注入的功能啊,如果你把SA权限给了存在SQL注入漏洞的库,那其它库就不保啦!城门失火,殃及池鱼呀。而人家还可以通过调用xp_cmdshell命令得到系统的最高权限。

总之,SQL注入主要是利用其提示详细的出错信息这一点,有意提交错误的东西让其提示出错,然后从出错的信息中得到很多信息。另外,还要注意以下几点:

1、给2003serer打上最新的安全补丁,现在补丁已经出到了SP3。

2、修改默认的1433端口,并且将SQL SERVER隐藏。这样能禁止对试图枚举网络上现有的SQL Server 客户端所发出的广播作出响应。另外,还需要在TCP/IP筛选中将1433端口屏蔽掉,尽可能的隐藏你的SQL SERVER数据库。这样子一但让攻击创建了SQL SERVER的账号,也不能马上使用查询分析器远程登陆来进行下一步的攻击。单从ASP,PHP等页面构造恶意语句的话,还有需要查看返回值的问题,总比不上直接查询分析器来得利落。所以我们首先要做到即使让别人注入了,也不能让攻击者下一步做得顺当。修改方法:企业管理器--> 你的数据库组--> 属性--> 常规--> 网络配置--> TCP/IP --> 属性,在这儿将你的默认端口进行修改,和SQL SERVER的隐藏。

二、明小子(domain)的用法:

先打开我们的控制端

那里有个输入域名的地方就是你想拿哪个站点的网址了

写了后点下

然后再点下查询你就可以获得这个站的IP了!好了然后打开“SQL注入”选项卡里有个扫描注入点点下然后点“载入查询网址”

最后点批量分析注入点好了在查询了————————————

————————耐心==注入点吧可能时间有点长这个“注入点”的意思就是“漏洞”

用明小子来探测我服务器上的web网站的后台用户名和口令。我的web服务器的ip地址是:192。168。13。X

输入IP,点连接,出现很多注入点,实际都是漏洞了。

任意选择一个注入点,右击----“检测注入”

对注入点进行注入检测,单击----开始检测

结果说明可以注入

单击“猜解表名”,结果如下

选择“password”和”admin”,单击猜解内容,结果如下;

如果是md5加密的,用我上课时讲的md5解密工具解密就行了。

在“管理员入口扫描”中进行后台扫描,结果如下:

右击打开

小结:其实方法和软件还很多,回去后好好研究。

SQL常用命令使用方法:

SQL常用命令使用方法: (1) 数据记录筛选: sql="select * from 数据表where 字段名=字段值order by 字段名" sql="select * from 数据表where 字段名like ‘%字段值%‘order by 字段名" sql="select top 10 * from 数据表where 字段名order by 字段名" sql="select * from 数据表where 字段名in (‘值1‘,‘值2‘,‘值3‘)" sql="select * from 数据表where 字段名between 值1 and 值2" (2) 更新数据记录: sql="update 数据表set 字段名=字段值where 条件表达式" sql="update 数据表set 字段1=值1,字段2=值2 ……字段n=值n where 条件表达式" (3) 删除数据记录: sql="delete from 数据表where 条件表达式" sql="delete from 数据表" (将数据表所有记录删除) (4) 添加数据记录: sql="insert into 数据表(字段1,字段2,字段3 …)valuess (值1,值2,值3 …)" sql="insert into 目标数据表select * from 源数据表" (把源数据表的记录添加到目标数据表) (5) 数据记录统计函数: AVG(字段名) 得出一个表格栏平均值 COUNT(*|字段名) 对数据行数的统计或对某一栏有值的数据行数统计 MAX(字段名) 取得一个表格栏最大的值 MIN(字段名) 取得一个表格栏最小的值 SUM(字段名) 把数据栏的值相加 引用以上函数的方法: sql="select sum(字段名) as 别名from 数据表where 条件表达式" set rs=conn.excute(sql) 用rs("别名") 获取统的计值,其它函数运用同上。 (5) 数据表的建立和删除: CREATE TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) ……) 例:CREATE TABLE tab01(name varchar(50),datetime default now()) DROP TABLE 数据表名称(永久性删除一个数据表) 4. 记录集对象的方法: rs.movenext 将记录指针从当前的位置向下移一行 rs.moveprevious 将记录指针从当前的位置向上移一行 rs.movefirst 将记录指针移到数据表第一行 rs.movelast 将记录指针移到数据表最后一行 rs.absoluteposition=N 将记录指针移到数据表第N行 rs.absolutepage=N 将记录指针移到第N页的第一行 rs.pagesize=N 设置每页为N条记录 rs.pagecount 根据pagesize 的设置返回总页数 rs.recordcount 返回记录总数 rs.bof 返回记录指针是否超出数据表首端,true表示是,false为否 rs.eof 返回记录指针是否超出数据表末端,true表示是,false为否 rs.delete 删除当前记录,但记录指针不会向下移动 rs.addnew 添加记录到数据表末端 rs.update 更新数据表记录 判断所填数据是数字型 if not isNumeric(request("字段名称")) then response.write "不是数字" else response.write "数字" end if -------------------------------------------------------------------------------- simpleli 于2002-03-23 15:08:45 加贴在ASP论坛上

常用SQL语句大全

常用SQL语句大全 一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 DROP database dbname 3、说明:备份sql server --- 创建备份数据的device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2…from tab_old definition only 5、说明:删除新表 DROP table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加主键:Alter table tabname add primary key(col) 说明:删除主键:Alter table tabname DROP primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:DROP index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:DROP view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ’%value1%’---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1 11、说明:几个高级查询运算词

SQL常用命令汇总

SQL常用命令汇总 SQL是结果化查询语言(Structured Query Language)的缩写,其功能包括数据查询、数据定义、数据操纵和数据控制四个部分。SQL简洁、功能齐全,已成为目前应用最广的关系数据库语言。 一、SQL的发展及标准化 1.SQL的发展 SQL是当前最为成功、应用最为广泛的关系数据库语言,其发展主要经历了以下几个阶段; (1)1974年,由Chamberlin和Boyce提出,当时称为SEQUEL(Structured English Query Language); (2)1976年,IBM公司对SEQUEL进行了修改,并将其用于本公司的SYSTEM R关系数据库系统中; (3)1981年,推出了商用关系数据库SQL/DS,并将其名字改为SQL,由于SQL功能强大,简洁易用,因此得到了广泛的应用; (4)今天,SQL广泛应用于各种大型数据库,如Sybase,INFORMIX,SQL Server,Oracle,DB2,INGRES等,也用于各种小型数据库,如FoxPro,Access等。 2.SQL标准化 随着关系数据库系统和日益广泛,SQL的标准化工作也在紧张地进行着,二十多年来已制订了多个SQL标准:SQL-86,SQL-89,SQLL2和SQL-99。 二、SQL的基本概念 1.基本表——一个关系对应一个表。基本表是独立存在的表,不是由其他的表导出的 表。 2.视图——是一个或几个基本表导出的表,是一个虚拟的表。它本身不独立存在于数 据中,数据库中只存放视图对应的数据,这些数据仍存放在导出视图的基本表中。 当基本表中的数据发生变化时,从视图中查询出来的数据也随之改变。 三、SQL的主要特点 SQL有如下几个特点。 (1)SQL是类似于英语的自然语言,简洁易用。 (2)SQL是一种非过程语言。 (3)SQL是一种面向集合的语言。 (4)SQL既是自含式语言,又是嵌入式语言;可独立使用,也可以嵌入到宿主语言中。 (5)SQL是数据库查询(Query)、数据定义(Definition)、数据操纵(Manipulation)和数据控制(Control)四种功能。 创建数据表 语法格式:CREA TE TABLE<表名>(<列定义>[{,<列定义>|<表约束>}]) 例:create table s(xingm c(8),xueh c(8),chengj c(3)) 结果:

少儿围棋入门教程版

少儿围棋入门教程版-CAL-FENGHAI.-(YICAI)-Company One1

第一课 一、教学目标与重点 知道棋盘的基础知识:是方的有横竖各19道线,361个点。认得星和天元。 知道胜负的基础知识:黑棋185子为胜,白棋177子为胜。 知道围棋术语六个:气,连,断,打吃,长,提。 记住:没有气的棋子一定要马上从棋盘上拿下来,注意克服不拿死子的习惯。 二、基础知识:棋盘是方的,由横竖各19条线组成。共有361个点。有九颗星,中心点的星叫 天元。黑181子,白180子。黑棋185子为胜,白177子为赢。四线以下算边, 五线以上算中腹。 (一)气:和棋子直接同连的交叉点,就叫这个棋子的气。 中央一子有四气,边上一子有三气,角上一子有两气。 图1 气图2黑有几气图3黑有几气 数一数2题黑子有几气,3题黑子有几气。 (二),连:下一个子之后把自己的两个子或两部分子连接在一起,下的这个子就叫“连”也叫“粘”。 如图1黑X子所示。 (三)断:下一个子,能把对方的子分隔成两部分,下的这个子就叫“断”,如图2黑X子所示。 (四)打吃:下一个子后,使对方只剩下最后一口气(自己有两气以上),下的这个子就叫“打吃”。 如图3黑X子所示。 (五)长:紧连着自己的棋子向上或横向左右延长一子就叫“长”,如图4黑X子所示。 图1 图2 图3 图4 (六)提:下一个子后,使对方的子处于无气状态,并把对方的子从棋盘上拿掉,叫“提”。 一定要记住,没气的子必需从棋盘上拿掉。如图6——9黑X子所示。 图5 图6 图7 图8 图5 6 黑X后应走成什么样图7 8 黑白各先走,应走成什么样 1,介绍谁先动手,就快对方一气。2,介绍“打二还一”。 三巩固练习:1题:哪些子应提掉 2 题:八个黑子有几气 3题:黑白各先下哪里 4题:A-H各叫什么 5题:黑先应下成什么样 四课堂对局:练习互相对吃。 五作业:课堂做不完,回家作为家庭作业。 1题 2 题 3题 4题 5题 六棋理棋诀:中央开花三十目 在棋盘上,三线以下为“地”,四线以上为“势”。势就是外势。 在棋盘上,“中央”一般是指四线以上的地方。 棋谚说“中央开花三十目”的意思是说:在布局或中盘阶段,在中央一带提取一子的价值很大的。“开花”既提子,“三十目”是形容开花后的具大威 第二课 一复习:①棋盘的基础知识:是方的有横竖各19道线,361个点。认得星和天元。②胜负的础知识:黑棋185子为胜,白棋177子为胜。③围棋术语六个:气,连,断,打 吃,长,提。

数据库常用命令

oracle常用命令 命令解释 $Ps –ef|grep oracle 查看oracle进程是否启动 $ sqlplus "/as sysdba" 以sysdba角色登陆oracle数据库 SQL>startup 显示当前系统中已登录的人员。 SQL>shutdown immediate 关闭数据库 SQL>select * from v$version; 查看oracle数据库版本 SQL>select name from v$database; 查看数据库SID SQL>truncate table table_name 快速清空一个表 SQL>select * from all_users;查看数据库中所有用户 SQL>alter tablespacename offline;将表空间offline SQL> alter tablespacename online ;将表空间online $oerr ora 2236 查错误 alert_{ORACLE_SID}.log 数据库告警日志文件 *.TRC 数据库跟踪文件 Oracle说明 1、数文件:SPFILE不能直接阅读是二进制文件,需要转为文本 2、oracle数据库后,可以查看数据库状态是否open,如果open会显示open字样 SQL> select status, instance_role from v$instance; 3、PFILE:SQL> connect / as sysdba 从spfile创建pfile:SQL> create pfile from spfile; 从pfile创建spfile:CREA TE SPFILE FROM PFILE='/home/oracle/admin/pfile/init.ora'; 4、names是客户端或应用程序需要连接数据库时必须配置的,使用$tnsping service_aliasname可以测试出tns配置的是否正确 5、要文件listener.ora、Tnsnames.ora、Sqlnet.ora,这三个位置在$ORACLE_HOME/network/admin目录下。 6、库启动时要先启动listener Network配置:监听程序lsnrctl

SQL命令大全-中英文对照

[code=SQL][/code] --语句功能 --数据操作 SELECT --从数据库表中检索数据行和列 INSERT --向数据库表添加新数据行 DELETE --从数据库表中删除数据行 UPDATE --更新数据库表中的数据 --数据定义 CREATE TABLE --创建一个数据库表 DROP TABLE --从数据库中删除表 ALTER TABLE --修改数据库表结构 CREATE VIEW --创建一个视图 DROP VIEW --从数据库中删除视图 CREATE INDEX --为数据库表创建一个索引DROP INDEX --从数据库中删除索引 CREATE PROCEDURE --创建一个存储过程DROP PROCEDURE --从数据库中删除存储过程CREATE TRIGGER --创建一个触发器 DROP TRIGGER --从数据库中删除触发器CREATE SCHEMA --向数据库添加一个新模式DROP SCHEMA --从数据库中删除一个模式CREATE DOMAIN --创建一个数据值域 ALTER DOMAIN --改变域定义 DROP DOMAIN --从数据库中删除一个域 --数据控制 GRANT --授予用户访问权限 DENY --拒绝用户访问 REVOKE --解除用户访问权限 --事务控制 COMMIT --结束当前事务 ROLLBACK --中止当前事务 SET TRANSACTION --定义当前事务数据访问特征--程序化SQL DECLARE --为查询设定游标 EXPLAN --为查询描述数据访问计划 OPEN --检索查询结果打开一个游标 FETCH --检索一行查询结果 CLOSE --关闭游标 PREPARE --为动态执行准备SQL 语句EXECUTE --动态地执行SQL 语句

少儿围棋入门教程(整理版)

少儿围棋入门教程(整理版) 一章围棋的入门知识 第一节:围棋的起源 围棋又称作“弈”。“围”是围攻的意思,“棋”则是手持的棋子,围棋的特点是围而相杀,争地决胜。 围棋起源于中国,是中国古人的伟大发明。围棋距今已有4000多年的历史。世人对围棋的起源有多种说法,流传最广的是:尧造围棋以教子丹朱。 围棋从古至今有很多的别称,如“对弈”、“手谈”、“坐隐”、“忘忧”、“烂柯”、“木野狐”等几种叫法 第二节:围棋的礼议 1、入座。入座前要将棋盘收拾干净,对弈双方要互相致敬并请长者先座。 2、猜先。年长者或水平高者手拿一把白子暂不示人,另一位拿出一颗或两颗黑子来猜单双,猜中执黑先行,猜错则执白。 3、对弈。不能东张西望、翻阅资料,不要与他人交谈,不要影响对手思考,如果离座要向对方打招呼。 4、取子和落子。一次取一子,不要多拿。一人一手交替落子。不能悔棋。第一手棋下在右上角表示对对方的尊敬。

5、投子和终局。如果一方认输,可以拿两颗或两颗以上的棋子放在边线外的棋盘上,表示投子认负。双方同意终局后应将棋子收拾干净并装入棋盒。 第三节:棋盘和棋子 1、棋盘。纵横各19道的方形棋盘。共有361个交叉点,简称“点”。棋盘可划分为九个部分:左上角、右上角、左下角、右下角、左边、右边、上边、下边和中腹。每个部位附近都有一个小黑点,叫作“星”,中央的一颗星称为“天元”。棋盘的边线称为“第一线”,向中腹方向推进一线称为“第二线”,再推进一线称为“第三线”,依此类推……。一般五线以上称为“中腹”。 2、棋子。分黑白两种棋子,为一边凸起的扁圆形。 第四节:围棋的基本规则 1、下子规则。双方水平相当时,用“猜先”的办法决定由谁执黑先行,术语称之为“分先”。若双方水平有差距,则由水平抵的一方执黑,术语称为“让先”。双方在棋盘交替落子,棋子不能移动,落子无悔。 2、让子规则。对局双方水平有明显差距,可以用“让子法”加以平衡,差距越大,让子越多。从让二子到让九子不等。 3、胜负规则。围棋的胜负是围住的地盘的大小来决定的,而不是以谁吃子的多少来决定的。棋盘上共有361个点,原则上谁能超过半数180.5就胜。因黑先行,要贴还给白棋3又3/4子,

MYSQL数据库基本操作命令

MYSQL数据库基本操作命令 用户名和密码:123456 创建一个名称为mydb1的数据库。 create database mydb1; 查看所有数据库 show databases; 创建一个使用utf-8字符集的mydb2数据库。 create database mydb2 character set utf8; 创建一个使用utf-8字符集,并带校对规则的mydb3数据库。 create database mydb3 character set utf8 collate utf8_general_ci; 显示库的创建信息 show create database mydb3; 删除前面创建的mydb1数据库 drop database mydb1; 查看服务器中的数据库,并把其中某一个库的字符集修改为gb2312; alter database mydb2 character set gb2312; show create database mydb2; 备份库 1、准备库的数据 create database mydb1; use mydb1; create table test ( id int ); insert into test(id) values(1); select * from test; 2、删除库:drop database mydb1; 3、 4.1 创建库:create database mydb1; 4.2 \. test.sql (通过执行脚本文件实现) 5、

创建一个员工表 use mydb1; 进入库 create table employee ( id int, name varchar(20), gender varchar(4), birthday date, entry_date date, job varchar(40), salary double, resume text )character set utf8 collate utf8_general_ci; 查看库中所有表 show tables; 查看表的创建细节 show create table employee; 查看表的结构 desc employee; 在上面员工表的基本上增加一个image列。 alter table employee add image blob; 修改job列,使其长度为60。 alter table employee modify job varchar(60); 删除sex列。 alter table employee drop gender; 表名改为user。 rename table employee to user; 修改表的字符集 alter table user character set gb2312; show create table user; 列名name修改为username alter table user change column name username varchar(20); 使用insert语句向表中插入一个员工的信息。 insert into employee(id,username,birthday,entry_date,job,salary,resume)

数据库(SQL)操作命令大全

下列语句部分是Mssql语句,不可以在access中使用。 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only 5、说明:删除新表drop table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加主键:Alter table tabname add primary key(col) 说明:删除主键:Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:drop view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ?%value1%? ---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count * as totalcount from table1 求和:select sum(field1) as sumvalue from table1

少儿围棋入门教程(整理版).doc

第一课 一、教学目标与重点 知道棋盘的基础知识:是方的有横竖各19道线,361个点。认得星和天元。 知道胜负的基础知识:黑棋185子为胜,白棋177子为胜。 知道围棋术语六个:气,连,断,打吃,长,提。 记住:没有气的棋子一定要马上从棋盘上拿下来,注意克服不拿死子的习惯。 二、基础知识:棋盘是方的,由横竖各19条线组成。共有361个点。有九颗星,中心点的星叫天元。黑181 子,白180子。黑棋185子为胜,白177子为赢。四线以下算边,五线以上算中腹。 (一)气:和棋子直接同连的交叉点,就叫这个棋子的气。 中央一子有四气,边上一子有三气,角上一子有两气。 图1 气图2黑有几气图3黑有几气数一数2题黑子有几气,3题黑子有几气。 (二),连:下一个子之后把自己的两个子或两部分子连接在一起,下的这个子就叫“连”也叫“粘”。 如图1黑X子所示。 (三)断:下一个子,能把对方的子分隔成两部分,下的这个子就叫“断”,如图2黑X子所示。 (四)打吃:下一个子后,使对方只剩下最后一口气(自己有两气以上),下的这个子就叫“打吃”。 如图3黑X子所示。 (五)长:紧连着自己的棋子向上或横向左右延长一子就叫“长”,如图4黑X子所示。 图1 图2 图3 图4 (六)提:下一个子后,使对方的子处于无气状态,并把对方的子从棋盘上拿掉,叫“提”。 一定要记住,没气的子必需从棋盘上拿掉。如图6——9黑X子所示。 图5 图6 图7 图8图5 6 黑X后应走成什么样?图7 8 黑白各先走,应走成什么样? 1,介绍谁先动手,就快对方一气。2,介绍“打二还一”。

三巩固练习:1题:哪些子应提掉? 2 题:八个黑子有几气? 3题:黑白各先下哪里? 4题:A-H各叫什么? 5题:黑先应下成什么样? 四课堂对局:练习互相对吃。 五作业:课堂做不完,回家作为家庭作业。 1题 2 题 3题 4题 5题 六棋理棋诀:中央开花三十目 在棋盘上,三线以下为“地”,四线以上为“势”。势就是外势。 在棋盘上,“中央”一般是指四线以上的地方。 棋谚说“中央开花三十目”的意思是说:在布局或中盘阶段,在中央一带提取一子的价值很大的。“开花”既提子,“三十目”是形容开花后的具大威

数据库常用命令集合

创建数据库:[库名] 显示所有数据库: ; 打开数据库[库名] 当前选择地库状态(); 创建数据表[表名]([字段名] [字段类型]([字段要求]) [字段参数], ......); 资料个人收集整理,勿做商业用途 显示数据表字段表名; 当前库数据表结构; 更改表格 [表名] [字段名] 说明:增加一个栏位(没有删除某个栏位地语法. [表名] ([字段名]) 说明:更改表得地定义把某个栏位设为主键. [表名] ([字段名]) 说明:把主键地定义删除. 显示当前表字段; 删库[库名]; 删表[表名]; 数据操作 添加:[表名] ('','',......顺序排列地数据); 查询: * [表名] ([条件]); 建立索引[索引文件名] [表名] ([字段名]); 删除:[表名] ([条件]); 修改:[表名] [修改内容如''] [条件];资料个人收集整理,勿做商业用途 导入外部数据文本: .执行外部地脚本 当前数据库上执行< 指定数据库上执行[表名] < .数据传入命令"[文件名]" [表名]; 资料个人收集整理,勿做商业用途 备份数据库:(下) > 提示:常用命令以";"结束,有少量特殊命令不能加";"结束,如备份数据库 一. 增删改查操作 资料个人收集整理,勿做商业用途 . 增: 表名(,'测试'); 注:如上语句,表结构中有自动增长地列,也必须为其指定一个值,通常为 表名() (,'尹当')同上 .删数据: 表名; 表名; 删除结构: 删数据库:数据库名; 删除表:表名;

删除表中地列表名列名; . 改: 修改所有:表名列名'新地值,非数字加单引号' ; 带条件地修改:表名列名'新地值,非数字加单引号' ; .查: 查询所有地数据:* 表名; 带条件地查询: * 表名列名条件值; * 表名列名()'字符值' 分页查询:* 表名每页数量偏移量; 二.操作命令 资料个人收集整理,勿做商业用途 . 查看数据库信息:; .查看表信息:; .查看表地结构:表名 . 新建数据库数据库名; .操作指定数据库数据库名; .新建数据表(先操作库); 表名(规范为表名) ( ,( 为自动增长) 资料个人收集整理,勿做商业用途 () ) 支持事务和设置表地编码 添加主外键: 外表名名称(外列) 主表名(主列) 资料个人收集整理,勿做商业用途 如现有两表主表子表现子表地列引用了主表地列资料个人收集整理,勿做商业用途则命令如下: () () 资料个人收集整理,勿做商业用途 .导出表,备份到一个文件中,如 命令窗口:用户名需要备份地数据库名>备份地文件地保存路径和文件名资料个人收集整理,勿做商业用途 注:如指定地文件不存在,会自动添加一个文件,此命令不能加分号结尾(文件没有备份建数据库操作)资料个人收集整理,勿做商业用途 .导入数据库备份文件: ().在命令窗口 ().新建一个要导入地数据库(因为备份中没有备份建数据库操作) () 当前库名 () 备份地文件地保存路径和文件名(此命令不能加分号结尾) 三:系统操作 资料个人收集整理,勿做商业用途 . 打开服务(为配置时,可自定名称) .关闭服务 .从模式进入 () 用户名回车>输入正确密码>进入欢迎

Windows SQL常用命令

1.建表: createtable stud01 (xh char(10)primarykey, xm char(10), nl char(10), bj char(10) ) 2.查询 SELECT命令的语法为: SELECT [DISTINCT|ALL] {*|模式名.] {表名|视图名| 快照名] .*…| {表达式[列别名]…} } [, [模式名. ] {表名| 视图名|} .*…| 表达式[列别名] ]… FROM [模式名.] {表名|视图名|快照名} [@数据库链名] [表别名] [, [模式名.] {表名|视图名|快照名} [@数据库链名] [表别名] ]… [WHERE条件] [START WITH条件CONNECT BY 条件] [GROUP BY表达式[,表达式] …[HAVING条件] [UNION|UNION ALL |INTERSECT|MINUS]SELECT命令 [ORDER BY{表达式|位置} [ASC|DESC] [, {表达式|位置[ASC|DESC]}]…] select*from stud01 注:查询条件 Where xh=’’ and xh=’’ And 与,OR 或关系

(1) 查询年纪为12的学生姓名; SELECT https://www.doczj.com/doc/745656265.html, FROM STUDENT WHERE AGE=12; (2) 查询年纪在12至16岁之间的学生姓名; SELECT https://www.doczj.com/doc/745656265.html, FROM STUDENT WHERE AGE BETWEEN 12 AND 16; (3) 查询年纪不在12至16岁之间的学生姓名; SELECT https://www.doczj.com/doc/745656265.html, FROM STUDENT WHERE AGE NOT BETWEEN 12 AND 16; (4) 查询所有姓名以A开头的学生的姓名; SELECT https://www.doczj.com/doc/745656265.html, FROM STUDENT WHERE NAME LIKE 'A%'; (5) 列出所有学生年纪的和,年纪的平均值,最大值,最小值,最大值与最小值之间的差值; SELECT AVG(AGE), SUM(AGE), MAX(AGE), MIN(AGE), MAX(AGE)-MIN(AGE); (6) 将所有学生按学号顺序升序排列; SELECT * FROM STUDENT ORDER BY NO DESC; (7) 将所有学生按学号顺序升序排列; SELECT * FROM STUDENT ORDER BY NO ASC; 3.插入数: insert stud01values ('0002','std001','21','计算机') 4.修改 update stud01 set xm='std002' where xh='0002' 5.删除 delete stud01where xh='0003' 6.去除重复的字段值 selectDISTINCT(xh)from stud01 7.统计个数count(*),sum(), select count(*)from stud01where xm='std001' 8. 分组(groupby,HAVING) select xm from stud01where xm='std001' groupby XM HAVING COUNT(*)>3 9.substring Selct substring(bj, 2, 3) from stud01 9.多表查询 学生—课程数据库中包含三个表 学生表:Student(Sno,Sname,Ssex,Sage,Sdept) Student由学号(Sno),姓名(Sname),性别(Ssex),年龄(Sage),所在系(Sdept)五个属性组成,其中Sno为主码 课程表:Course(Cno,Cname,Cpno,Ccredit) Course由课程号(Cno),课程名(Cname),选修课号(Cpno),学分(Ccredit)四个属性组成,其中Cno为主码。 学生选课程表:SC(Sno,Cno,Grade) SC由学号(Sno),课程号(Cno),成绩(Grade)三个属性组成,主码 为(Sno,Cno)

Informix数据库常用操作命令

Unix系统及数据库常用操作命令 oninit 数据库启动 onmode -ky 数据库关闭 onstat -l 查看逻辑日志使用情况 ontape -c 连续备份逻辑日志 onstat -g iof 查看每个chunk 的I/O 情况 onstat -g mem 查看数据库存的情况 onstat -d 查看数据库chunk 的使用情况 ontape -s -L 0 数据库0 级备份 dbimport -d -i

数据恢复(硬盘) dbexport -o 数据备份(硬盘) update staistics (high) (low) 数据库数据抽样统计 ontape -r 数据恢复(磁带) onstat -c 配置情况 onstat - 数据库状态信息 ps –ef |grep cmcld 查看MC/Service Guard 进程 cmviewcl 查看MC/Service Guard 运行情况 cmruncl [ f ] 启动群集 cmhaltcl [ -f ] 终止群集 cmrunnode node 启动群集中的一个结点 例:# cmrunnode HPK460-1 cmhaltnode mode 终止群集中的一个结点 例:# cmhaltnode HPK460-1 cmrunpkg -n node pkg 在节点node 上运行pkg 包 例:# cmrunpkg -n HPK460-1 pkg1 cmhaltpkg -n node pkg 在节点node 上终止运行pkg 包 例:# cmhaltpkg -n HPK460-1 pkg1 cmmodpkg -e -n node pkg 允许在节点node 上运行pkg 包 例:# cmmodpkg -e -n HPK460-1 pkg1 cmmodpkg -d -n node pkg 禁止在节点node 上运行pkg 包 例:# cmmodpkg -d -n HPK460-1 pkg1 cm 系列命令,均可附加参数“-v”,以冗余模式显示执行结果;参数“-f”表示强制执行而忽略错误警告。 vgdispaly [-v] vg_name 显示激活的卷组信息 例:# vgdispaly ;# vgdisplay /dev/vgo2 lvdisplay [-v] lv_path 显示激活的逻辑卷信息 例:# lvdisplay /dev/vg02/rootdbs vgchange -a y vg_name 激活卷组 例:# vgchange -a y /dev/vg02 vgchange -a e vg_name 以互斥方式激活卷组 例:# vgchange -a e /dev/vg02

数据库经典SQL语句大全

数据库经典SQL语句大全 篇一:经典SQL语句大全 下列语句部分是Mssql语句,不可以在access中使用。 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的 device USE master EXEC sp_addumpdevice 'disk','testBack', 'c:mssql7backupMyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表

create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2? from tab_old definition only 5、说明: 删除新表: tabname 6、说明: 增加一个列:Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明: 添加主键:Alter table tabname add primary key(col) 说明: 删除主键:Alter table tabname drop primary key(col) 8、说明: 创建索引:create [unique] index idxname on tabname(col?.) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。

少儿围棋入门教程(整理版)

少儿围棋入门教程 第一课 一、教学目标与重点 知道棋盘的基础知识:是方的有横竖各19道线,361个点。认得星和天元。 知道胜负的基础知识:黑棋185子为胜,白棋177子为胜。 知道围棋术语六个:气,连,断,打吃,长,提。 记住:没有气的棋子一定要马上从棋盘上拿下来,注意克服不拿死子的习惯。 二、基础知识:棋盘是方的,由横竖各19条线组成。共有361个点。有九颗星,中心点的星叫天元。黑181 子,白180子。黑棋185子为胜,白177子为赢。四线以下算边,五线以上算中腹。 (一)气:和棋子直接同连的交叉点,就叫这个棋子的气。 中央一子有四气,边上一子有三气,角上一子有两气。 图1 气图2黑有几气图3黑有几气数一数2题黑子有几气,3题黑子有几气。 (二),连:下一个子之后把自己的两个子或两部分子连接在一起,下的这个子就叫“连”也叫“粘”。 如图1黑X子所示。 (三)断:下一个子,能把对方的子分隔成两部分,下的这个子就叫“断”,如图2黑X子所示。 (四)打吃:下一个子后,使对方只剩下最后一口气(自己有两气以上),下的这个子就叫“打吃”。 如图3黑X子所示。 (五)长:紧连着自己的棋子向上或横向左右延长一子就叫“长”,如图4黑X子所示。 图1 图2 图3 图4 (六)提:下一个子后,使对方的子处于无气状态,并把对方的子从棋盘上拿掉,叫“提”。 一定要记住,没气的子必需从棋盘上拿掉。如图6——9黑X子所示。

图5 图6 图7 图8图5 6 黑X后应走成什么样?图7 8 黑白各先走,应走成什么样? 1,介绍谁先动手,就快对方一气。2,介绍“打二还一”。 三巩固练习:1题:哪些子应提掉? 2 题:八个黑子有几气? 3题:黑白各先下哪里? 4题:A-H各叫什么? 5题:黑先应下成什么样? 四课堂对局:练习互相对吃。 五作业:课堂做不完,回家作为家庭作业。 1题 2 题 3题 4题 5题 六棋理棋诀:中央开花三十目 在棋盘上,三线以下为“地”,四线以上为“势”。势就是外势。 在棋盘上,“中央”一般是指四线以上的地方。 棋谚说“中央开花三十目”的意思是说:在布局或中盘阶段,在中央一带提取一子的价值很大的。“开花”既提子,“三十目”是形容开花后的具大威

SQL命令大全(可编辑修改word版)

下列语句部分是Mssql 语句,不可以在access 中使用。 SQL 分类: DDL 类型包括数据库、表的创建,修改,删除,声明—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML 类型包括数据表中记录的查询,删除,修改,插入—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL 类型包括数据库用户赋权,废除用户访问权限,提交当前事务,中止当前事务—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1、说明:创建数据库 CREATE DATABASE db1(db1 代表数据库表,可自命名) 2、说明:删除数据库 drop database db1(db1 代表数据库表,可自命名) 3、说明:备份sql server --- 创建备份数据的device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表

create table tb1(Id int not null primary key,name varchar,..)(tb1 为数据表名,ID 为字段,int 为数据类型整型,not null 为数据是否可为空,Primary Key 为主键设置,其中not null,primary key 为可选项,字段,数据类型自定义。) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only 5、说明: 删除新表:drop table tb1 6、说明: 增加一个列:Alter table tabname add column col type 注:列增加后将不能删除。DB2 中列加上后数据类型也不能改变,唯一能改变的是增加varchar 类型的长度。 7、说明: 添加主键:Alter table tabname add primary key(ID)(设置某字段为主键,ID 可自由设置,主键数据不可重复) 说明: 删除主键:Alter table tabname drop primary key(ID)(删除某字段主键) 8、说明: 创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:

文本预览
相关文档 最新文档