• 项目中常用的SQL语句


    摘要: 对于像我一样的菜鸟级别人物来说,接触的项目比较少,平常做的那些练习,包括三层中,一般也只能用到增删改查,当然这些增删改查语句是学数据库语句的入门,在百度上搜索一大堆,w3cschool中帮助文档也可以查阅。

    这里是把平常用的增删改做一个小小总结,对一些小小项目也是比较适用的 ,当然,好记性不如烂笔头吗,这个时代纸质版的笔记感觉很欠缺,因为想要看的时候,你得找到那本书,而且要翻翻在哪里,感觉很不方便。并且电子版

    的随便copy之类的都可以。

    常用的sql语句(增删改查)

    1、增加、插入语句

    insert into TableName(columnname1,columnname2) values('val1','val2')
    
    insert into TableName values('val1','val2')     --插入一条数据
         insert into TableName (columnname1,columnname2)
         select 'val1','val2' union all
         select 'val3','val4' union all
         select 'val5','val6'                   --插入多条数据
         

    注:当然,平常项目中,执行多条插入操作可以用stringbuilder来拼接sql语句,或者条个sql语句之间用分号隔开,或者执行多次都可以的。

    2、删除语句

    delete from TableName where columnname1='val1'      --删除一条数据
    truncate table TableName        --清空表中的数据(不删除表),还原标识种子

    注:当然删除语句还有删除列,删除表什么的,不过,一般都不常用,当然,清空表中的数据也是不常用的,这里只是为了记住truncate

    3、修改(更新)数据语句

    update TableName set columnname1='val1' where columnname2='val2'              --修改(更新)值

    注:一般常用的修改也就这样了,比较容易记,当然还有alter,不过一般是对表或者什么的操作的吧

     

    4、查询数据

    select * from TableName  where columnname1='val1'
    
    select columnname1,columnname2  from TableName where columnname1='val1'            --查询一条数据
    select * from  TableName
        
    select columnname1,columnname2 from TableName       --查询所有数据
    select top 3 from TableName  where columnname1='val1'       --查询前三条数据
    
    select top 50 percent from TableName         --查询百分之多少数据
    
    select * from TableName order by columnname1 asc    --升序排序查询
    
    select * from TableName order by columnname2 desc     --反序排序查询
    
    select distinct columnname1 from  TableName      --对整个结果集去掉重复项查询
        select MAX(columnname1) from TableName             --求最大值
        
        select Min(columnname1) from TableName             --求最小值
    
        select Sum(columnname1) from TableName            --求总和
        
        select AVG(columnname1) from TableName            --求平均值(当然,平均值没有对有null进行计算,确切的应该用sum除以数量)
    select count(*) from TableName                --查询数据总条数
    
    select * from TableName where columnname1 like '%val1%'      --模糊查询
    
    select columnname1 ,count(*) from TableName group by columnname1            --分组查询

    注:这些查询一般用为单表查询,多种结合都可以得到想要对应的查询结果,这就得看需求来确定SQL语句

    5、高级查询

    (1)inner join

    --在表中存在至少一个匹配时返回行(只能查询两张表相匹配的数据)
    select column_name(s)
    from table1
    inner join table2
    on table1.column_name=table2.column_name;

    (2)left join

    --关键字从左表(table1)返回所有的行,即使右表(table2)中没有匹配。如果右表中没有匹配,则结果为 NULL。
    select column_name(s)
    from table1
    left out join table2
    on table1.column_name=table2.column_name;

    (3)right join

    --从右表(table2)返回所有的行,即使左表(table1)中没有匹配。如果左表中没有匹配,则结果为 NULL。
    select column_name(s)
    from table1
    right out join table2
    on table1.column_name=table2.column_name;

    (4)union

    --UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
    --UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同。
    select column_name(s) from table1
    union
    select column_name(s) from table2;

    总结: sql语句不是靠死记硬背的,根据逻辑去写,就很容易了。

  • 相关阅读:
    MySQL 你好,死锁
    Python+Scrapy+Selenium数据采集
    令牌桶限频(Token Bucket)
    Go 逃逸分析
    ElasticSearch 连载二 中文分词
    ElasticSearch 连载一 基础入门
    基于GitLab CI搭建Golang自动构建环境
    Go 性能分析之案例一
    MySQL InnoDB 行记录格式(ROW_FORMAT)
    MySQL InnoDB 逻辑存储结构
  • 原文地址:https://www.cnblogs.com/xsh-cs/p/7542490.html
Copyright © 2020-2023  润新知