【MySQL进阶之路 | 基础篇】DML之操作数据表

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 【MySQL进阶之路 | 基础篇】DML之操作数据表

1. 插入数据

(1). 前言

前文我们实现了如何创建表,接下来我们将学习如何向数据表中插入数据.插入有两种方式.

(2). 方式1 :

情况1 :

  • 使用该语法一次只能向表中插入一条记录.
  • 为表中的任意字段按默认的顺序插入数据.
  • 值列表中需要为表的每一个字段指定值.并且值的顺序必须和数据表中的字段定义时的顺序相同.


情况2 :

  • 为表的指定字段插入数据,就是在INSERT TO语句中只向部分字段插入值,而其他字段的值为表定义时的默认值.
  • 在INSERT语句中随意列出列名,一旦列出,VALUES中要插入的数据必须和指定时的字段相匹配.如果类型不同,将无法完成插入.且会报错.


情况3 :

  • INSERT语句可以同时向数据表中插入多条记录.插入的时候指定多个值列表.每个值列表之间逗号分隔.
  • 一个同时插入多行记录时的INSERT语句等同于多个单行插入的INSERT语句.但单个的INSERT语句在处理过程中效率更高.因为在MySQL中,执行单个INSERT语句插入多行数据比多个INSERT语句快.所以在插入数据时,最好选择使用第三种情况.


注 :

  • VALUES也可以写成VALUE,但为了规范,还是选择前种.

(3). 方式2

  • INSERT 还可以将SELECT语句查询的结果插入到表中,此时不需要把每一条记录一个一个的输入.只需要一条INSERT语句和一条SELECT语句组成的语句可快速从一个或多个表中向一个表插入多行记录.
  • 在INSERT语句中加入子查询.
  • 不必书写VALUES.
  • 子查询中的值列表应该与INSERT子句的列名对应.

2. 更新数据

  • 使用UPDATE语句更新数据.
  • 使用WHERE指定需要更新数据的条件.并可以一次更新多条数据.
  • 如果需要回滚数据,需要保证在DML操作前,设置SET AUTOCOMMIT=FALSE.不进行自动提交操作.

例1 : 使用WHERE子句指定需要更新记录的条件.如果省略该语句,则表中所有数据将被更新.

例2 : 使用ROLLBACK回滚.

3. 删除数据

  • 使用DELECT FROM删除表的数据.
  • 指定要执行删除操作的表.
  • WHERE子句指定要删除数据的条件.如果没有WHERE子句,如前篇博客,将清空表的所有记录.

4. MySQL8新特性 : 计算列

  • 简单来说就是某一列的值是通过别的列计算得来.如a列值为1,b列值为2,x列不用手动输入,定义a+b的结果为c的值,c就是计算列.
  • 在MySQL8中,CREATE TABLE和ALTER TABLE都支持计算列.

例 :


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3天前
|
关系型数据库 MySQL 索引
MySQL数据表添加字段的三种方式
MySQL数据表添加字段的三种方式
25 0
|
3天前
|
存储 关系型数据库 MySQL
MySQL数据库进阶第六篇(InnoDB引擎架构,事务原理,MVCC)
MySQL数据库进阶第六篇(InnoDB引擎架构,事务原理,MVCC)
|
3天前
|
SQL 关系型数据库 MySQL
MySQL数据库进阶第五篇(锁)
MySQL数据库进阶第五篇(锁)
|
3天前
|
存储 关系型数据库 MySQL
MySQL数据库进阶第三篇(MySQL性能优化)
MySQL数据库进阶第三篇(MySQL性能优化)
|
7天前
|
SQL 关系型数据库 MySQL
go 通过sql操作mysql
go 通过sql操作mysql
11 1
|
3天前
|
SQL 关系型数据库 MySQL
Python进阶第二篇(Python与MySQL数据库)
Python进阶第二篇(Python与MySQL数据库)
|
4天前
|
关系型数据库 MySQL Go
Go语言介绍以及如何在Go语言中操作MySQL数据库
Go语言介绍以及如何在Go语言中操作MySQL数据库
20 3
|
3天前
|
存储 SQL 关系型数据库
MySQL数据库进阶第四篇(视图/存储过程/触发器)
MySQL数据库进阶第四篇(视图/存储过程/触发器)
|
3天前
|
SQL 存储 关系型数据库
MySQL数据库进阶第二篇(索引,SQL性能分析,使用规则)
MySQL数据库进阶第二篇(索引,SQL性能分析,使用规则)
|
3天前
|
存储 关系型数据库 MySQL
MySQL数据库进阶第一篇(存储引擎与Linux系统上安装MySQL数据库)
MySQL数据库进阶第一篇(存储引擎与Linux系统上安装MySQL数据库)

热门文章

最新文章