前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >MySql基础之DML-数据操纵语言(CRUD)

MySql基础之DML-数据操纵语言(CRUD)

作者头像
冬天vs不冷
发布2025-01-21 08:08:41
发布2025-01-21 08:08:41
10100
代码可运行
举报
文章被收录于专栏:springbootspringboot
运行总次数:0
代码可运行

1、插入数据

方式1:VALUES的方式添加

  1. 为表的所有字段按默认顺序插入数据
代码语言:javascript
代码运行次数:0
运行
复制
INSERT INTO 表名 
VALUES (value1,value2,....);

举例:

代码语言:javascript
代码运行次数:0
运行
复制
INSERT INTO departments 
VALUES (70, 'Pub', 100, 1700);

值列表中需要为表的每一个字段指定值,并且值的顺序必须和数据表中字段定义时的顺序相同。

  1. 为表的指定字段插入数据
代码语言:javascript
代码运行次数:0
运行
复制
INSERT INTO 表名(column1 [, column2, …, columnn]) 
VALUES (value1 [,value2, …, valuen]);

举例:

代码语言:javascript
代码运行次数:0
运行
复制
INSERT INTO departments(department_id, department_name) 
VALUES (80, 'IT');
  1. 同时插入多条记录
代码语言:javascript
代码运行次数:0
运行
复制
INSERT INTO table_name 
VALUES 
(value1 [,value2, …, valuen]), 
(value1 [,value2, …, valuen]), 
……
(value1 [,value2, …, valuen]);

或者

代码语言:javascript
代码运行次数:0
运行
复制
INSERT INTO table_name(column1 [, column2, …, columnn]) 
VALUES 
(value1 [,value2, …, valuen]), 
(value1 [,value2, …, valuen]), 
……
(value1 [,value2, …, valuen]);

举例:

代码语言:javascript
代码运行次数:0
运行
复制
INSERT INTO emp(emp_id,emp_name)
VALUES 
(1001,'shkstart'),
(1002,'atguigu'),
(1003,'Tom');

小结:

  • VALUES 也可以写成 VALUE ,但是VALUES是标准写法。
  • 字符和日期型数据应包含在单引号中。

方式2:将查询结果插入到表中

基本语法格式如下:

代码语言:javascript
代码运行次数:0
运行
复制
INSERT INTO 目标表名 
(tar_column1 [, tar_column2, …, tar_columnn]) 
SELECT 
(src_column1 [, src_column2, …, src_columnn]) 
FROM 源表名 [WHERE condition]

举例:

代码语言:javascript
代码运行次数:0
运行
复制
INSERT INTO emp2 
SELECT * 
FROM employees 
WHERE department_id = 90;
代码语言:javascript
代码运行次数:0
运行
复制
INSERT INTO sales_reps(id, name, salary, commission_pct) 
SELECT employee_id, last_name, salary, commission_pct 
FROM employees 
WHERE job_id LIKE '%REP%';

2、更新数据

语法如下:

代码语言:javascript
代码运行次数:0
运行
复制
UPDATE table_name 
SET column1=value1, column2=value2, … , column=valuen 
[WHERE condition]
  • 可以一次更新多条数据。
  • 如果需要回滚数据,需要保证在DML前,进行设置:SET AUTOCOMMIT = FALSE;

举例:

代码语言:javascript
代码运行次数:0
运行
复制
UPDATE employees 
SET department_id = 70 
WHERE employee_id = 113;

3、删除数据

基本语法:

代码语言:javascript
代码运行次数:0
运行
复制
DELETE FROM table_name [WHERE <condition>];

举例:

代码语言:javascript
代码运行次数:0
运行
复制
DELETE FROM departments 
WHERE department_name = 'Finance';

4、MySQL8新特性:计算列

什么叫计算列呢?简单来说就是某一列的值是通过别的列计算得来的。例如,a列值为1、b列值为2,c列 不需要手动插入,定义a+b的结果为c的值,那么c就是计算列,是通过别的列计算得来的。

在MySQL 8.0中,CREATE TABLE 和 ALTER TABLE 中都支持增加计算列。下面以CREATE TABLE为例进行讲 解。 举例:定义数据表tb1,然后定义字段id、字段a、字段b和字段c,其中字段c为计算列,用于计算a+b的 值。 首先创建测试表tb1,语句如下:

代码语言:javascript
代码运行次数:0
运行
复制
CREATE TABLE tb1( 
id INT, 
a INT, 
b INT, 
c INT GENERATED ALWAYS AS (a + b) VIRTUAL 
);

演示:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-12-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、插入数据
  • 2、更新数据
  • 3、删除数据
  • 4、MySQL8新特性:计算列
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档