MySQL教程DML数据操纵语言示例详解

目录
  • 1.数据操纵语言(DML)
  • 2.增添数据(insert)
  • 3.复制已有表,生成新表
    • 1)复制已有表的结构和数据。
    • 2)只复制已有表的结构(得到的是一个空结构表)。
    • 3)在2的基础上,向空结构表中插入数据。
  • 4.修改数据update
  • 5.删除数据delete:物理删除(一旦删除就彻底没有了)。
  • 6.truncate和delete的区别
    • 1)delete
    • 2)truncate
    • 3)truncate和delete的区别

1.数据操纵语言(DML)

数据操纵语言全称是Data Manipulation Language,简称是DML。DML主要有四个常用功能,如下表所示,其中DML中的查询功能是作为一名数据分析师常用的操作。查询知识会穿插在之后的所有文章中讲述,因为这个问题不是一下子可以讲的完的。今天的文章主要是讲述增、删、改这几个技能的用法。

insert delete update select

下面的操作都是基于这个student表进行的。

# 创建数据库
create database if not exists stu;
# 使用数据库
use stu;
# 创建一个表
create table student(
    sid int primary key auto_increment,
    sname varchar(20) not null,
    sex varchar(10)
)charset=utf8;

2.增添数据(insert)

情况一:给全部字段添加数据;
-- 有以下两种添加方式:当给所有字段插入数据的时候,可以不写字段名。
insert into student(sid,sname,sex) values (1,"张三","男");
insert into student values (2,"李莉","女");

情况二:给部分字段添加数据;
insert into student(sname) values ("王五");
insert into student(sname,sex) values ("赵六","男");

情况三:一次性插入多条数据;
insert into student(sname,sex) values
("刘备","男"),("貂蝉","女"),("诸葛亮","男");

结果如下:

3.复制已有表,生成新表

1)复制已有表的结构和数据。

"创建一个student1表,表的结构和数据均来自于student表。"
mysql> create table student1 select * from student;

操作结果如下:

2)只复制已有表的结构(得到的是一个空结构表)。

"创建一个student2表,只复制student表的结构,不要里面的数据。"
mysql> create table student2 select * from student where 0;

操作结果如下:

3)在2的基础上,向空结构表中插入数据。

"在2基础上,向student2表中插入数据,数据来自于student表"
mysql> insert into student2 select * from student;

操作结果如下:

4.修改数据update

update和delete语句要配合where筛选,进行使用,否则删除的就是整张表的记录。

"语法格式:多个列之间用逗号隔开"
update 表名 set 列1=值1 [列2=值2,列3=值3…… ] where条件;

"演示示例如下"
-- 把sid为3的王五的姓名,改为王八。
update student set sname="王八" where sid = 3;
-- 把sid为7的诸葛亮的名字改为孔明,性别改为猛男。
update student set sname="孔明",sex="猛男" where sid=7;

操作结果如下:

5.删除数据delete:物理删除(一旦删除就彻底没有了)。

update和delete语句要配合where筛选,进行使用,否则删除的就是整张表的记录。

"语法格式:"
delete from 表名 where 条件;

"演示示例如下"
delete from student where sname="张三";

操作结果如下:

6.truncate和delete的区别

用如下数据讲述这两个的区别:

1)delete

2)truncate

3)truncate和delete的区别

① 都是不修改结构,只清除数据。
② delete删除不释放资源,truncate释放表占用的空间(会重置主键自增)
③ delete是逐行删除,删除记录是作为事务记录在日志文件中,可进行回滚操作。truncate一次性删除表中所有数据,删除记录不会记录在日志文件中,无法恢复,删除效率高于delete。

以上就是MySQL教程DML数据操纵语言示例详解的详细内容,更多关于DML数据操纵语言的资料请关注我们其它相关文章!

(0)

相关推荐

  • 数据库语言分类DDL、DCL、DML详解

    DML(Data Manipulation Language): 它们是SELECT.UPDATE.INSERT.DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言 DDL(Data Definition Language): DDL比DML要多,主要的命令有CREATE.ALTER.DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用 DCL(Data Control Language):

  • 详解mysql DML语句的使用

    前言: 在上篇文章中,主要为大家介绍的是DDL语句的用法,可能细心的同学已经发现了.本篇文章将主要聚焦于DML语句,为大家讲解表数据相关操作. 这里说明下DDL与DML语句的分类,可能有的同学还不太清楚. DDL(Data Definition Language):数据定义语言,用于创建.删除.修改.库或表结构,对数据库或表的结构操作.常见的有create,alter,drop等. DML(Data Manipulation Language):数据操纵语言,主要对表记录进行更新(增.删.改).

  • MySQL数据操作-DML语句的使用

    说明 DML(Data Manipulation Language)数据操作语言,是指对数据库进行增删改的操作指令,主要有INSERT.UPDATE.DELETE三种,代表插入.更新与删除,这是学习MySQL必要掌握的基本知识. 方语法中 [] 中内容可以省略. INSERT操作 逐行插入 语法格式如下: insert into t_name[(column_name1,columnname_2,...)] values (val1,val2); 或者 insert into t_name se

  • MySQL学习之数据库操作DML详解小白篇

    目录 1.插入语句 1.1插入一行 1.2插入多行 1.3插入查询语句 2.修改语句 2.1修改单表记录 2.2修改多表记录 3.删除语句 3.1方式1使用delete删除 3.2方式2使用truncate删除 3.3使用truncate和delete删除的区别 1.插入语句 1.1插入一行 有两种: 1.以小括号的形式 这里注意:如果表名后边不加小括号对应内容,那么默认就是添加所有列 2.以set形式 insert into + 表名 set 表中的某一个字段=要插入的值,表中的某一个字段=要

  • MySQL的DML语言操作实例

    补充说明,外键:不要使用外键,一切外键概念都在应用层解决. 补充说明,数据库的列,也就是字段名,尽量带上飘符号` 数据库存在的意义:数据存储和数据管理. 数据库:行(数据),列(字段) 注意:本页是解决了行的数据问题.上一页是解决列的字段问题. DML语言:数据操作语言 1.添加(insert) 2.更新(update) 3.删除(delete) 1. 添加 insert (往行里添加数据) -- 插入语句(添加) -- 格式: INSERT INTO `表名`(`字段名1`,`字段名2`,`字

  • MySQL教程DML数据操纵语言示例详解

    目录 1.数据操纵语言(DML) 2.增添数据(insert) 3.复制已有表,生成新表 1)复制已有表的结构和数据. 2)只复制已有表的结构(得到的是一个空结构表). 3)在2的基础上,向空结构表中插入数据. 4.修改数据update 5.删除数据delete:物理删除(一旦删除就彻底没有了). 6.truncate和delete的区别 1)delete 2)truncate 3)truncate和delete的区别 1.数据操纵语言(DML) 数据操纵语言全称是Data Manipulati

  • Mysql教程分组排名实现示例详解

    目录 1.数据源 2.数据整体排名 1)普通排名 2)并列排名 3)并列排名 3.数据分组后组内排名 1)分组普通排名 2)分组后并列排名 3)分组后并列排名 4.分组后取各组的前两名 1.数据源 2.数据整体排名 1)普通排名 从1开始,按照顺序一次往下排(相同的值也是不同的排名). set @rank =0; select city , score, @rank := @rank+1 rank from cs order by score desc; 结果如下: 2)并列排名 相同的值是相同

  • Go语言学习教程之反射的示例详解

    目录 介绍 反射的规律 1. 从接口值到反射对象的反射 2. 从反射对象到接口值的反射 3. 要修改反射对象,该值一定是可设置的 介绍 reflect包实现运行时反射,允许一个程序操作任何类型的对象.典型的使用是:取静态类型interface{}的值,通过调用TypeOf获取它的动态类型信息,调用ValueOf会返回一个表示运行时数据的一个值.本文通过记录对reflect包的简单使用,来对反射有一定的了解.本文使用的Go版本: $ go version go version go1.18 dar

  • MySql中子查询内查询示例详解

    西北望乡何处是,东南见月几回圆. 月亮又慢悠悠的挂上了天空,趁着睡前梦呓,我就带领各位可爱的读者们探索MySql最后的子查询部分. 说明:有些查询结果出来结果截图与题目要求不一样会出现多余的字段是为了方便展示结果的可读性.实际操作的读者可以删除SELECT后面多余的字段得到正确的结果. #WHERE或HAVING后面 #1.标量子查询(单行子查询) #2.列子查询(多行子查询) #3.行子查询(多列多行) #特点: # ①子查询放在小括号内 # ②子查询一般放在条件的右侧 # ③标量子查询:一般

  • Python MySQL数据库基本操作及项目示例详解

    目录 一.数据库基础用法 二.项目:银行管理系统 1.进行初始化操作 2.登录检查,并选择操作 3.加入查询功能 4.加入取钱功能 5.加入存钱功能 一.数据库基础用法 要先配置环境变量,然后cmd安装:pip install pymysql 1.连接MySQL,并创建wzg库 #引入decimal模块 import pymysql #连接数据库 db=pymysql.connect(host='localhost',user='root',password='1234',charset='ut

  • MySql的事务使用与示例详解

    在MySQL中,事务就是一个逻辑工作单元的一系列步骤.事务是用来保证数据操作的安全性. 事务的特征: 1.Atomicity(原子性) 2.Consistency(稳定性,一致性) 3.Isolation(隔离性) 4.Durability(可靠性) 注:事务只针对对数据数据产生影响的语句有效. show engines //查看mysql锁支持的数据引擎 MyISAM不支持事物,InnoDB支持事物 默认情况下,MySQL将以自动提交模式运行,这意味着没一条小命令都将当做一个只有一条命令的事物

  • MySQL自定义函数和存储过程示例详解

    前言 本文主要给大家介绍的是关于MySQL自定义函数和存储过程的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 1.前置条件 MySQL数据库中存在表user_info,其结构和数据如下: mysql> desc user_info; +-----------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------+--

  • Struts2学习教程之输入校验示例详解

    前言 数据校验几乎是每个应用都要做的工作.用户输入的数据,发送到服务器端,天知道用户输入的数据是否是合法的,是否为恶意输入.所以一个健壮的应用系统必须对用户的输入进行校验,将非法的输入阻止在应用之外,防止这些非法的输入进入系统,从而保证系统的稳定性.安全性. 我们都知道,为了更好的用户体验,以及更高的效率,现在的Web应用都存在以下两重数据校验: 客户端数据校验 服务器端数据校验 对于客户端数据校验主要是通过JavaScript代码来完成:而对于服务器端数据校验是整个应用阻止非法数据的最后防线,

  • MySQL获得当前日期时间函数示例详解

    获得当前日期+时间(date + time)函数:now() mysql> select now(); +---------------------+ | now() | +---------------------+ | 2008-08-08 22:20:46 | +---------------------+ 获得当前日期+时间(date + time)函数:sysdate() sysdate() 日期时间函数跟 now() 类似,不同之处在于:now() 在执行开始时值就得到了, sysd

  • MySql中JOIN的用法示例详解

    目录 笛卡尔积:CROSS JOIN 内连接:INNER JOIN 左连接:LEFT JOIN 右连接:RIGHT JOIN 外连接:OUTER JOIN USING子句 自然连接:NATURE JOIN 上次面试被问到JOIN,自己都已经忘了课堂上讲的笛卡尔积那些就是JOIN,最近重新复习了一遍 JOIN的含义就如英文单词“join”一样,连接两张表,大致分为内连接,外连接,右连接,左连接,自然连接. 先创建两个表,下面用于示例 CREATE TABLE t_blog( id INT PRIM

随机推荐