当前位置:网站首页 > 软件教程 > 正文

SQL常用语句总汇

作者:admin发布时间:2021-11-02分类:软件教程浏览:评论:0


导读:一、增:有4种方法  1.使用insert插入单行数据:                   语法:insert[into]<表名>[列名]values<列值>     例:insertintoStudent
一,增:有4种方式
  1.应用insert插进单行数据信息:
                   英语的语法:insert [into] <表名> [字段名] values <列值>
     例:insert into Students (stuName,stuAge,stuBirthday) values ('难过的小排水沟',18,'1987/6/15')
     留意:into能够省去;列位居值用分号分离;列值用反斜杠因上;假如省去表名,将先后插进全部列,年纪的基本数据类型为整形

  2.应用insert select句子将目前表格中的数值加上到已经有的新表中
                   英语的语法:insert into <已经有的新表> <字段名> select <原表字段名> from <原表名>
     例:insert into TongXunLu (name,address,email)
                     select stuName,stuAddr,stuEmail
                     from Students
                   留意:into不能省去;查看获得的数据信息数量,次序,基本数据类型等,务必与插进的项保持一致

  3.应用select into句子将目前表格中的数值加上到新创建表格中
                   英语的语法:select <字段名> into <新创建表名> from <源表名>
     例:select stuName,stuAddr,stuEmail into TongXunLu from Students
     留意:新表是在执行查询句子的情况下建立的,不能够事先存有
     在新表中插进标志列(关键词‘identity’):
     英语的语法:select identity (基本数据类型,标志种籽,标志增长率) AS 字段名
                      into 新表 from 原表名
     例:select  Students.stuName,Students.stuAddr,Students.stuEmail,indetity(int,1,1) as stuId into  TongXueLu from Students 

      留意:关键词‘identity’


  4.使用union关键词合拼数据信息开展插进几行
     英语的语法:insert into <新表名> <字段名> select <字段名> from <表名> union select <字段名>from <表名> ...
     例:insert into TongXueLu (name,age,birthday)
                     select stuName,stuAge,stuEmail from Students union

                     select gName,gAge,gEmail from Grade

           或 insert into TongXueLu(name,sex,birthday) 

                         select stuName,stuAge,stuBirday from Students where StuSex = '男' union

                         select stuName,stuAge,stuBirday from Students where stuAge > 12

   留意:union 应用也需要留意表结构务必同样,也是有是这两个表的列务必同样的列,基本数据类型也务必同样。into能够省去

二,删:有2中方式
  1.应用delete删掉数据信息一些数据信息
                  英语的语法:delete from <表名> 

                          [where <删掉标准>]

     例:delete from Students where stuName='难过的小排水沟'
                  留意:删掉整行并不是删掉单独字段名,因此在delete后边不可以发生列名
  2.应用truncate table 删掉全部表的数据信息
                  英语的语法:truncate table <表名>
     例:truncate table Students
     留意:删除表的全部行,但表的构造,列,管束,数据库索引等不容易被删掉;不可以用以有外建管束引入的表

三,改
  
使用update升级改动数据信息
                 英语的语法:update <表名> set <字段名=升级值> 

                         [where <升级标准>]
     例:update Student set stuSex = '男/女' where 名字='难过的小排水沟'
     留意:set后边能够紧随好几个数据信息列的升级值;where子句是可选择的,用于限定标准,如果不选择全部表的全部行都被升级

四,查

      1.一般查看

英语的语法:select <字段名> from <表名>

[where <查询条件表述试>]

[order by <排列的字段名>]

[asc或desc]]
   1).查看全部数据信息列和行
    例:select * from Students
    表明:查看Students表格中全部列和行
   2).查看一部分队伍--标准查看
    例:select stuName,stuSex  from Students where stuAge = 5
    表明:查看表Students中 stuAge = 5 的全部行,并表明 stuName,stuSex 多列
   3).在查看中应用 as 变更字段名
    例:select stuName as '名字' fromStudents where stuSex = '男'
    表明:查看Students表格中性別为男的全部行,表明 stuName列,并将 stuName列 更名为 '名字' 表明
   4).查看空白行
    例:select stuName fromStudents where stuEmail is null
    表明:查看表Students中 stuEmail 为空的全部行,并表明 stuName列;SQL句子选用 is null 或是 is not null 来辨别是不是为空白行
   5).在查看中应用变量定义
    例:select stuName,'大大的' as A from Students
    表明:查看表Students,表明stuName,并建立一个 新列A,给 A列 取值'大大的'
   6).查看回到限定个数(关键词:top  percent)
    例1:select top 6 stuName from Students
    表明:查看表Students,表明前6行 stuName列的值,top 为关键词
    例2:select top 60 percent stuName from Students
    表明:查看表Students,表明列 stuName的60%,percent 为关键词
   7).查看排列(关键词:order by , asc , desc)
    例:select stuName from Students 

            where stuAge >= 16 order by stuId desc
    表明:查看表格中 stuAge 高于或等于16的全部行,并按 stuId 降序表明 stuName 列;默认设置为 asc 降序

  2.模糊搜索
   1).应用like开展模糊搜索
    留意:like计算副只术语字符串数组,因此仅与 char 和 varchar 基本数据类型协同应用
    例:select * from Students where stuName like '张%'
    表明:查看表明表 Students 中,stuName 字段名第一个字为张的纪录

   2).应用 between 在某一范畴内开展查看
    例:select * from Students where stuAge between 18 and 20
    表明:查看表明表 Students 中 stuAge 在 18 到 20 中间的纪录
   3).应用in 在例举值内开展查看
    例:select stuName from Students where stuAddr in ('西安市','西安大雁塔','秦始皇兵马俑')
    表明:查看表 Students 中 stuAddr 数值 '西安市','西安大雁塔','秦始皇兵马俑' 纪录,表明 stuName 字段名

  3.排序查看

       1).应用group by 开展排序查看
    例:select studentID as '学生序号', AVG(score) as '均值考试成绩'  
               from Exam group by stuId
    表明:在表 Exam 中查看,按 stuId 字段名排序,表明 stuId 字段名和 score 字段名的均值;select句子中只容许被排序的列和为每一个排序返               回的一个值的表述试,比如用一个字段名做为主要参数的聚合函数
   2).应用having子句开展排序挑选
    例:select stuId as '学生序号',AVG(score) as '均值考试成绩' from Exam 
        group by stuId having count(score)>1
    表明:接上边事例,表明排序后 count(score)>1 的行,因为 where 只有在沒有排序时应用,排序后才能应用 having 来限定标准,

  4.多表连接查看
   1).内连接
    ①在where子句中特定连接标准
    例:select a.name,b.sex from a,b where a.name=b.name
    表明:查看 表a 和 表b 中 name 字段名相同的纪录,并表明 表a 中的 name 字段名和表b 中的 sex 字段名
    ②在from子句中应用join…on
     例:select a.name,b.sex from a

              inner join b on a.name = b.name
     表明:同①
   2).外连接
    ①左外连接查看
     例:select s.name,e.courseId,e.score from Students as s
        left outer join Exam as e on s.scode=e.stuId
     表明:在 Students表 和 Exam表 中查看达到 on 标准的行,标准为Exam表 的 stuId 与 Students表 中的 sconde 同样
    ②右外连接查看 
     例:select s.name,e.courseId,e.score from Students as s
        right outer join Exam as e on s.scode=e.stuId

标签:SQL语句


欢迎 发表评论: