MySQL操作之数据操作语言(DML)(三)

2023-08-09 20:27:13 浏览数 (2)

序号

类型

地址

1

MySQL

MySQL操作之概念、SQL约束(一)

2

MySQL

MySQL操作之数据定义语言(DDL)(二)

3

MySQL

MySQL操作之数据操作语言(DML)(三)

4

MySQL

MySQL操作之数据查询语言:(DQL)(四-1)(单表操作)

5

MySQL

MySQL操作之数据查询语言:(DQL)(四-2)(多表查询)

6

MySQL

MySQL操作之数据控制语言:(DC)(五)

7

MySQL

MySQL操作之数据库函数

8

MySQL

MySQL管理之数据类型

9

MySQL

MySQL管理之索引

10

MySQL

MySQL管理之事务管理

11

MySQL

MySQL管理之存储过程

12

MySQL

MySQL管理之视图

13

MySQL

MySQL管理之数据备份与还原

14

MySQL

Linux(centos 7.5)服务器安装MySQL

15

MyBatis

MyBatis从入门到多表关联

16

MyBatis

MyBatis常用方法

17

MyBatis

Mybatis逆向工程的使用(附文件地址)

18

MyBatis

spring boot连接Mybatis数据库的配置文件(MySql、SQLserver、Oracle)

19

MyBatis-Plus

Mybatis-Plus使用案例(包括初始化以及常用插件)

20

MyBatis-Plus

Mybatis-Plus(Service CRUD 接口)

21

MyBatis-Plus

Mybatis-plus 4种条件构造器方式

22

MyBatis-Plus

Mybatis-Plus 执行自定义SQL

23

MyBatis-Plus

MyBatis-plus配置自定义SQL(执行用户传入SQL)

24

MyBatis-Plus

Mybatis-Plus(连接Hive)

25

MyBatis-Plus

Mybatis-Plus 代码生成器

1、插入表记录:(insert)

基础语法如下,其中字段名可以不填、顺序可变。值可以单个和多个。

代码语言:javascript复制
INSERT INTO 表名(字段1,字段2,...)
	VALUES(值1,值2,...);

MySQL中使用Insert插入数据分为三种:

  • 为表中所有字段添加数据
  • 为表中指定字段添加数据
  • 同时添加多条记录

1.1、为表中所有字段添加数据

1.1.1 INSERT语句中指定字段名:

代码语言:javascript复制
INSERT INTO 表名(字段1,字段2,...)
	VALUES(值1,值2,...);

其中:

  • (字段1,字段2,…)为表中的字段的名称。
  • (值1,值2,…)必须要与前面字段相对应。
  • 字段可与数据库中顺序不一致,但是字段和插入值顺序要一致。
代码语言:javascript复制
INSERT INTO student(id,name,grade)
	VALUES(1,'zhangsan',98);
代码语言:javascript复制
INSERT INTO student(name,id,grade)
	VALUES('zhangsan',1,98);

1.1.2 INSERT语句中不指定字段名:

代码语言:javascript复制
INSERT INTO 表名
	VALUES(值1,值2,...);
  • 添加的数据必须要与数据库中字段顺序一致。
代码语言:javascript复制
INSERT INTO student
	VALUES(2,'zhangsan',98)

1.2、为表中指定字段添加数据

代码语言:javascript复制
INSERT INTO 表名(字段1,字段2...)
	VALUES(值1,值2...)
  • 为表的指定字段添加数据,就是在INSERT语句中只向部分字段中国添加值,而其它字段为表定义时的默认值。
  • (字段1,字段2…)表示:表中字段名称。
  • (值1,值2…)表示:指定字段的值。
  • 每个值的顺序、类型必须与对应字段一致。
代码语言:javascript复制
INSERT INTO student(id,name)
	VALUES(4,'zhaoliu');

另外写法:

可以为表中指定的字段或者全部字段添加数据。

代码语言:javascript复制
INSERT INTO 表名
	SET 字段名 1=值1[,字段名2 =值2,...]

案例:

代码语言:javascript复制
INSERT INTO student
	SET	id=5,name='byta',grade=99;

1.3、同时添加多条数据

在MySQL中提供了一条语句可以插入多条数据

代码语言:javascript复制
INSERT INTO 表名[(字段1,字段2...)]
	VALUES(值1,值2,...),(值1,值2,...)....
  • (字段1,字段2…):表明插入的字段名。
  • (值1,值2,…):表示插入的记录。可以多条,其中用逗号分隔。

插入表中所有字段数据

代码语言:javascript复制
INSERT INTO student 
	VALUES(6,'lilei',55),(7,'zhangsan',23);

指定字段添加数据:

代码语言:javascript复制
INSERT INTO student (id,name)
	VALUES(6,'lilei'),(7,'zhangsan');

1.4、插入其它表数据

插入所有列数据

代码语言:javascript复制
INSERT INTO emp2 
SELECT 
  * 
FROM 
  employees 
WHERE 
  department_id = 90;

插入指定列数据

代码语言:javascript复制
INSERT INTO sales_reps(id, name, salary, commission_pct)
SELECT employee_id, last_name, salary, commission_pct
FROM   employees

2、更新表记录:(update)

代码语言:javascript复制
update 表名 set 字段名=值,字段名=值 where 条件;

更新部分数据

代码语言:javascript复制
UPDATE student SET name='lisi' WHERE id=1;

更新全部数据

代码语言:javascript复制
UPDATE student SET name='lisi';

3、删除记录:(delete)

代码语言:javascript复制
DELETE FROM 表名 [where 条件];

删除部分数据

代码语言:javascript复制
DELETE FROM student where id=1;

删除全部数据

代码语言:javascript复制
DELETE FROM student;

3.1 TRUNCATE删除数据

代码语言:javascript复制
TRUNCATE 表名;
  • TRUNCATE语法格式很简单,只需要指定表名就能将表数据清除。
  • DELETE属于DML语句,TRUNCATE属于DDL语句。
  • DELETE语句可以通过where条件来指定删除的数据,TRUNCATE只能清除全部数据。
  • TRUNCATE删除数据后,自增主键值,重置为1。
  • DELETE语句执行后,每条记录都会存储在日志中,使用TRUNCATE语句时,不会在日志中记录删除的内容。因此效率更高
代码语言:javascript复制
TRUNCATE student;

0 人点赞