SQL——DML对表中数据记录的操作(MySQL)

DML 英文全称是Data Manipulation Language(数据操作语言),用来对数据库中表的数据记录进行增、删、改操作。

一、前言:

以下所列举例子的 建表语句如下:

create table tb_emp
(
    id          int unsigned auto_increment comment 'ID'
        primary key,
    username    varchar(20)                  not null comment '用户名',
    password    varchar(32) default '123456' null comment '密码',
    name        varchar(10)                  not null comment '姓名',
    gender      tinyint unsigned             not null comment '性别, 说明: 1 男, 2 女',
    image       varchar(300)                 null comment '图像',
    job         tinyint unsigned             null comment '职位, 说明: 1 班主任,2 讲师, 3 学工主管, 4 教研主管',
    entrydate   date                         null comment '入职时间',
    create_time datetime                     not null comment '创建时间',
    update_time datetime                     not null comment '修改时间',
    constraint username
        unique (username)
)
    comment '员工表';

二、添加数据(insert)

(一)、insert语法

 (1)指定字段添加数据:insert  into 表名 (字段名1,字段名2 ) values  (值1, 值2);

 (2)全部字段添加数据:insert  into 表名  values (值1,值2, ...);

 (3)批量添加数据(指定字段):insert  into  表名 (字段名1,字段名2) values (值1,值2),(值1,值2);

 (4)批量添加数据(全部字段):insert  into 表名 values (值1,值2,...),(值1,值2,...);

(二)、注意事项

 (1)插入数据时,指定的字段顺序需要与值的顺序一一对应

 (2)插入数据时,所有非空(not null)字段必须为其赋值,可为空(null)字段可以不为其赋值

 (3)字符串和日期型数据应该包含在单引号

 (4)插入的数据大小,应该在字段的规定范围内

 (5)采用语法(2)时,即使字段可为null也要在values后列出---一一对应

(三)、例子

 (1):为tb_emp表的username、name、gender字段插入值

insert into tb_emp(username, name, gender,create_time, update_time) values ('wu','李四',1,now(),now());   -- 在插入一条数据时字段username, name, gender,create_time, update_time不为空必须赋值。

(2):为tb_emp表的所有字段插入值

insert into tb_emp(id, username, password, name, gender, image, job, entrydate, create_time, update_time)values (null, 'sssa', '1233', '里斯', 2, '1.jpg', 1, '2010-01-01', now(), now());  或
insert into tb_emp values (null, 'sssa', '1233', '里斯', 2, '1.jpg', 1, '2010-01-01', now(), now());-- 采用这中方法时,根据一一对应原则,即使可为空也要赋值,否则报错

三、修改数据(update)

(一)、update语法

 修改数据:update 表名 set 字段名1=值1,字段名2=值2,...[ where 条件 ];

(二)、注意事项

修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据。

(三)、例子

将tb_emp表的ID为1的员工,入职日期更新为'2010-01-01'

update tb_emp set entrydate='2010-01-01',update_time=now() where id=1; -- 如无where id=1,则整张表的所有员工的入职日期都将更新为'2010-01-01'

四、删除数据(delete)

(一)、delete语法

删除数据:delete from 表名 [ where 条件 ];

(二)、注意事项

 (1)delete 语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据。

 (2)delete语句不能删除某一个字段的值,只能删除一整条数据(如果要删除某一个字段的值,可以使用update,将该字段的值置为null)

(三)、例子

delete from tb_emp where id=100;

注:当删除一个实际不存在的数据时如id=10000,不会报错

五、总结

 (1)添加:insert into 表名 (字段列表) values(字段值列表);

 (2)修改:update 表名 set 字段名1=字段值1, 字段名2=字段值2  [ where 条件 ];

 (3)删除:delete from 表名 [ where 条件 ];

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值