DDL、DML和DCL的理解(1-2、DML:数据操作)

1、添加操作

      a>  插入单行记录

            格式:Insert Into <表名> [ ( <列名1> [,<列名2>] [,<列名3>] ) ] values(<值>)

            举例:在SC(S_No,C_No)表中插入一条记录('S7','C1')。

                       Insert Into SC(S_No,C_No) values('S7','C1')

      b>  插入多行记录

            解释:添加多行记录用于表间的拷贝,即将一个表中的数据抽取数行添加到另一个表中。

            格式:Insert Into <表名> [ ( <列名1> [,<列名2>] [,<列名3>] ) ] 子查询 

            举例:已存在在的表为:教师信息表Teacher_Info('T_No','T_Name','T_Salary','T_Title','T_Dept'),要求求出各系教师的平均工资,并把结果存放在新表AverageSalary中

                       创建表AverageSalary:create table AverageSalary (Department varchar(20),Averge smallint)

                       拷贝数据:Insert Into AverageSalary select T_Dept,avg(T_Salary) from Teacher_Info group by T_Dept

 

2、修改数据

      a>  格式:Update <表名> Set <列名> = <表达式> [,<列名> = <表达式>]…… [Where <条件>]

      b>  解释:修改一行和修改多行的格式是一样的。

      c>  举例:将所有学生的年龄增加1岁,表为student_Info,列名为age

                       update student_Info set age = age+1

3、删除数据

      a>删除未重复记录

          格式:Delete From <表名> [Where <条件>]

          解释:删除一行和删除多行的格式是一样的

          举例:删除刘伟老师的记录,表为Teacher_Info,列字段为T_Name

                       Delete From Teacher_Info Where T_Name='刘伟'

                       删除所有老师的记录,表为Teacher_Info

                       Delete From Teacher_Info

     b>  删除重复记录

           delete   table1   where   id_1   in   (select   id_1   from   table1   group   by   id_1   having   count(*)> 1)

           注意:table1为表的名称,id_1为表中的字段。

      c>  删除相同的记录(留下一条)

            select distinct id_1,name into  StudentTemp from table_1       --创建临时表StudentTemp
            delete  table1  where  id_1  in  (select  id_1  from  table1  group  by  id_1  having  count(*)> 1)          --删除基表中的所有重复的记录
            insert into Table_1  select * from StudentTemp       --把数据从临时表中插入到基表中
            drop table StudentTemp       --删除临时表
            go

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值