MySQL_03_数据操作语句


前面定义好了数据库以及数据表,接下来就是存储数据了。

1. 概述

定义好数据结构,接下来就是对数据的一些操作。比如数据的插入、删除以及更新的等等,这些SQL语句被称为数据操作语句。先假设最基本的权限设置,对于字段非空、主键外键等限制先不考虑。

2. DML

DML语句主要有插入、修改和删除三种。

2.1 插入语句

上一篇文章提到,数据表是由一条条的数据组成,而数据则是由一个个字段组成。那么插入数据的时候,就需要规定好在哪个表插入,插入的数据是由哪几个字段组成(在字段允许非空的情况下),以及字段的具体值是什么。语法结构如下所示:

1
insert into 表名(字段名1, 字段名2, 字段名3, ...) values (值1, 值2, 值3, ...)[, (值1, 值2, 值3, ...), (值1, 值2, 值3, ...), ...];
  • 注意,值和字段名要一一对应:位置对应数据类型对应。字段名可以不选取全部,未选中字段插入后即为默认值。
  • 另外,字段名可以省略不写,默认插入的是全部字段,所以values中必须要有全部字段的值。
  • 注意,MySQL中的字符串用单引号括起来,也可以用双引号括起来。

以t_student表格为例,该表有4个字段,分别插入两次数据,每次插入一条数据,其中第二次省略了email字段,结果显示设为默认值null。其中查询语句见后续文章

mysql_06.png (840×677) (gitee.io)

2.1.1 插入日期类型数据

除了一些常见的数据类型数据,还有日期类型,日期类型有短日期(年月日)和长日期(年月日时分秒)两种类型。MySQL提供了字符串转换成日期类型数据的函数**str_to_date()**,在插入数据的时候需要提前将字符串数据转换成日期数据。简单插入语句如下所示:

1
2
3
4
5
6
insert into t_user(id, name, birth) values (1601, 'zhangSan', str_to_date('1997-05-20', '%Y-%m-%d'));

// 短日期类型也可以不用类型转换
insert into t_user(id, name, birth) values (1602, 'liSi', '1998-05-20');

insert into t_user(id, name, birth) values (1603, 'zhangSan', str_to_date('1997-05-20 15:00:00', '%Y-%m-%d %H:%i:%s'));

注意,now()函数可以获取系统的当前时间,即长日期类型,不需要类型转换。

2.2 修改语句

数据不是一成不变的,想要修改已有的数据就需要用到修改语句。语法结构如下所示:

1
update 表名 set 字段名1=值1[, 字段名2=值2, ...] where 条件(用于指明修改哪条/些记录);

注意,如果没有条件限制,则会默认修改全部数据。简单案例如下所示:

1
2
3
update t_student set no=2 where name='liSi';

// 这里注意,赋值等号和判断等号是一样的。

mysql_07.png (539×301) (gitee.io)

2.4 删除语句

有时候需要删除某些数据,这时候就要用到删除语句。语法结构如下所示:

1
delete from 表名 where 条件;

注意,如果没有条件,则会删除全部数据。不是删除整张表

简单案例如下所示:

1
delete from t_student where no=2;

mysql_08.png (749×541) (gitee.io)

3. 备注

参考B站《动力节点》。


文章作者: 浮云
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 浮云 !
  目录