• SQL 基本知识


    四个基础语法
    1. insert into 表名 (列名) [values] 值列表
    insert into 表名 values 值列表
    【扩展】插入多行:
    1. insert into <表名> (列名)
    select 列名
    from <源表名>

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

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

    2. delete [from] 表名 [where条件]

    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,表名2 as 表2,表名3 as 表3 

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

        and  表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.字段名

      其它知识点

         1. 模糊查询三种方式
          第一种:select 列名 from 表名 where 列名 like '表达式'
          /*
          常见通配符有以下四种:
            _ : 一个字符
            % : 任意长度的字符
            []:区间内的字符
            [^]: 不区间内的字符
            */
          第二种:select 列名 from 表名 where 列名 in (值1,值2)
          第三种:select 列名 from 表名 where 列名 between 值1 and 值2

          【注】:值2不大小于值1


        2. 判断是否为空
          空: 列名 is null or 列名=''
          不为空: 列名 not is null and 列名!=''

        3. 分组(group by...having)
          select 列名(group by 的列名,或者函数) from 表名
          where [条件]
          group by 列名
          having 条件
          order by 排序[asc|desc]

    函数

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

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

      2. 日期:当前日期:getdate()
        datediff(日期部分,日期1,日期2):求日期部分的差
        dateadd(日期部分,增加值,指定日期)
        datepart(日期部分,指定日期)
        datename(日期部分,指定日期)

      3. 字符串函数

        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

  • 相关阅读:
    English,The Da Vinci Code, Chapter 23
    python,meatobject
    English,The Da Vinci Code, Chapter 22
    English,The Da Vinci Code, Chapter 21
    English,The Da Vinci Code, Chapter 20
    English,The Da Vinci Code, Chapter 19
    python,xml,ELement Tree
    English,The Da Vinci Code, Chapter 18
    English,The Da Vinci Code, Chapter 17
    English,The Da Vinci Code, Chapter 16
  • 原文地址:https://www.cnblogs.com/doubleyong/p/4312843.html
Copyright © 2020-2023  润新知