自学内容网 自学内容网

Mysql-DML语句

https://i-blog.csdnimg.cn/blog_migrate/58966ddd9b29aabe8841f5ec34f0d31c.gif

🏡作者主页:点击!

🤖Mysql专栏:点击!

⏰️创作时间:2024年11月15日11点30分

在这里插入图片描述

DML 语句

DML 数据操作语言

用来对数据库中的数据进行增删改查。关键字(insert、delete、update等)

插入记录

关键字说明

insert into 表名 -------- 表示往哪张表中插入数据

(字段名1,字段名2) -------- 要给哪些字段设值

values( 值1,值2 ) -------- 设置具体的参数值

注意

  • 值与字段必须对应,个数相同,类型相同
  • 值的数据大小必须在字段的长度范围内
  • 除了数据类型外,其他的字段类型的值必须使用引号引起,建议使用单引号
  • 除了数字类型,其他的都需要加单引号
  • 如果要插入空值,可以不写字段,或者直接输入 null

插入全部字段

把所有的字段名和值全部写出来

insert into 表名 ( 字段1、字段2、字段3… ) values ( 值1、值2、值3… ); // 这是一种最常见的操作

校验是否插入成功,此语句是 DQL 语句,查询数据用的

select * from feng_sir -------- 查询来自 feng_sir 的数据表中的数据

不写字段名,只写值

insert into 表名 values ( 值1、值2、值3… ); -------- 使用这种方法插入数据,系统会自动的匹配字段, 按照结构从上往下的顺序,进行数据的插入

插入部分数据

insert into 表名 ( 字段1、字段2… ) values ( 值1、值2… ); ---- 没有添加数据的字段会使用 null(不加引号)其中不需要的字段直接就可以略过,默认直接不进行匹配

蠕虫复制

在已有的基础上,将原来的数据进行复制,插入到对应的表中

语法格式

insert into 表名1 select * from 表名2 -------- 将表名2中的数据复制到表名1中

insert into 新表名 select * from 旧表名 -------- 在新表名里面插入旧表名的所有数据

蠕虫复制操作

mysql> create table feng_sir2 like feng_sir; -------- 快速创建一个数据表 feng_sir2 类型和 feng_sir 一样

mysql> insert into feng_sir2 select * from feng_sir; -------- 往 feng_sir2 里面插入 feng_sir 的数据

如果只想复制某些数据,并不全部进行复制,可以使用以下方法

insert into feng_sir2 (name,age) select name,age from feng_sir; // 将 feng_sir 里面的 name,age 字段插入 feng_sir2,再次执行命令会再次进行插 入,不会进行覆盖

更新表记录

关键字说明

update = 修改类型

set = 修改哪些字段

where = 指定条件

无条件修改数据

不带条件的修改数据

update 表名 set 字段名 = 值;

意思相当于修改全部数据,未指定条件

**实例:**update feng_sir set age = 19;

select * from feng_sir -------- 就会发现现在所有数据的 age 都变成了 19

带条件修改数据

带条件修改数据

update 表名 set 字段名 = 值 where 字段名 = 值;

意思就是修改指定的数据,指定条件

**实例:**update feng_sir set age = 99 where id = 2;

select * from feng_sir -------- 就会发现 id = 2 的那组数据中的 age 变成了 99

当然修改除数字以外的类型加引号

mysql> update feng_sir set birthday = ‘2001-12-24’ where id = 2; 将 id=2 的数据中的 birthday 字段进行更新

一次性修改多列种数据

一次性修改多种数据的方法很简单

update feng_sir set age = 99 , birthday = ‘2021-08-26’ where id = 3;

select * from feng_sir; -------- 之后进行查看,会发现 id = 3 的那组数据,age 变成 99,brithday 变成 2021- 08-26 由此一来 内容修改成功

删除表记录

无条件删除数据

不带条件删除数据

delete from 表名;

意思就是删除全部数据,并不会删除表,并且 DML 语句也没权限删除表

带条件删除数据

带条件删除数据

delete from 表名 where 字段名 = 值;

**实例:**mysql> delete from feng_sir where id = 3; // 指定删除 id = 3 的那组数据

select * from feng_sir // 进行数据的查看

truncate 删除表记录

truncate 和 delete 的区别:

  • delete 是将表种的数据一条一条删除,可以看到数据删除的提示,类似 rm
  • truncate 是将整个表摧毁,重新创建一个新的表。结构和原来的结构一摸一样,简单粗暴,类似 rm -rf

不带条件删除数据

truncate table 表名;


原文地址:https://blog.csdn.net/Jerry_BLOG/article/details/143796302

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!