学堂 学堂 学堂公众号手机端

mysql - MySQL-DML

lewis 5年前 (2020-01-12) 阅读数 5 #技术

title: MySQL-DML语句
date: 2020-11-18 19:22:41
tags:

- MySQL
- 数据库

categories:

- MySQL
- 复习

cover:


/news/upload/ueditor/image/202209/dxr2fpbmpby.ico

MySQL-DML语句DML操作表中的数据插入字段

方式一:(这种键值对的方式,适合给所有字段赋值,也适合给部分字段赋值)

INSERT INTO 表名 (字段名1, 字段名2, 字段名3...) VALUES (值1, 值2, 值3...);

方式二:(这种匿名直接赋值的方式,只能完全给所有的字段进行赋值)

INSERT INTO 表名 VALUES (值1, 值2, 值3...);

注意事项:

插入的数据应与字段的数据类型相同数据的大小应在列的规定范围内,例如:不能将一个长度为 80 的字符串加入到长度为 40 的列中。在 values 中列出的数据位置必须与被加入的列的排列位置相对应。在 mysql 中可以使用 value,但不建议使 用,功能与 values 相同。字符和日期型数据应包含在单引号中。MySQL 中也可以使用双引号做为分隔符。不指定列或使用 null,表示插入空值。

代码演示

-- 给所有的字段都赋值
insert into students (id, name, age, gender) values (1, 'Jason', 21, '男');

-- 给所有的字段匿名直接赋值
insert into students values (2, 'Charlie', 22, '男');

-- 给部分字段赋值
insert into students (id, gender) values (3, '女');
蠕虫复制

概述

将一张已经存在的表中的数据复制到另一张表中,即为蠕虫复制。

格式

将【表名1】中的所有的列复制到【表名2】中

INSERT INTO 表名2 SELECT * FROM 表名1;

将【表名1】中的部分的列复制到【表名2】中

INSERT INTO 表名2 (字段名1, 字段名2) SELECT 字段名1, 字段名2 FROM 表名1;

代码演示

-- 将students表中所有的数据都添加到human表中(human表结构与students表结构相同)
insert into human select * from students;
更新表记录

直接修改同一字段名下的所有值

UPDATE 表名 SET 字段名 = 字段值;

满足条件时,修改字段值

UPDATE 表名 SET 字段名 = 字段值 where 字段名 = 字段值;

代码演示

-- 将students表字段名为age的值都更新为30
update students set age = 30;

-- 将students表字段名为name,且满足id=2的值更新为June
UPDATE students set name = 'June' where id = 2;
删除表记录

直接删除表中的所有记录

DELETE FROM 表名;

删除表中满足条件的记录

DELETE FROME 表名 WHERE 字段名 = 字段值;

使用truncate删除表中所有的记录(当需要删除所有的数据时,推荐使用)

TRUNCATE TABLE 表名;
注:truncate 相当于删除表的结构,再创建一张表。

代码演示

-- 直接删除表students中的所有记录
delete from students;

-- 删除表中id=3的记录
delete from students where id = 3;

-- 使用truncate删除表中所有的记录
truncate table students;
版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门