关于mysql:MySQLDML

8次阅读

共计 1433 个字符,预计需要花费 4 分钟才能阅读完成。


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

- MySQL
- 数据库 

categories:

- MySQL
- 温习 

cover:

https://gitee.com/jasonM4A1/pictureHost/raw/master/20201117194600.jpg

MySQL-DML 语句

DML 操作表中的数据

插入字段

  1. 形式一:(这种键值对的形式,适宜给所有字段赋值,也适宜给局部字段赋值)

    INSERT INTO 表名 (字段名 1, 字段名 2, 字段名 3...) VALUES (值 1, 值 2, 值 3...);
  2. 形式二:(这种匿名间接赋值的形式,只能齐全给所有的字段进行赋值)

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

注意事项:

  1. 插入的数据应与字段的数据类型雷同
  2. 数据的大小应在列的规定范畴内,例如:不能将一个长度为 80 的字符串退出到长度为 40 的列中。
  3. 在 values 中列出的数据地位必须与被退出的列的排列地位绝对应。在 mysql 中能够应用 value,但不倡议使 用,性能与 values 雷同。
  4. 字符和日期型数据应蕴含在单引号中。MySQL 中也能够应用双引号做为分隔符。
  5. 不指定列或应用 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;

更新表记录

  1. 间接批改同一字段名下的所有值

    UPDATE 表名 SET 字段名 = 字段值;
  2. 满足条件时,批改字段值

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

代码演示

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

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

删除表记录

  1. 间接删除表中的所有记录

    DELETE FROM 表名;
  2. 删除表中满足条件的记录

    DELETE FROME 表名 WHERE 字段名 = 字段值;
  3. 应用 truncate 删除表中所有的记录(当须要删除所有的数据时,举荐应用)

    TRUNCATE TABLE 表名;

    注:truncate 相当于删除表的构造,再创立一张表。

代码演示

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

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

-- 应用 truncate 删除表中所有的记录
truncate table students;
正文完
 0