您的位置:新葡亰496net > 网络数据库 > 新葡亰496net增加和删除改查sql语句语法,sql增加

新葡亰496net增加和删除改查sql语句语法,sql增加

发布时间:2019-07-21 06:11编辑:网络数据库浏览(169)

    一、增:有2种方法

    一、增:有2种方法

    一、增:有2种方法

    一、增:有2种方法

    转载源:

    1.用到insert插入单行数据:

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

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

    1.利用insert插入单行数据:

     

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

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

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

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

     

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

       例:insert into Strdents (姓名,性别,出生日期) values ('王伟华','男','1982/6/15')

       例:insert into Strdents (姓名,性别,出出生之日期) values ('王伟华','男','1981/6/15')

       例:insert into Strdents (姓名,性别,出生日期) values ('王伟华','男','1981/6/15')

    一、增:有2种方法

       注意:即使轻松表名,将逐条插入全体列

       注意:假诺简单表名,将相继插入全数列

       注意:假诺简单表名,将次第插入全体列

       注意:若是轻便表名,将逐一插入全数列

    1.施用insert插入单行数据:

     

     

     

     

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

    2.用到insert,select语句将长存表中的 数据增加到已某个新表中

    2.行使insert,select语句将现成表中的 数据增进到已有的新表中

    2.施用insert,select语句将长存表中的 数据增加到已部分新表中

    2.利用insert,select语句将现成表中的 数据增进到已有些新表中

     

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

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

            语法:insert into <已有个别新表> <列名> select <原表列名> from <原表名>

            语法:insert into <已有些新表> <列名> select <原表列名> from <原表名>

    create table TblStudent --学生表

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

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

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

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

    (

                    from  Strdents 

                    from  Strdents 

     --省略列名

                    from  Strdents 

    tSId int identity(1,1) primary key,  --id

          注意:查询获得的多寡个数、顺序、数据类型等,必须与插入的项保持一致

          注意:查询得到的多寡个数、顺序、数据类型等,必须与插入的项保持一致

      insert into TblTeacher values('刘岐','男',30,1500000,'1983-10-10','2012-5-8')

          注意:查询获得的数据个数、顺序、数据类型等,必须与插入的项保持一致

    tSName nvarchar(50) not null, --姓名

     

     

          注意:查询得到的数据个数、顺序、数据类型等,必须与插入的项保持一致

     

    tSGender nchar(1), --性别

    二、删:有2中方法

    二、删:有2中方法

     

    二、删:有2中方法

    tSAddress nvarchar(500), --地址

    1.运用delete删除数据有个别数据

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

    二、删:有2中方法

    1.施用delete删除数据某个数据

    tSAge int, tSBirthday datetime, --年龄

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

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

    1.行使delete删除数据有些数据

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

    tSCardId varchar(18),--居民身份证号

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

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

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

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

    tSClassId int  --班级

            注意:删除整行不是删除单个字段,所以在delete后边不能够冒出字段名

            注意:删除整行不是剔除单个字段,所以在delete前面不能出现字段名

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

            注意:删除整行不是删除单个字段,所以在delete前边不可能冒出字段名

    )

     

     

            注意:删除整行不是剔除单个字段,所以在delete前边不可能冒出字段名

     

       常见运用:

    2.采用truncate table 删除全数表的数量

    2.选用truncate table 删除全部表的多寡

     

    2.选拔truncate table 删除全体表的数码

             --1向TblStudent表中插入一条数据

            语法:truncate table <表名>

            语法:truncate table <表名>

    2.选用truncate table 删除全部表的多寡

            语法:truncate table <表名>

            insert into  TblStudent(TSName,tsgender,tsaddress,tsage,tsbirthday,tscardId,tsclassid) values('熊仪','女','东方之珠市海淀区',16,'一九九九-5-5','123456789654123697',1)

        例:truncate table addressList

        例:truncate table addressList

            语法:truncate table <表名>

        例:truncate table addressList

             --2向表中部分列插入数据 insert into TblStudent(tSName,tSgender,tsage) values('刘丽','女',15)

       注意:删除表的有着行,但表的协会、列、约束、索引等不会被删去;不可能

       注意:删除表的富有行,但表的组织、列、约束、索引等不会被删除;不可能

        例:truncate table addressList

       注意:删除表的全部行,但表的组织、列、约束、索引等不会被删除;不能够

             insert into TblStudent(tSName,tSgender,tsage) values('石蓉','女',15)

             用于有外建约束援引的表

             用于有外建约束援引的表

       注意:删除表的持有行,但表的结构、列、约束、索引等不会被剔除;不能够

             用于有外建约束引用的表

            --3借使向表中的装有列(除自动编号以外的全体列)都要插入值,那么能够回顾列名,同一时候必须保障后边的值列表中的顺序必须与表中列的依次一致。

     

     

             用于有外建约束援引的表

     

             insert into TblStudent values('刘每天','男','上海市海淀区',17,'一九九四-5-5','123456789654123698',1)

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

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

     

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

     

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

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

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

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

    2.应用insert,select语句将现存表中的 数据增加到已部分新表中

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

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

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

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

            语法:insert into <已有些新表> <列名> select <原表列名> from <原表名>

       注意:set前面能够紧随多个数据列的更新值(非数字要引号);where子句是可选的(非数字要引号),用来界定规范,假诺不选则全体表的保有行都被更新

       注意:set前边能够紧随三个数据列的更新值(非数字要引号);where子句是可选的(非数字要引号),用来限制标准,假如不选则整个表的有所行都被更新

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

       注意:set前边能够紧随四个数据列的更新值(非数字要引号);where子句是可选的(非数字要引号),用来限制标准,如若不选则全体表的具有行都被更新

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

     

     

        update TblStudent set tsAge=tsAge-1,tsname=tsname '(女)' where tsgender='女'

     

                    from  Strdents 

    四、查

    四、查

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

    四、查

          注意:查询获得的数码个数、顺序、数据类型等,必须与插入的项保持一致

    1.常备查询

    1.习感到常查询

     

    1.常见查询

     3.向机动编号列插入值

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

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

     

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

    create table TblClass

              名>[asc或desc]]

              名>[asc或desc]]

    四、查

              名>[asc或desc]]

    (

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

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

    1.普通查询

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

    tClassId int identity(1,1) primary key,

        例:select * from a

        例:select * from a

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

        例:select * from a

    tClassName nvarchar(50)

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

        表明:查询a表中有所行和

              名>[asc或desc]]

        表明:查询a表中存有行和

    )

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

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

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

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

    SET IDENTITY_INSERT TblClass ON --开启手动插入

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

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

        例:select * from a

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

    insert into TblClass(tClassId,tClassName) values(101,'测试a')

        表达:查询表a中f=5的有着行,并显示i,j,k3列

        表达:查询表a中f=5的具备行,并显示i,j,k3列

        表明:查询a表中有所行和

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

    SET IDENTITY_INSERT TblClass off --关闭手动插入

       3).在查询中利用AS改变列名

       3).在询问中选拔AS改动列名

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

       3).在询问中应用AS改造列名

    那时相当于闭馆了主键自增加约束,能够自定义id值,只要id不另行。

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

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

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

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

     

        表达:查询a表中性别为男的具有行,显示name列,并将name列改名称为(姓名)展现

        表明:查询a表中性别为男的具备行,显示name列,并将name列改名叫(姓名)显示

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

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

    4 在SQL语句中的直接写的字符串中,假如含有汉语,必须要在字符串前边加N(表示Unicode编码),不然大概出现编码错误(数据造成了问号)

       4).查询空行

       4).查询空行

       3).在询问中使用AS改动列名

       4).查询空行

    insert into TblClass(tClassId,tClassName) values(100, N'测试a')

        例:select name from a where email is null

        例:select name from a where email is null

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

        例:select name from a where email is null

    二、删:有2中方法

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

        表达:查询表a中email为空的有所行,并呈现name列;SQL语句中用is null大概is not null

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

        表明:查询表a中email为空的保有行,并体现name列;SQL语句中用is null或许is not null

    1.使用delete删除数据有个别数据

                      来判别是不是为空行

                      来判别是或不是为空行

       4).查询空行

                      来决断是不是为空行

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

       5).在询问中应用常量

       5).在询问中央银行使常量

        例:select name from a where email is null

       5).在询问中应用常量

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

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

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

        表明:查询表a中email为空的富有行,并显示name列;SQL语句中用is null恐怕is not null

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

            注意:删除整行不是剔除单个字段,所以在delete前面无法冒出字段名

        表明:查询表a,展现name列,并丰盛地址列,其列值都为'新加坡'

        表明:查询表a,呈现name列,并加上地址列,其列值都为'东京'

                      来推断是还是不是为空行

        表达:查询表a,显示name列,并加上地址列,其列值都为'香港'

            假设不加限制条件,会删除全数数据。然而机关编号不会回复到早先值。

       6).查询再次回到限制行数(关键字:top )

    新葡亰496net增加和删除改查sql语句语法,sql增加和删除改查。   6).查询再次来到限制行数(关键字:top )

       5).在查询中应用常量

       6).查询重返限制行数(关键字:top )

           delete from Student  

        例1:select top 6 name from a

        例1:select top 6 name from a

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

        例1:select top 6 name from a

     

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

        表达:查询表a,显示列name的前6行,top为根本字(Oracle 中没有top关键字

        表明:查询表a,展现name列,并累加地址列,其列值都为'日本首都'

        表达:查询表a,显示列name的前6行,top为主要字(oracle 中一贯不top关键字

    2.应用truncate table 删除全部表的多少

                 用rownum替代)

                 用rownum替代)

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

                 用rownum替代)

            语法:truncate table <表名>

                              select   *   from   a where   rownum<6  

                              select   *   from   a where   rownum<6  

        例1:select top 6 name from a

                              select   *   from   a where   rownum<6  

        例:truncate table addressList

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

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

        表达:查询表a,展现列name的前6行,top为尤为重要字(Oracle 中没有top关键字

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

       注意:删除表的享有行,但表的构造、列、约束、索引等不会被删去;不能够

        例:select name

        例:select name

                 用rownum替代)

        例:select name

             用于有外建约束援引的表

          from a

          from a

                              select   *   from   a where   rownum<6  

          from a

    --truncate特点:

          where grade>=60

          where grade>=60

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

          where grade>=60

    --1>truncate语句不能够跟where条件(不可能根据标准来删除,只好全体去除数据)

          order by desc

          order by desc

        例:select name

          order by desc

    --2>同不时间自动编号恢复生机到开端值。

        表达:查询表中成就超过等于60的保有行,并按降序呈现name列;默认为ASC升序

        表明:查询表中成就抢先等于60的兼具行,并按降序展现name列;默以为ASC升序

          from a

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

    --3>使用truncate删除表中全数数据要比delete成效高的多。

    2.模糊查询

    2.歪曲查询

          where grade>=60

    2.模糊查询

    --4>truncate删除数据,不触发delete触发器。

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

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

          order by desc

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

     

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

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

        表达:查询表中作育超乎等于60的有所行,并按降序展现name列;默感到ASC升序

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

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

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

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

    2.歪曲查询

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

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

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

        表达:查询展现表a中,name字段第多个字为赵的记录

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

        表达:查询显示表a中,name字段第两个字为赵的笔录

       例:update addressList set age=18 where name='王伟华'  and age=18

       2).使用between在有个别范围内进行询问

       2).使用between在有个别范围内张开查询

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

       2).使用between在有些范围内进行询问

       注意:set前边能够紧随多少个数据列的更新值(非数字要引号);where子句是可选的(非数字要引号),用来界定条件,假若不选则整身体表面的保有行都被更新.

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

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

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

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

     

        表达:查询展现表a不惑之年纪在18到20里边的记录

        表达:查询呈现表a知命之年纪在18到20之间的笔录

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

        表达:查询显示表a中年龄在18到20之内的记录

    四、查

        3).使用in在罗列值内进行查询(in后是几个的数量)

        3).使用in在列举值内进行询问(in后是多少个的数量)

       2).使用between在有个别范围内张开询问

        3).使用in在列举值内举行询问(in后是四个的多寡)

    1.平日查询

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

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

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

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

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

        表达:查询表a中address值为东京依然北京要么西宁的笔录,显示name字段

        表达:查询表a中address值为东京依旧北京依然遵义的笔录,展现name字段

        表明:查询显示表a知命之年纪在18到20之间的记录

        表明:查询表a中address值为新加坡市要么北京或许揭阳的笔录,呈现name字段

              名>[asc或desc]]

    3.分组查询

    3.分组查询

        3).使用in在罗列值内举行查询(in后是四个的数量)

    3.分组查询

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

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

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

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

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

        例:select * from a

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

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

        表明:查询表a中address值为东方之珠市要么东京要么湖州的记录,展现name字段

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

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

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

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

    3.分组查询

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

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

          group by studentID

          group by studentID

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

          group by studentID

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

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

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

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

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

        表明:查询表a中f=5的有着行,并突显i,j,k3列

        例:select studentID as 学员编号, AVG    

        例:select studentID as 学员编号, AVG    

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

        例:select studentID as 学员编号, AVG    

       3).在查询中使用AS改造列名

    from score

    from score

          group by studentID

    from score

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

          group by studentID

          group by studentID

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

          group by studentID

        表达:查询a表中性别为男的享有行,显示name列,并将name列改名字为(姓名)呈现

          having count(score)>1

          having count(score)>1

        例:select studentID as 学员编号, AVG    

          having count(score)>1

       4).查询空行

        表明:接上头例子,展现分组后count(score)>1的行,由于where只好在并未有分组

        表达:接上头例子,呈现分组后count(score)>1的行,由于where只好在未曾分组

    from score

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

        例:select name from a where email is null

           时使用,分组后只可以使用having来界定条件,

           时使用,分组后只好利用having来界定条件,

          group by studentID

           时使用,分组后只好选择having来界定条件,

        表明:查询表a中email为空的具备行,并呈现name列;SQL语句中用is null可能is not null

    4.多表联接查询

    4.多表联接查询

          having count(score)>1

    4.多表联接查询

                      来推断是或不是为空行

       1).内联接

       1).内联接

        表明:接上头例子,显示分组后count(score)>1的行,由于where只好在尚未分组

       1).内联接

       5).在询问中采取常量

        ①在where子句中钦命联接条件

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

           时使用,分组后不得不利用having来界定标准,

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

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

        例:select a.name,b.mark

        例:select a.name,b.mark

    4.多表联接查询

        例:select a.name,b.mark

        表达:查询表a,展现name列,并累加地址列,其列值都为'新加坡'

          from a,b

          from a,b

       1).内联接

          from a,b

       6).查询重回限制行数(关键字:top )

          where a.name=b.name

          where a.name=b.name

        ①在where子句中钦赐联接条件

          where a.name=b.name

        例1:select top 6 name from a

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

        表达:查询表a和表b中name字段相等的记录,并显示表a中的name字段和表b中的

        例:select a.name,b.mark

        表达:查询表a和表b中name字段相等的笔录,并出示表a中的name字段和表b中的

        表达:查询表a,显示列name的前6行,top为重大字(Oracle 中没有top关键字

        

                mark字段

          from a,b

                mark字段

                 用rownum替代)

    非原创,如有分化见解,多谢商酌辅导!

     

          where a.name=b.name

                              select   *   from   a where   rownum<6  

    来源:

        表明:查询表a和表b中name字段相等的记录,并显示表a中的name字段和表b中的

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

                mark字段

        例: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字段

     

     

    本文由新葡亰496net发布于网络数据库,转载请注明出处:新葡亰496net增加和删除改查sql语句语法,sql增加

    关键词: