网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > SQL语法 > 正文

SQL语法教育训练

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

【网学网提醒】:网学会员,鉴于大家对SQL语法教育训练十分关注,会员在此为大家搜集整理了“SQL语法教育训练”一文,供大家参考学习!


    SQL语法教育训练目标:能够清楚说明SQL与SUNLIKE系统的连接、简单语法使用、
    SQL效能调整期间:二个星期(下午半天讲师培训,上午自行练习)
    SQL环境的一些查询指令1.Sp_help
    /列出目前的Database所有的Table2.Sp_columnsauthors
    /列出authors这个Table所有栏位的资讯3.Sp_Server_Info
    /SQLServer的设定讯息4.Sp_Who
    /查出SQLServer有谁在上面正在做什么事5.Sp_HelpSort
    /查出SQLServer的SortOrder6.Sp_HelpServer
    /查SQLServerName
    单一Table的Select
     1.
    Select*fromAccn
    /列出Accn这个Table所有的资料
    2.SelectAcc_No,Name,Acc_No_Up,DC,Eng_NamefromAccn/列出Accn这个Table内的Acc_No,
    Name,Acc_No_Up,DC,Eng_Name五个栏位的所有资料
    3.SelectAcc_No,Name+’’+Eng_NameFrmeAccn/列出Accn这个Table内的Acc_No及Name,Eng_Name两个栏位字串相加后的资料
    4.SelectAcc_No,Name+’’+Eng_Nameas“FullName”FromAccn/同上,并替Name+’’+Eng_Name两个栏位字串相加后的栏位加上表头名称“FullName”
    5.Select*FromAccnWhereAcc_No=’1111’/由Accn这个Table,找出Acc_No这个栏位为’1111’的资料。
     6.Select*FromAccnorderbyAcc_No/由Accn这个Table,找出Acc_No这个栏位排序由小到大
    7.SelectAcc_No,count(*)FromAccnGroupbyAcc_No/由Accn这个Table,找出Acc_No栏位个别计算笔数
    8.Select*FromAccnWhereNamelike’应%’/由Accn这个Table,找出Name栏位开头为“应”的资料
    9.Select*FromAccnWhereNamelike‘%款’/由Accn这个Table,找出Name栏位结尾为“款”的资料
    10.Select*FromAccnWhereNamelike‘%版%’/由Accn这个Table,找出Name栏位资料中有“收”的资料
    11.SelectDistinctMak_NofromVhed/由Vhed个Table,找出Mak_No栏位,但相同的资料只列出一笔
     12.Selectmak_No,Mak_Dat,Voh_IdfromDB_0003..VhedwhereVoh_Id=’4’/若不在Dn_0003的DataBase内,亦可透过指定的方式抓取Db_0003..Vhed的Table,正确的语法databaseName.Owner.TableName’Owner若是自己可省略不打。
    13.Where可以为+,>,<,>=,<=,<>,in(),notin()
    14.SelectMak_No,Mak_Dat,Voh_IdFromVhedWhereVoh_Idin(‘3’,’4’)/由Vhed这个Table,找出Mak_No,Mak_Dat,Voh_Id栏位,Voh_Id这个栏位为‘3’或‘4’的资料
    15.Select*FromSalm/列出Salm这个Table所有的资料
    16.
    SelectPs_No‘订单号码’,Sum(Qty)‘合计’FromTf_pss
    WherePs_Noin(‘SA91010001’,’SA97030001’)GroupbyPs_No/由Tp_Pss这个Table,Ps_No找出Qty栏位全计,Ps_No依且这个栏位为‘SA91010001’,’SA97030001’的资料
     17.SelectPs_No“订单号码”Sum(Qty)“合计”FromTF_PSS,WherePs_Noin(‘SA91
    010001’,’SA97030001’)GroupbyPs_NoHavingSum(Qty)>1/由TF_PSS这个Table,Ps_No找出Qty栏位合计,PS_No依且这个栏位为‘SA91010001’,’SA97030001’的资料,且合计需大于1才列出
    多个Table的select1.Select*FromMf_pss/列出Mf_Pss这个Table所有的资料
    2.Select*FromTF_PSS/列出TF_PSS这个Table所有的资料
    3.
    Select*FromMF_PSS,TF_PSS
    /列出MP_PSS及TF_PSS这两个Table所有的资料,请注意这个资料不是我们所想要的,因为列出来的是指两个Table的笔数相乘之后的结果,没能任何关系性,所以请看下面列子
    4.Select*FromMF_PSS,TF_PSSWhereMF_Pss.Ps_No=TF_Pss.
     Ps_No/列出MF_PSS及TF_PSS这两个table所有的资料,但两个Table的PS_No相同的资料合并成一笔列出
    5.
    Select*FromMf_PssA,TF_PssBWhereA.PS_Id=b.PS_Id
    /同上例,可将MF_PSS取别名A,TF_Pss取别名B,如此若要使用很多栏位时,只要在栏位前面的tablename改用别名表示即可,省略打字的时间,亦不容易打错6.SelectA.Ps_id,A.Ps_No,A.PS_Dd,B.Ps_IdfromTF_PssB,MF_PssAwhereB.PS_id=A.PS_idandB.Qty>100
    /列出MF_Pss及TF_Pss这两个Table的某些栏位,两个Table的Ps_Id相同的资料合并成一笔列出,且TF_Pss的Qty栏位需大于100才列出。
    7.SelectA.Ps_id,A.PS_NO,A.PS_DDfromMF_PssA,TF_PSSBWhereB.PS_id=A.PS_idandB.Qty>100./列出MF_PSS这个Table的某些栏位,但参考到TF_PSS这个Table的Qty栏位需大于100才列出
    8.SelectPS_id,Ps_No,PS_DDFromDB_0003..MF_PSSWhere
     (PS_Id)in(SelectPS_idFromTF_PSSWhereQty=100)/同上,但请注意第6,7,8三个作法是否类似,但结果不同,在第6,7题会比第8题多出一笔,因为有一个MF_PSS有两笔的TF_Pss,造成第6,7题所列出的资料可能不是我们所要的,若要避免这个情形,就要使用第8题的作法,总结来说:要列出某一Table的资料,却必须参考其它Table的条件,则使用in的语法是最正确的
    1.Select*FromMF_PssWhereSubstring(Ps_No,3,4)=‘9703’/MF_PSS这个Table,PS_No这个栏位从第三个byte开始四个byte为’9703’的记录列出来,Substring是一个字串函数
    2.
    Select
    *
    From
    MF_Pss
    Where
    PS_No
    Between
    ‘PC97030001’and‘97090003’/由MF_PSS这个Table,PS_NO这个栏位为介于‘PC97030001’and‘97090003’的资料,包含
    ‘PC97030001’及‘97090003’
    3.SelectPS_No,PS_DD,Qty“订单数量”,Qty*1.1“实际出货
     数量”FromTF_PSS/由TF_PSS这个Table,列出PS_No,,PS_DD,Qty三个栏位及Qty这个栏位的值乘上1.1之后一起列出
    4.Select*IntoMPSSfromMF_Pss/将MF_PSS这个Table所有资料写入MPSS的Table内,注意MPSS为新的Table
    5.Select*
    IntoTPSSfromTF_Pss/将TF_PSS这个Table所有资料写入TPSS的Table内,注意TPSS为新的Table
    6.Select*fromTPSS
    7.DeleteTPSSWherePS_No=‘PC97030001’/将TPSS这个Table内PS_No为‘PC97030001’的记录删除8.Select*FromMPSSWherePS_NONotin(SelectPS_NoFromTPSS)/将MPSS这个Table内PS_No在TPSS找不到的记录列出来不,意思可以找出有表头没有表身或是有表身没有表头的资料
     9.InsertintoTPSS(Ps_Id,Ps_No,Ps_Dd,Qty,Itm,Wh)Values(‘SA’,’SA00310099’.’2000/3/10’,5,‘1’,‘0000’)/Insertinto指令可新增记录到Table内,例如新增资料到TPSS这个Table内,资料值就在Values后面的资料,若Insert全部栏位则TPSS后面的栏位可以省略
    10.UpdateTPSSSetQty=6WherePS_No=’PC97030001’/update指令可将栏位值改变,例如将TPSS这个Table内PS_No为‘PC97030001’的记录数量都改为6
    11.BEGINTRANSACTIONSelect*FromTPSSWherePS_No=‘PC97030001’UpdateTPSSSetQty=10WherePS_No=‘PC97030001’Select*FromTPSSWherePS_No=‘PC97030001’RollbackSelect*FromTPSSWherePS_No=‘PC97030001’/Rollback指令可将Update的资料回复成原来的值
    12.BEGIN
    TRANSACTION
     Select*FromTPSSWherePS_No=‘PC97030001’UpdateTPSSSetQty=20WherePS_No=‘PC97030001’Select*FromTPSSWherePS_No=‘PC97030001’CommitSELECT*FromTPSSWherePS_No=‘PC97030001’BEGINTRANSACTIONRollbackSelect*FromTPSSWherePS_No=‘PC97030001’/Commit指令可将Update的资料真正写入资料库内
    13.TruncateTableTPSS/Truncate指令可将Table的所有资料全部删除,Table架构但仍在,意即将Table清空
    14.DropTableTPSS/Drop指令可将Table删除
    SQL的效能调整一、清除LOG文件:1.LOG文件的日渐增大会占用海量存储器,降低SQL工作交通,
     因此要随时清除。2.对于刚开始使用SQL时,进入SQLSERVERENTERPRICEMANAGER(管理器),在指定数据库的PROPERTIES(道具)的OPTIONS(选项)中对AUTOSHRINK及TRUNCATELOGONCHECKPOINT两项选项打勾设置即可。3.如果没进行以上设置,则在SQLSERVERQUERYANALYZER(分析器)执行如下词句,之后再进行上条所述的设置:CREATETABLENEWTABLE(AINT)GOINSERTINTONEWTABLEVALUES(10)INSERTINTONEWTABLEVALUES(20)INSERTINTONEWTABLEVALUES(30)GODECLARE@COUNT=1SET@COUNT=1WHILE@COUNT<100BEGINUPDATENWETABLESETA=A+1BACKUPLOG数据库名WITHTRUNCATE)ONLYDBCCSHRINKDATABASE(数据库名)SET@COUNT=@COUNT+1
     END4.如果硬盘有分区(比如C盘和D盘),SQL安装在C盘。为节省空间,当LOG文件增大到一定程度,希望转增到D盘,可以进入SQLSERVERENTERPRICEMANAGER(管理器),在指定数据库的PROPERTIES(道具)的TRANSACTIONLOG中新增一个LOG在D盘即
    可。
    二、如何做REINDEX1.在SQLSERVERQUERYANALYZER(分析器)执行如下语句:DBCCDBREINDEX(table)2.在指定数据库的ALLTASKS(任务)中建立MAINTENANCE
    PLAN(维护计划),按指定期间自动执行JOB即可。3.在sunlike系统中备份出资料,再新建一帐套,恢复回来,系
    统就会自动重新索引。
    三、更改CODEPAGE1.执行SP_HELPSORT查看当前的SQL的CODEPAGE。2.3.4.停掉SQLSERVER。COPY数据库(SATA\*.MDF*.IDF)到指定路径。执行REBUILDM.EXE(BINN\).
     四、恢复数据库(SUSPECTSTATUS)sp_detach_db‘db_tt’,‘true’execsp_attach_db@dbname=N’db_tt’,@filename1=N’c:\mssql7\data\dat_tt.mdf,@filename1=N’c:\mssql7\data\log_tt.ldf,
    五、修补数据库记录(DBCCCHECKDB)1.DBCCCHECKDB(‘数据库名’REPAIR_FAST)快速修补,2.DBCCCHECKDB(‘数据库名’REPAIR_REBUILD)可重,新索引3.DBCCCHECKDB(‘数据库名’,
    REPAIR_ALLOW_DATA_LOSS)允许丢失记录
    
    
  • 上一篇资讯: SQL语法整理
  • 下一篇资讯: SQL语法教材
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师