数据库之DML操作数据库

DML操作数据库

SQL中DML用于对表中的数据进场增删改查操作

插入数据

  1. 语法格式:

    • insert into 表名(字段名1,字段名2...) values(字段值1,字段值2...);# 字段名和字段值是一一对应的
      
  2. 代码准备,创建一个学生表:

    • /*
      	表名:student
      	表中字段:
      		学员id:sid int
      		姓名:  sanme varchar(20)
      		年龄:  age int
      		性别:  sex char(1)
      		地址:  address varchar(40)
      */
      
      create table student(
      	sid int,
      	sname varchar(20),
      	age int,
      	sex char(1),
      	address varchar(40)
      );
      
  3. 向学生表中添加数据

    • #写sql向student表中插入数据
      -- 插入全部字段,将所有字段名都写出来
      
      insert into student(sid,sname,age,sex,address) values(18,"make",20,"男","北京市");
      
    • -- 插入全部字段,但不写字段名称
      
      insert into student values(2,"mali",20,"女","北京市");
      
    • -- 插入指定字段的数据值
      insert into student(sname,address) values("wangwu","杭州"); # 这样写只会填充sanme和address的值,其他值均为NULL
      
  4. 注意:

    • 值与字段必须对应,个数相同&数据类型相同
    • 值的数据大小,必须在字段指定的长度范围内
    • varchar char data 类型的值必须使用单/双引号包裹
    • 如果插入空值,可以忽略不写,或插入null
    • 如果插入指定字段的值,必须写上列名

修改数据

  1. 语法格式:

    • update 表名 set 字段名= “新的字段值” where 字段名 = “定位到输入字段名这一列”
      
    • -- 把表student中的wangwu这一行中的address改为成都
      update student set address = "成都" where sname = "wangwu"
      
    • -- 如不指定某一行,会更改student表中address这一列所有的值,都会改变成成都
      update student set address = "成都";
      
    • -- 可以同时修改多个列,中间用逗号隔开
      update student set address = "广州", sex = "男";
      

删除数据

  1. 语法格式1:

    • -- 删除所有数据
      delete from 表名
      
      delete from student;
      
  2. 语法格式2:

    • -- 指定条件 删除数据
      delete from 表名[where 字段名 = 值]
      
    • -- 删除 sid为1的数据
      delete from student where sid = 1;
      
  3. 如果要删除表中所有数据,有两种做法

    1. delete from 表名:不推荐,有多少条记录 就执行多少次删除操作,效率低(删除后数据有办法恢复)

    2. truncate table 表名:推荐 先删除整张表,然后重新创建一张一模一样的表,效率高, 当一个表中条数非常多,又要做删除动作的时候,如果用delete会很慢,那我们可以使用truncate(删除后数据较难恢复)

    3. truncate table student;
      
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值