【MySQL】数据库SQL语句之DML

目录

前言:

一.DML添加数据

1.1给指定字段添加数据

1.2给全部字段添加数据

1.3批量添加数据

二.DML修改数据

三.DML删除数据

四.结尾


前言:

  时隔一周,啊苏今天来更新啦,简单说说这周在做些什么吧,上课、看书、放松等,哈哈哈,所以博客就这样被搁了。

  今天感觉不错,给大家带来DML操作数据的SQL语句和DQL查询数据的SQL语句,分两篇写,再写这周看书的收获,开整。

一.DML添加数据

  前面学习的DDL语句让我们能够创建数据库,创建表,创建字段,这就相当于一个躯壳,本身表里是没有内容的。

  学习完DML语句,就可以为表里添加数据,不再是一张空表了。

1.1给指定字段添加数据

insert into 表名(字段名1,字段名2,...) values(值1,值2,...);

  我们可以想成一张excel表格,假如现在有一张这样的表格:

  表名为员工表,字段有序号、姓名、性别、年龄、身份证号、工号、入职时间。

  现在厂里开始招人了,招到了一位叫张三的员工,由于还没入职,所以只需要给除了入职时间以外的其它字段加数据就可以啦。

  上面是在DG这个图形化软件对数据库进行操作。

  这句代码的意思是,为emp表添加一条记录,除entry_time字段没有添加,效果如下:

  没有图形化界面,用命令行窗口也是可以滴,只是会有点难记,开发效率不高。欢迎私信问我如何下载和链接MySQL噢。

1.2给全部字段添加数据

insert into 表名 values(值1,值2,...);

  张三的朋友李四恰好也找到这家厂,发现张三是厂里第一个招的员工,李四说:“那不行,我得第一个入职”,于是:

   这句代码中,表名emp后没有加字段,表示为所有字段添加数据,效果如下:

  相信看完这两个例子,大家收获了知识点,那就是如何指定字段添加数据,如何为所有字段添加数据

  还有补充的是:在为字符串和日期数据类型添加数据的时候,它的值要加上引号括起来噢;字段和值的顺序一 一对应

1.3批量添加数据

  厂里花了一笔资金做了一次广告,拉来许多想要进厂的人,分别是小明、小红、小蓝由于他们迫不及待想工作。

  所以在员工登记的时候,只登记了它们的序号、姓名、性别、工号和入职时间,身份证信息还没来得及录入。

/* 为字段1,字段2等多个指定字段添加多行数值  */
insert into 表名(字段1,字段2,...) values(值1,值2,...),(值1,值2,...);

  代码如下:

insert into emp(num,name,gender,age,work_id,entry_time) 
            values(3,'小明','男','23','00003','2023-06-05'),                                                              
                  (4,'小红','女','22','00004','2023-06-05'),
                  (5,'小蓝','男','25','00005','2023-06-05');

  这段代码执行后,表格里一次性添加了三个人除身份证号以外的其它信息:

  我们可以把字段当成一个对象的属性,每一个值括号包起来的数据都是在描述一个对象,多个描述的时候用逗号隔开


/*  为所有字段添加多行数值  */
insert into 表名 values(值1,值2,...),(值1,值2,...)...;

  为所有字段批量添加数据的代码如上,不同的点就是表名后不要添加字段表示为所有字段添加数据。  

  另外,当表名指定所有字段的时候,和表名后不加字段等效。

二.DML修改数据

  现在的表长这样:

   管理数据库的人核对了一下,发现张三在6月3号就入职了,现在要把张三那一行的入职时间修改一下。

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

  这句代码的意思是:update(更新)名为(emp)表中的(某)字段中的值,设为新的数值,符合条件的记录才更改。

  修改张三入职时间的代码如下:

update emp set entry_time = '2023-06-03' where num = 1;

  where num = 1意即符合num为1的记录进行此次修改操作,它起到一个事前筛选记录的作用。

  where条件是可以省略的,此时作用的对象就是整张表,相当于对所有记录的entry_time更改为6月3号。

  工作完后,小明、小红、小蓝过来上报自己的身份证号,现在需要为它们的身份证号加上去。

update emp set id_card = '12345678901234567_' where num = 3 || num = 4 || num = 5;

  由于每个人的身份证不一样,这里博主用_象征性的代表一下,哈哈,翻车了,举的例子不是很恰当。

  这里的知识点是,条件可以有多个,它们用代表逻辑的符号连接起来,||(or)是或的意思,num为3或4或5都要进行修改。

三.DML删除数据

  李四工作了半个月后,想跳槽了,此时员工信息里需要把李四这一行删除掉。

delete from emp [where 条件]

  删除的一个代码如下:

delete from emp where num = 2;

  当数据多的时候,可能查找它的序号是第几需要多进行一步操作,我们可以直接将名字当条件进行删除,比如:

delete from emp where = '李四';

  当然重名的另当别论,哈哈。

  和上面的使用where指定记录进行修改一样,当删除记录的时候where条件省略了,就会删除表中的所有数据,很危险噢(doge)。

delete from emp;

  删除表中的所有数据,和在DDL语句里讲的truncate table 表名; 的效果一模一样。

  此时这张表就回炉重造了:

四.结尾

  好啦,DML数据操作语言就结束了,如果还留有余味,不妨关注一下呗~

  我是小白啊苏,谢谢你们的支持。

猜你喜欢

转载自blog.csdn.net/muwithxi/article/details/131138172