Lazy loaded image
技术分享
✈️MySQL(4): DML
字数 1920阅读时长≈ 5 分钟
2026-8-27
2026-8-28

插入insert

语法格式

注意:字段名和值要一一对应(数量要对应,数据类型要对应)
💡
注意: insert 语句但凡是执行成功了,那么必然会多一条记录。没有给其它字段指定值的话,默认值是 NULL。
insert 语句中的 “字段名” 可以省略,insert into 表名(字段名 1,字段名 2...) values(值 1,值 2);前面的字段名省略的话,等于都写上了!所以值也要都写上!

insert 插入日期

format格式化数字

语法格式:format (数字, '格式')

str_to_date将字符串 varchar 类型转换成 date 类型

语法格式:str_to_date('字符串日期', '日期格式')
str_to_date 函数可以将字符串转换成日期类型 date?
语法格式:str_to_date('字符串日期', '日期格式')
mysql 的日期格式:
  • % Y 年
  • % m 月
  • % d 日
  • % h 时
  • % i 分
  • % s 秒
如果提供的日期字符串是%Y-%m-%d这个格式,str_to_date 函数就不需要了!(因为mysql默认的将字符串转自动换成日期格式是%Y-%m-%d)

date_format:将 date 类型转换成具有一定格式的 varchar 字符串类型

语法格式:date_format(日期类型数据, '日期格式')
以上的 SQL 语句实际上是进行了默认的日期格式化,自动将数据库中的 date 类型转换成 varchar 类型。并且采用的格式是 mysql 默认的日期格式:'%Y-%m-%d'
java 中的日期格式:yyyy-MM-dd HH:mm:ss SSS

date 和 datetime 的区别

date 是短日期:只包括年月日信息。
datetime 是长日期:包括年月日时分秒信息。
💡
mysql 短日期默认格式:%Y-%m-%d,长日期默认格式:%Y-%m-%d %h:%i:%s

insert 一次插入多条记录

语法格式

实例

将查询结果插入到一张表当中?

修改update

语法格式

更新符合条件的数据

除了直接设置新的值,还可以使用replace命令
例如,将id=2这行数据中的birth从2000-10-11修改为2008-08-08

更新所有数据

注意:没有条件限制会导致所有数据全部更新。

删除delete

语法格式

删除符合条件的数据

删除所有数据

注意:没有条件,整张表的数据会全部删除!

delete与drop的区别

  • delete只是删除符合条件的数据或者整张表的数据,但是表的结构仍然存在!
  • drop不仅将表中的所有数据全部清除,并且删除表的结构!

    truncate 快速删除表中的数据

    语法格式

    delete与truncate的区别

    • delete语句原理
        1. delete 属于 DML 语句。
        1. 表中的数据被删除了,但是这个数据在硬盘上的真实存储空间不会被释放!!!
        1. 缺点:删除效率比较低。
        1. 优点:支持回滚,后悔了可以再恢复数据!!!
    • truncate语句原理
        1. truncate属于 DDL 操作
        1. 这种删除效率比较高,表被一次截断,物理删除。
        1. 缺点:不支持回滚。
        1. 优点:快速。
        💡
        truncate 是删除表中的数据,表还在!不同于drop!
    上一篇
    MySQL(3): DQL(多表)
    下一篇
    MySQL(5): DDL