sql增加和删除改查

一、增:有2种方法

1.选拔insert插入单行数据:

         语法:insert [into] <表名> [列名] values <列值>

   例:insert into Strdents (姓名,性别,出破壳日期) values ('王伟华','男','一九八五/6/15')

   注意:假设简单表名,将逐个插入全数列

 

2.使用insert,select语句将现成表中的 数据增加到原来就有个别新表中

        语法:insert into <本来就有的新表> <列名> select <原表列名> from <原表名>

  例:insert into addressList ('姓名','地址','电子邮件')select name,address,email          

                from  Strdents 

      注意:查询获得的数码个数、顺序、数据类型等,必需与插入的项保持后生可畏致

 

二、删:有2中方法

1.用到delete删除数据有些数据

    语法:delete from <表名> [where <删除条件>]    

    例:delete from a where name='王伟华'(删除表a中列值为王伟华的行)  

        注意:删除整行不是去除单个字段,所以在delete后边不能现身字段名

 

2.选择truncate table 删除全体表的多少

        语法:truncate table <表名>

    例:truncate table addressList

   注意:删除表的具备行,但表的构造、列、节制、索引等不会被去除;不能够

         用于有外建节制援引的表

 

三、改  使用update更新改善数据         

    语法:update <表名> set <列名=更新值> [where <更新标准>]

   例:update addressList set 年龄=18 where 姓名='王伟华'

   注意:set前面能够紧随八个数据列的更新值(非数字要引号);where子句是可选的(非数字要引号),用来约束标准,假设不选则整个表的富有行都被更新

 

四、查

1.平淡无奇查询

    语法:select <列名> from <表名> [where <查询条件发挥试>] [order by <排序的列  

          名>[asc或desc]]

   1).查询全数数据行和列

    例:select * from a

    表达:查询a表中保有行和

   2).查询部分行列--条件查询

    例:select i,j,k   from  a   where f=5

    表达:查询表a中f=5的装有行,并展现i,j,k3列

   3).在询问中央银行使AS改良列名

    例:select name as 姓名 from a where  gender='男'

    表明:查询a表中性别为男的富有行,展现name列,并将name列改名称为(姓名)呈现

   4).查询空行

    例:select name from a where email is null

    表明:查询表a中email为空的具有行,并展示name列;SQL语句中用is null或然is not null

                  来决断是或不是为空行

   5).在询问中选取常量

    例:select name '北京' as 地址 from a

    表达:查询表a,呈现name列,并加上地址列,其列值都为'法国首都'

   6).查询再次来到约束行数(关键字:top )

    例1:select top 6 name from a

    表达:查询表a,呈现列name的前6行,top为主要字(oracle 中并未有top关键字

             用rownum替代)

                          select   *   from   a where   rownum<6  

   7).查询排序(关键字:order by , asc , desc)

    例:select name

      from a

      where grade>=60

      order by desc

    表明:查询表中成就超越等于60的保有行,并按降序展现name列;默感到ASC升序

2.模糊查询

   1).使用like进行模糊查询

    注意:like运算副只用语字符串,

    例:select * from a where name like '赵%'

    表明:查询显示表a中,name字段第二个字为赵的记录

   2).使用between在某些范围内举办询问

    例:select * from a where age between 18 and 20

    表明:查询突显表a知命之年龄在18到20里边的笔录

    3).使用in在列举值内举办查询(in后是八个的多少)

        例:select name from a where address in ('北京','上海','唐山')

    表达:查询表a中address值为香港照旧新加坡照旧三亚的笔录,呈现name字段

3.分组查询

   1).使用group by进行分组查询

    例:select studentID as 学员编号, AVG(score) as 平均战绩  (注释:这里的score是列名)

      from score (注释:这里的score是表名)

      group by studentID

           2).使用having子句举行分组筛选

    例:select studentID as 学员编号, AVG    

from score

      group by studentID

      having count(score)>1

    表明:接上头例子,呈现分组后count(score)>1的行,由于where只好在一直不分组

       时使用,分组后不能不接受having来界定条件,

4.多表联接查询

   1).内联接

    ①在where子句中内定联接条件

    例:select a.name,b.mark

      from a,b

      where a.name=b.name

    表明:查询表a和表b中name字段相等的笔录,并展现表a中的name字段和表b中的mark字段

    

非原创,如有差别观点,多谢商酌引导!

本文由星彩网app下载发布于星彩彩票app下载,转载请注明出处:sql增加和删除改查

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。