《易语言sql命令格式.docx》由会员分享,可在线阅读,更多相关《易语言sql命令格式.docx(7页珍藏版)》请在优知文库上搜索。
1、外部数据库1.打开(ODBC:DSN=MSAccessDatabase;DBQ=w+取运行目录0+”数据库.accdb;Driver=MicrosoftAccessDriver(*.mdb,.accdb):DriVer1.d=25;FI1.=MSACCeSs;MaXBUfferSiZe=2048:PageTimeoUt=5;PWD=.真)易语言对ACCESS数据库学习使用数据库,难免要使用SQ1.语句。外部数据库使用SQ1.语句可以快速地完成对数据库的种种操作,如:查询、修改、插入记录、删除记录等。至于更多的,比如:创足表、捌除表、加密数据等等,等我们能移比较熟练地掌握数据库的操作再研究。一、
2、基本命令格式1 .查询记录基本格式:se1.ect字段名from表名where条件例如:要查询“员工表”中“张三”的信息,可以这么写:“se1.ect*from员工表where姓名=张三。这里,“员工表”是要交询的表的名称,“姓名”是字段名称。如果要查询的是张三的电话呢?就得这么写:“se1.ect电话from员工表Where姓名=张三。“电话”也是该表中的字段。如果要查询整个表的信息,就不需要加“where。比如,要查询“员工表”中所有员工的全部信息,就可以这么写:“se1.ect*fro11员工表2、删除记录基本格式:de1.etefrom表名where条件例如:要删除“学生表中成绩小于5
3、0的学生名字,可以这么写:“de1.e1.efrom学生表where成绩50如果不加条件,就会删除该表中所有记录.该表就变成一个没有记录的空表,以后还可以向表中添加记录。本命令与删除表“droptab1.e不同,dropIa表e”删除的是被操作的表,删除后,整个表都不存在,也就不可以再添加记录了。3、添加记录基本格式:insertinto表名(字段1,字段2.字段3)va1.ues(字段1的值,字段2的值.字段3的值)本命令是往指定的表中添加记录。要注意,“表名”后面括号中是祓操作的字段名称,“va1.ues后面括号中是对应的字段值,不要弄错了位置的先后顺序。还有,本命令不可以跟“where因
4、为你要添加的记录在表中根本没有,所以也就不可以有什么条件了.4,修改记录基本格式:update表名Set欲修改的字段名I=该字段的新值.欲修改的字段名2=该字段的新值where条件该命令是修改表中已经存在的记录数摒。如果不加“where条件,就会把所有指定的字段都改成新值。比如:要修改“员工表中张三”的工资为1500,应该这么写:“update员工表set工资=1500where姓名=张三。二、易语言命令操作数据库在易语言中,对外部数据库,比如ACCESS的操作,有如下方法:1.个是用“外部数据库”,另1.个是用“数据库连接和“记录集。前一种是我这段时间正在学习的,操作起来比较方便。后一种我还
5、没有用过,不敢多讲。不过,我觉得记录集就象一张表格,只是这表格是看不见的,是动态的。在这里,我只说一下“外部数据库”.1,查询操作基本命令:外部数据库控件名称.查询(SQ1.命令语句)这一命令只可以用来进行查询操作。使用的时候要注意SQ1.语句是否正确。如果查询的记录存在.则回车满足也彻条件的记录的条数.否则回车0。2、非查询操作基本命令:外部数据库控件名称.执行(SQ1.命令语句,操作的数据这一命令可以完成时数据的添加、删除、修改等操作,也可以完成对数据库中表的创建、删除。此命令有两个参数,笫一个是SQ1.命令,后一个是你要操作的数据。第二个卷数是可以省略的,只在时表中的备注型、O1.E型字
6、段进行操作时才用。本命令执行成功回车真,否则回车假。这样我们就可以通过执行的结果来判断操作是否正确了.比如,你想把一张图片放入数据库.应该这么做:外部数据库1.执行(“insertinto图片表(图片名,图片)va1.ues(美国的图片.?),读入文件(你要放入的图片的文件名称)其中,“图片表”是你的数据库中存放图片的表的名称,“图片名和“图片是字段名称,前一字段是文本型的,后一字段是O1.E型,也就是易语言中字节集型的。“美丽的图片是在表中插入的新记录中“图片名”字段所对皮的值,在SQ1.语句中要用单引号括起来。“?表示你要操作的数据,如果你操作的数据中有字节集型的,应该用“?”代替,在后面
7、的第二参数中写入真正的数据内容.如果你同时操作多个字节集型的数据,应该用多个“?,并且后面按照顺序放置相应的值。3、读数据库数据读数据的时候,首先要用查询命令,要不然是没法读数据的。建立一个变量,存放交询的结果.如:受询结果,整数型。查询结果=外部数据库控件名称.查询(查询类的SQ1.语句)外部数据库控件名称.到首记录(查询结果)存放数据的变量=外部数据库控件名称.读(查询结果,要读的字段名称)好了,以上是我学习数据庵以来的一点体会,与朋友们一同分享。朋友们也可以看一下我最近发的软件小小日记本、易用通讯录和例程图片导入数据库,里面用了SQ1.语句对ACCESS数裾库进行记录的增删、修改、瓷询等
8、操作。常用命令格式insertinto表名(项目名,项目名2)va1.ues(内容,内容)update修改update表名Set姓名=”+编辑框1.内容+性别=”+编辑框2.内容de1.ete制除de1.etefrom表名where条件数殂可直接文字用se1.ect查询se1.ectfrom表名称“se1.ect*from资料where姓名Iike+%+搜索内容编辑框十“sei。Ct*from用户信息where姓名=”+编辑根8.内容+update表名setname=?whereID=更新图片INSERTINTO表名(name)va1.ues(?)写到图片access文件update表名set
9、要更改的=更改的,要更改的=更改的where条件=条件(修改多处)分页显示数据SE1.ECTFROMjyORDERBYidDESC1.IMIT5,5;第一个5,是起点第二个5,是取几条反向排序se1.ectfrom表名orderby字段名DESC正向排序se1.ectfrom表名orderby字段名SC1.ike%where条件and并且Or或者一复.制表结构有句型的一胫数据库一夏制结构+数据se1.ect*into数据库名.dbo.新表名from数据库名.dbo.原表名一只复制结构se1.ect*into数据库名.dbo.新表名from数据库名.dbo.原表名where1=0se1.ect*
10、into-新用户from.用户日志where1=0一夏制到临时表se1.ectintoetemptab1.enamefrom数据库名.dbo.原表名where1=0droptab1.e新用户删除表一后面的Where1=0只要不成立就行了,管它是1=2,还是K)OO=I(XH.插入时间ReP1.aCe(ReP1.aCe(RePIaCe(2013年4月11日,年月日,)这样把年月日去掉然后再tochar(todate(201341,yyyym1.d,),yyyy-11un-dd,)就得到日期(2013-04TI)再insertintotabIeName(time)va1.ues(2O13-O4-1
11、)后面的分秒我省略了,你自己加mi:SS一、基础1 .说明:创建数据库CREATEDATABASEdatabase-name2 .说明:删除数据库dropdatabasedbnane3、说明:备份sq1.server创建备份数据的deviceUSEnutterEXECsp_addumPdCViCodisk.testBack,.c:mssq1.7backup,开始备份BACKUPDATABASEpubsTOtestBack4、说明:创珑新表createtab1.etabname(co1.1type1.notnu1.1.primarykey.co1.2type2notnu1.1.,.)根据已有的表
12、创建新表:A:createtab1.etabnew1.iketab_o1.d(使用旧表创建新表)B:createtab1.etab_newasse1.ectco1.1.,co1.2fromtab_o1.ddefinitionon1.y5、说明:删除新表droptab1.etabname6、说明:增加一个列A1.tertab1.etabnameaddco1.umnco1.type注:列港加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加VarChar类型的长度。7,说明:添加主键:A1.tertab1.etabnameaddprimarykey(co1.)说明:甜除主键:A1
13、.tertab1.etabnamedropprimarykey(co1.)8、说明:创建索引:createuniqueindexidxnameontabname(co1.)捌除索引:dropindexidxname注:索引是不可更改的,想更改必须删除重新建。9、说明:创建视.图:createvie*Viewnaneasse1.ectstatement删除视图:dropviewviewnme10、说明:几个简单的基本的Sq1.语句选择:se1.ect*fromtab1.e!where范围插入:insertintotab1.e1.(ie1.d1.ie1.12)va1.ues(va1.ue1.,va
14、1.ue2)删除:de1.etefromtab1.e1.where范围更新:UPdatetab1.e1.setfie1.d】=Va1.Ue1.where范围查找:se1.ect*fromtab1.e1.wherefie1.d!1.ike%va1.ue1.%,IikC的谙法很精妙,查资料!排序:se1.ect*fromtab1.e1orderbyie1.1.1.fie1.d2desc总数:se1.ectcountastota1.countfromtab1.e1.求和:se1.ectsum(fie1.1.1.)assumva1.uefromtabIe1.平均:se1.ectavg(fie1.d1.
15、)asavgva1.uefromtab1.e1.最大:se1.ectmax(fie1.d1.)asmaxva1.uefromtab1.e1.最小:se1.ectmin(fie1.d1.)asininva1.uefromtab1.e1.Ik说明:几个高级查询运算同A:UNION运算符UNION运算符通过组合其他两个绪果表(例如TAB1.E1.和TB1.E2)并消去表中任何重复行而派生出1.个结果表。当A1.1.骸UNION一起使用时(即UNIONA1.1.),不消除重复行。两种情况下,派生表的每一行不是来自TAB1.E1.就是来自TAB1.E2B:EXCEPT运算符EXCEPT运算符通过包括所有在TAB1.E1.中但不在TAB1.E2中的行并消除所有重复行而派生出一个结果表。当A1.1.随EXCEPT一起使用时(EXCEPTA1.1.),不消除重复行。c:Ivterscct运算符INTERSECT运算符通过只包括TAB1.E!和TAB1.E2中都有的行并消除所有重复行而