MySQL语句之DML语言

5 阅读2分钟

说明:DML(Data Manipulation Language),用来对数据库中表的数据记录进行增、删、改操作。注意,没有查询,数据的查询单独拎出来成DQL(Data Query Language,数据查询语言),参考:t.csdn.cn/s5nki

新建一张表,如下:

# 创建tb_dml表
create table tb_dml(
    id int primary key auto_increment comment '序列号',
    username varchar(20) not null comment '用户名',
    password varchar(20) not null comment '密码',
    name varchar(6) comment '真实姓名',
    gender varchar(2) default '未知' comment '性别',
    create_date datetime comment '创建日期'
) comment '用户表';

# 查看表结构
desc tb_dml;

表结构如下:

在这里插入图片描述

一、添加数据

(1)指定字段(用户名、密码、真实姓名)添加;

insert into tb_dml(username, password, name) values ('zhangfei', 'zf1234', '张飞');

在这里插入图片描述

(2)全字段添加;

insert into tb_dml values (null, 'zhaoyun','zy1234','赵云','男', now());

在这里插入图片描述

需要注意两点:

值与字段需要一一对应,添加的值不能跳过或缺少某字段,自动递增的字段可以填null,交由数据库自动管理;

有默认值的字段,填null,数据库会以null填入,默认约束并不会生效。就是说,默认约束不能用在全字段添加

insert into tb_dml values (null, 'liubei','lb1234','刘备', null, now());

在这里插入图片描述 (3)指定字段添加多条数据;

insert into tb_dml(username, password, name) 

values ('guanyu', 'gy1234', '关羽'), 
       
       ('zhugeliang', 'zg1234', '诸葛亮');

在这里插入图片描述

(4)全字段添加多条数据;

insert into tb_dml

values (null, 'caocao', 'cc1234', '曹操', '男', now()),

       (null, 'sunquan', 'sq1234', '孙权', '男', now());

在这里插入图片描述

二、修改数据

将诸葛亮的password(密码)、name(真实姓名)修改为'zgkm12','诸葛孔明';

update tb_dml set password='zgkm12', name='诸葛孔明' where name='诸葛亮';

在这里插入图片描述

需要注意的是,如果不加where限定条件,会修改表中的所有数据

update tb_dml set password='zgkm12', name='诸葛孔明' where name='诸葛亮';

未加where限定条件,idea中会有提示,可以选择:Execute(执行) Execute and Suppress(执行且不再提醒)

在这里插入图片描述

继续执行

在这里插入图片描述

三、删除数据

删除性别为男的记录;

delete from tb_dml where gender='男';

在这里插入图片描述

同样,如果没有where限定条件,会删除整张表

delete from tb_dml

select * from tb_dml;

未加限定条件,记录被清空

在这里插入图片描述

总结

以上语句中用到的关键字及作用如下

在这里插入图片描述

首次发布

hezhongying.blog.csdn.net/article/det…