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

SQL资料-1

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

【网学网提醒】:以下是网学会员为您推荐的SQL资料-1,希望本篇文章对您学习有所帮助。


    SQL资料
    基础说明:一、基础说明:通常会讲的对象:数据库(Database)、(table)、字段(column)、触发器(trigger)、(function)1.SQL通常会讲的对象:.数据库、表、字段、触发器、函数)、视图(views)、索引视图、索引(index)2.SQL语句中常讲的语句分为:select(查找、insert(插入、update(更新)语句中常讲的语句分为:查找)、插入)、、delete(删除、Create(创删除)、.查找插入(更新)、删除创使用)设置),修改)、清空)、建)、use(使用、Set(设置,alter(修改、truncate(清空、drop(删除)等、使用设置修改清空(删除)3.常见的语句格式查询语句:a.查询语句:查询语句select*from[table_name]注解:没写列名当用*时则表示返回所有列时则表示返回所有列,注解:没写列名当用时则表示返回所有列,所有行记录table_name为你要查询的表名select*from[table_name]wherecolumn1=’条件条件’条件注解:注解:当需要查询符合相关条件的数据则需加上where语句其中的column1表示要查询条件所在的列名。在的列名。如果需要多条件时再需要加上关键字AND再加上条件举例:条件’举例:select*from[table_name]wherecolumn1=’条件andcolumn2=’条件2’条件条件当我们查询的数据需要进行按某个字段或某几个字段进行排序时则需要使用关键字orderby与、ASC(升序)当不加时系统默认为升序。,当不加时系统默认为升序desc(倒序)(倒序)、(升序)当不加时系统默认为升序。,select*from[table_name]wherecolumn1=’条件andcolumn2=’条件2’条件’条件条件orderby1,2desc列进行倒序排列,建议最好以列名代其中的1,2表示表中的第一列与第二列,查询的结果将按这2列进行倒序排列,建议最好以列名代,替1,2这样可以让人一目了然,以上的条件用了”=”号,号这个表示精确查询,针对需要模糊查询时如查询字段中包含某字或字段:以上的条件用了这个表示精确查询,针对需要模糊查询时(如查询字段中包含某字或字段like糊查询时如查询字段中包含某字或字段):举例:举例:select*from[table_name]wherecolumn1LIKE’TEST%’andcolumn2like’%TEST%’orderby1,2desc其中的%则表示除了外的任何字段。其中的则表示除了TEST外的任何字段。对于查询条件需要注意其先后顺序,以提高其效率。针对其它关键字对于查询条件需要注意其先后顺序,以提高其效率。针对其它关键字:Or:条件或者的意思条件或者的意思In:在几个数据内在几个数据内Between:在数据范围之间:小于或等于)(不等于)不等),>=(
    大于或等于),=<(小于或等于),!=(不等于),<>(不等,isnull(空值)(大于或等于)不等(空值)distinct针对groupby于后期数据统计进行讲解
    b.插入语句(insert、selectinto)插入语句(插入语句、)insert语句格式:语句格式:insertintotable_name(column1,column2column3..)(‘value1’,’value2’,’value3..’)table_name:表示要同某表中插入一行数据表示要同某表中插入一行数据表示要column1,column2column3:要插入数据对应的列字段:‘value1’,’value2’,’value3..’:对应字段要插入的值:注明:值的类型要与列字段类型一致,如果不相同,注明:值的类型要与列字段类型一致,如果不相同,则会提示报错
     Select..into格式Select*intotable_namefromtable2当前数据库中不存生目标数据表(,则将注:如果SQL当前数据库中不存生目标数据表(table_name)则将table2结构与数据一起COPY,),,新建该表并填充相应的数据。新建该表并填充相应的数据。Select..into技巧1.如果需要建立某临时表表插入大量数据,实现,.如果需要建立某临时表表插入大量数据,应该采取用selectinto实现,相对先CREATEtable再insertdata速度要快,同时避免了大量的LOG产生。度要快,产生。2.select*intoafrombwhere1=2用于复制表结构将建一个与B表结构一样的A表。用于复制表结构,将建一个与.3.Select*intotable_name1fromselecta,b,cfromtable_name2where<条件1….>。将符合.条件。列中的数据,条件1等table_name2表中的abc列中的数据,复制到tablename_name1中,如果该表已存在请注意其列属性是否同查询出的字段一致4..Update更新语句1.updatetable_namesetcolumn_name=valuewhere条件1...注:修改表名为table_name中的符合条件1的字段名为column_name的值如:updateaseta_1=2wherea_1=1;则表示将A表中字段a_1=1的数据将A_1修改为等于2.则表示将2.updatetable_namesetcolumn_name1=value1,column_name2=value2……where条件1and条件2..该语句为上一语句的扩展。注:该语句为上一语句的扩展。
    Delete删除语句1.Delete*fromtable_namewhere条件1...的所有数据。其中可以省略其中的“”注:表明删除table_name表中的符合条件1的所有数据。其中可以省略其中的“*”。如果不附带条件则表示删除该表的所有数据Create使用2.通常我们常见的Create表示建立,主要用于建立(表、视图、索引、存储过程等)都会引用此关.表示建立,主要用于建立(视图、索引、存储过程等)键词。键词。3.新建表:Createtabletablename(col1type1notnull).新建表:4.删除
    表:Droptabletablename.删除表:5.新建视图:Createviewview_nameasselect*fromAwhere条件1.新建视图:6.删除视图:dropviewview_name.删除视图:7.5.新建索引:Createindexindex_nameontable_a(col1)新建索引:.新建索引8.6.删除索引dropindexindex_nameontable_a..9.7.创建存储过程:Createprocproc_nameasselect*fromAwhere条件1..创建存储过程:10.Execproc_name.11.8删除存储过程dropprocproc_name.12.针对CREATE还能创建序列等不常用不一一说明。还能创建序列等不常用不一一说明。.
    13.
    分析器中当前数据库不是我们目标数据库时,Use能常表常在T-SQL分析器中当前数据库不是我们目标数据库时,则可以用
     Usedatabase_name来快速转到我们所需的目标数据库。来快速转到我们所需的目标数据库。Altertable对已有的表中进行添加、修改或删除列已有的表中进行添加、进行添加1.添加列:AlterTabletable_nameaddcol_nametype.添加列:2.删除列:Altertabletable_namedropcolumncol_name.删除列:3.修改列:AlterTabletable_namealtercolumncol_nametype.修改列:
    TruncateTABLE命令Truncatetabletable_name清空该表。清空该表。从表面上看都是清空了表中的数据,的数据还是通过回滚来恢复,注:它与DELETE从表面上看都是清空了表中的数据,但是DELETE的数据还是通过回滚来恢复,则无法恢复。则TRUNCATE则无法恢复。
     二函数说明1.运算函数:.运算函数:avg()平均函数:返回查询数值列的平均值:SELECTAVG(col1)FROMtable_name平均函数:返回查询数值列的平均值:sum()求和函数:返回查询数值列的值总和:selectsum(COL1)from求和函数:返回查询数值列的值总和:table_namemax()最大值函数:返回查询数值列的最大值数据selectmax(col1)fromtable_name最大值函数:最大值函数min()最小函数返回查询数值列的最大值数据selectmin(col1)fromtable_name最小函数:最小函数First()第一个函数:返回查询数列的第一个数据值selectfirst(col1)from第一个函数:第一个函数table_nameLast()第一个函数:返回查询数列的第一个数据值selectlast(col1)fromtable_name第一个函数:第一个函数COUNT()计数函数:返回查询数据的记录条数selectcount(*)fromtable_name计数函数:ABS()绝对值函数对返回的数值进行取绝对值selectABS(-1)绝对值函数:对返回的数值进行取绝对值Ceiling()取整(大):selectceiling(-2.123)取整(Floor()取整(小):selectfloor(-2.123)取整(Round()四舍五入:selectround(3.1415926,4)四舍五入Cast()取整(截断):取整(截断):selectcast(1.23456asint)):Squa
    re()平方函数:selectsquare(2)平方函数:平方函数Sqrt()平方根函数平方根函数:selectsqrt(4)平方根函数2164
    Power()求任意数为底数的幂:selectpower(2,4)求任意数为底数的幂:求任意数为底数的幂Sign()取符号取符号:selectsign(-10)取符号
     PI()圆周率selectPI()圆周率:ISnull空值处理函数:selectisnull(COL1,5)空值处理函数:
    2.字符处理函数.Substring():截取字符串函数selectsubstring('abcdefg',2,5)----bcdef截取字符串函数Char()将ASI序号转字符函数:selectchar(97)将序号转字符函数函数:---a-----977
    Ascii()将字符转ASI序号函数:selectascii('a')将字符转序号函数函数:
    Charindex()字符串查找函数:selectcharindex(‘a’,’abcdefa’,2)---字符串查找函数:字符串查找函数Stuff()子串代替函数SELECTSTUFF('abcdef',2,3,'ijklmn')value子串代替函数:子串代替函数---aijklmnefReplace()替换函数selectreplace('ABCDEFG','bc','2')替换函数:替换函数REVERSE()反转字符串函数反转字符串函数:selectREVERSE(‘abcd’)Lower()Upper()大写转小写函数:selectlower(‘A’)大写转小写函数小写转大写函数:selectupper(‘a’)小写转大写函数----A2DEFG
    ----dcba
    LCASEUCASE
    Ltrim()删除左空格Rtrim()删除右空格Right()取右边的字符函数取右边的字符函数:selectright(‘12345’,3)----345取右边的字符函数Left()取左边的字符函数取左边的字符函数:selectleft(‘12345’,3)-----123取左边的字符函数Replicate重复相同字符串selectreplicate(‘abc’,3)---abcabcabc
     ------------------------------------------------------------------时间函数Getdate()获取时间函数获取时间函数:selectgetdate()获取时间函数求日期:求日期:selectconvert(char(10),getdate(),20)value求时间:求时间:selectconvert(char(8),getdate(),108)valueDatediff()2日期时间差函数:selectdatediff(dd,’2011-12-10’,getdate())日期时间差函数:Dateadd()时间增加函数:selectdateadd(dd,3,'2011-12-12')—--2011-12-15时间增加函数:时间增加函数Datepart()返回当前时间的日期函数:selectdatepart(mm,'2011-12-12')----12返回当前时间的日期函数:返回当前时间的日期函数3.操作符.
    LIKEINANDOR
    (通配符%,_),)
    BETWEENEXISTS:判断是否存在,与IN类似,但效率比IN高。类似,判断是否存在,InnerjoinLeftjoinRightjoinCase..(when..then)..elseendUnion组合2个表,2个表体的结构需要一样。但允许重复时采用unionall个表,个表体的结构需要一样。
    4.运算符.10/――――3/:除法SELECT10/3――――3:select10/3.0-----3.33333
     %:求余select10%3------1求余+:加法:select1+2加法:加法-----3号则为连接符如:
    注:如何时为字符串时+号则为连接符如:select‘1’+’2’如何时为字符串时号则为连接符如-------12>:大于大于<:小于:>=:大于或等于:<=:小于或等于:<>:不等于:!=:不等于:
    其它:其它:1.Distinct:去掉重复记录。去掉重复记录。去掉重复记录如:selectdistinct*fromtable_A2.多表关联查询:多表关联查询:多表关联查询TABLE_AA_NOA_NAME1A2B3AA_COUNT10205TABLEBB_NOB_name1A2BB_typeYT
    SELECTA.A_NO,A.A_NAME,B.B_TYPE,A.A_COUNTFROMTABLE_AA,TABLE_BBWHEREA_NAME=B.B_nameA_NOA_NAMEB_TYPEA_COUNT1AY102BT203AY53.分类汇总分类汇总函数来可以合计相关数量,我们知道通过sum()函数来可以合计相关数量,如果需要分类汇总则需采取groupby函数来可以合计相关数量SelectA_NAME,SUM(A_COUNT)FROMTABLE_AGROUPBY-------------------------------------A_NAMEA_COUNTA_NAME
     AB
    1520
    查询是否有相同的数据(4.查询是否有相同的数据(havingcount(*))查询是否有相同的数据)如:查询TABLE_A中A_NAME列中相同的数据有那些SelectA_namefromtable_agroupbya_namehavingcount(*)>1----------------------------------------------------------A_nameA5.查询前2或多条数据查询前Selecttop2fromTABLE_AORDERBYA_NOASC-------------------------------------------A_NOA_NAMEA_COUNT1A102B20如果是取最后几条数据Selecttop2fromTABLE_AORDERBYA_NOdesc-------------------------------------------A_NOA_NAMEA_COUNT3A52B20
    7.类型转换(convert)类型转换(类型转换)当类型格不符时将无法正确的调用函数进行运算,如字符性数值当我们用+号则会把号则会把+当连接符来处当类型格不符时将无法正确的调用函数进行运算,如字符性数值当我们用号则会把当连接符来处理。此时则需要用convert()函数来转变函数来转变Selectconvert(float,’2011’)+convert(bigint,’123123’)通过convert函数可能进行多种的类型转换8.in和notin也要慎用,否则会导致全表扫描,如:.也要慎用,否则会导致全表扫描,selectidfromtable_AwhereA_numin(1,2,3)对于连续的数值,对于连续的数值,能用between就不要用in了:selectidfromtable_AwhereA_numbetween1and3
    9.应尽量避免在where子句中对字段进行表达式操作,这将导致引擎放弃使用索引子句中对字段进行表达式操作,而进行全表扫描。而进行全表扫描。如:
     selectidfromtable_AwhereA_num/2=100应改为:应改为selectidfromtable_AwhereA_num=100*210.尽量用exists代替in::selectA.A_numfromtable_AwhereA_numin(selectB_numfromTABLE_B)用下面的语句替换:用下面的语句替换:selectA.A_umfromtable_AAwhereexists(select1fromtable_Bwhe
    reB_num=A.num)子句中对字段进行函数操作,11.应尽量避免在where子句中对字段进行函数操作,这将导致引擎放弃使用索引而进
    行全表扫描。行全表扫描。如:selectA_NOfromTABLE_Awheresubstring(TABLE_COL1,1,3)='abc'应改为应改为:应改为selectA_NOfromTABLE_AwhereTABLE_COL1like'abc%'
    
    
  • 上一篇资讯: SQL跟踪分析资料
  • 下一篇资讯: SQL语言的分类及语法
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师