Sql 基础知识总结

一.My Sql 增,删,改,查基本操作语句:

     1(增):     insert into 表名 (列名) values 值列表      insert into 表名 values 值列表(插入所有列)     

     【扩展】插入多行:      1种:insert into <表名> (列名)           

               2种:  select 列名     into <表名>     from <源表名>           【注】创建表,复制列名的结构及数据到新表中,但是,这个SQL语句只能使用一次

             3种: insert into <表名> (列名)     select 值列表 union     select 值列表 

   2(删):  delete from 表名 [where条件] 

                  truncate table 表名    【注】1.不能删除有外键的表  2.删除的数据不能恢复 3.标识列从1开始重新计算(与delete相反)

   3(改):  update 表名 set 列名=值 ,列名2=值2 [where条件]

   4(查):  select 列名 from 表名 [where 条件]        

       *多表查询:   

           内连接(inner join ):     select    表1.列名,表2.列名     from 表名1 as 表1

                        inner join 表名2 as 表2         

                        on 表1.字段名=表2.字段名      

                             inner join 表名3 as 表3           

                       on 表1.字段名=表3.字段名

           外连接:         

              左外:                select 表1.列名,表2.列名 from 表名1 as    表1

                      left outer join 表名2 as 表2               

                     on 表1.字段名=表2.字段名          

                 右外:                  select 表1.列名,表2.列名 from 表名1 as     表1

                     right outer join 表名2 as 表2               

                     on 表1.字段名=表2.字段名

                  * 分组查询(group by...having)     

            select 列名(group by 的列名,或者函数) from 表名     

            where [条件]     

            group by 列名     

            having 条件     

            order by 排序[asc|desc]

二.其它知识点

         1. 模糊查询三种方式      第一种:select 列名 from 表名 where 列名 like ‘‘             

             【补充】常见通配符有以下四种:          _ : 一个字符          % : 任意长度的字符          []:区间内的字符         [^]: 不区间内的字符             

               第二种:select 列名 from 表名 where 列名 in (值1,值2)     

                 第三种:select 列名 from 表名 where 列名 between 值1 and 值2   

     2. 判断是否为空    为空: 列名 is null or 列名=‘‘  

           不为空: 列名 not is null and 列名!=‘‘      

  

     3常用函数

         A. 聚合函数       SUM(列名):和       MAX(列名):最大值       MIN(列名):最小值       AVG(列名):平均值       COUNT(列名):列数

         【注】  聚合函数是求不为空的个数、值、或者和

         B. 日期:  当前日期:getdate()         

                   datediff(日期部分,日期1,日期2):求日期部分的差         

            dateadd(日期部分,增加值,指定日期)         

            datepart(日期部分,指定日期)         

              datename(日期部分,指定日期)

        C. 字符串函数

                 a. charindex(寻找的字符,搜索列[,起始位置]);         在一段字符中搜索字符或字符串,返回起始位置

              【注】:起始位置从1开始,如果没有找到返回0)         e.g select * from Student where charindex(‘金‘,StudentName)>0     

           b. len(字符串|列名):返回字符串长度          select len(‘hello world‘); 返回11     

           c. upper(字符串|列名):把传递的值转换成大写           select upper(‘hello world‘); HELLO WORLD    

            d. ltrim(字符串|列名):去字符串左边的空格      rtrim(字符串|列名):去字符串右边的空格    e.g:select ltrim(‘   hello world   ‘);             

            select rtrim(‘  hello world    ‘);    

            e. right(字符串,长度):         从字符串右边返回指定数目的字符         left(字符串,长度)         从字符串左边返回指定数目的字符    

            f. replace(待搜索字符,待查询字符,替换用的字符)        替换一个字符串中的字符        e.g select replace(‘hello world‘,‘hello‘,‘hi‘);结果hi world

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。