昨天晚上很晚的时候才写完MySQL的常用函数,今天给大家讲一下MySQL的DML。接下来让我们直接来学习了,今天感冒了。身体很难受下午的时候要去买一波药了,不然程序员也扛不住呀。

DML全称Data Manipulation Language,数据操作语言。

一、插入数据


创建格式

格式:INSERT INTO 表名(字段名...)VALUES(值...);

首先先创建一张表:

      

  1.1、为表中的所有字段插入数据

    1)insert into student(id,name,age)values(1,'zhangsan',12);

      

    2)insert into student values(2,'lisi',20);

      

    3)insert into student(name,id,age)values('wangwu',3,30);

     

   总结:

      1)和3)说明插入数据时可以不用按照表结构中的顺序来,只要给的值与前面字段名一一对应即可。

      2)表明可以忽略字段名,但是其值必须跟表结构中的字段顺序一样。

      使用这三种方式去为所有字段插入数据都可以。

  1.2、为表的指定字段插入数据

    在有时候,给表中插入记录行时,字段值不一定要全部都需要手动插入,可能id自动增长的,也有时某个字段使用默认值,不用插入值也行,这时候就需要为表指定字段来插入数据了。

    

    缺少了id字段,但是id字段是AUTO_INCREMENT,不用我们手动插入值

  1.3、同时插入多条记录

    格式:INSERT INTO 表名(字段名) VALUES(记录行值1),(记录行值2),...;

    解释:也就是相当于一条语句插入多条记录,就不用每次只插入一条数据了

    

    同时插入多条记录时,会出现三个名词 Records:表明插入的记录条数  Duplicates:表名插入时被忽略的记录,原因可能是这些记录包含了重复的主键值 

     Warnings:表明有问题的数据值,例如发生数据类型转换。  上面提示的是 2个Records,确实是插入了两条记录数

  1.4、将查询结果插入到表中

    在有的时候,可能需要将一张表中的数据搬到另一张表中,但是一条条输入记录,很慢,所以就有了这个将查询结果插入到表中,也就是说,将一张表中查询到的结果,全部一次性插入到另一张表中,这样就很方便了,

    但是也有前提条件,那就是查询的结果的字段个数和插入到目标表的字段个数是一样的,并且数据类型也要相同。

    1)首先在这里先创建一个student_new的表,和上面的那一张student的建表格式是一样的

      

    2)将student表中的所有数据转移到student_new表中

      

    3)insert into student_new(name,age) select name,age from student;

    不指定id,那么就会按照person表中id的规则,AUTO_INCREMENT,这里说明一下AUTO_INCREMENT的原理,先检查表中最大的id值,然后往上面加1,每次做就会先检测最大的id值是多少。

二、更新数据


格式:UPDATE 表名 SET 字段名=值,字段名=值... WHERE 条件;

解释:通过条件找到要更新数据的那一行记录,然后通过SET 字段名=值这样的形式,写出要更改哪个字段,并更改为什么值。

  需求:将id为2的lisi的name改成meinv

  

  注意:可以同时改好多个值,不一定就只更改名字。主键id也能更改,只要主键不冲突,随便改成什么值

三、删除数据


格式:DELETE FROM 表名[WHERE <condition>];

解释:条件如果没有的话,那么就把表中所有数据度给删除了。如果有条件的话,就将符合条件的记录行删除。

  需求:将name=deft的 删除

    

  

  

  

  

  

MySQL(八)之DML的更多相关文章

  1. MySQL八、备份和还原

                MySQL 八.数据库备份和还原       1.二进制日志相关配置     1)查看使用中的二进制日志文件列表,及大小   SHOW {BINARY | MASTER} LO ...

  2. MySQL中的DML、DQL和子查询

    一.MySQL中的DML语句 1.使用insert插入数据记录: INSERT INTO `myschool`.`student` (`studentNo`, `loginPwd`, `student ...

  3. mysql DDL、DML、DCL、DQL区分

    mysql [Structure Query Language] 的组成分4个部分: DDL     [Data Mefinition Language]    数据定义语言 DML    [Data ...

  4. 详解MySQL第二篇—DML语句

    DML 语句: DML 操作是指对数据库中表记录的操作,主要包括表记录的插入(insert).更新(update).删除(delete)和查(select),是开发人员日常使用最频繁的操作.下面将依次 ...

  5. MySQL数据库之DML(数据操作语言)

    对表记录的增删改 1.MySQL之DML创建数据表user create table user( id int unsigned not null auto_increment primary key ...

  6. MySQL操作之DML

    目录 SQL语句的分类 DML语句 SQL语句的分类 DDL(Data Definition Languages)语句:数据定义语言.这些语句定义了不同的数据段. 数据库.表.列.索引等数据库对象的定 ...

  7. Mysql DDL与DML

    1,文件导入:LOAD DATA INFILE '/tmp/pet.txt' INTO TABLE pet FIELDS TERMINATED BY ',' LINES TERMINATED BY ' ...

  8. Mysql中DDL, DML, DCL, 和TCL是什么?

    在一些公司中提交给测试团队的SQL脚本会划分为DDL.DML等,但这些概念到底是如何定义的呢? SQL(Structure Query Language)是数据库操作的的核心语言,接下来我们通过一张图 ...

  9. mysql八:视图、触发器、事务、存储过程、函数

    一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,可以将该结果集当做表来使用. 使用视图我们可以把查询过程中的 ...

  10. MySQL数据操作(DML)

    表结构准备: mysql> CREATE TABLE student( -> sid INT PRIMARY KEY AUTO_INCREMENT, ), -> age INT, ) ...

随机推荐

  1. 【nodejs之我的开源module】 使用express搭建web服务器,代码即文档的实现。

    前言 都说nodejs适合制作restful_API,因为它有异步处理能力,能吞吐更多的请求,这一点是大家都认可的.前不久我使用nodejs+express+postgresql搭建了一个restfu ...

  2. VM虚拟机中安装Linux操作系统

    本文操作步骤,笔者已实验成功 (前提:正确安装VM并激活) 1,点击新建虚拟机,在页面上选择"自定义",点击下一步 2,进入选择虚拟机硬件兼容页面,这里一般不用操作,直接点击下一步 ...

  3. C++ STL 优先队列详解

    一.解释: 优先队列是队列的一种,不过它可以按照自定义的一种方式(数据的优先级)来对队列中的数据进行动态的排序,每次的push和pop操作,队列都会动态的调整,以达到我们预期的方式来存储. 例如,将元 ...

  4. ReactiveSwift源码解析(十) Lifetime代码实现

    为了之后博客的进行,本篇博客我们就来聊一下ReactiveSwift框架中的Lifetime类的具体实现.从Lifetime这个名字中我们就这道,就是生命周期.在ReactiveSwift中使用Lif ...

  5. Saltstack的部署及其详解

    https://repo.saltstack.com/ Saltstack简介: salt是一个多平台基础设施管理工具通常只用在linux上,使用那个轻量级的通讯器,ZN用python写成的批量管理工 ...

  6. 笨办法用js屏蔽被http劫持的浮动广告

    最近发现网站经常在右下角弹出一个浮动广告,开始的时候以为只是浏览器的广告. 后来越来越多同事反映在家里不同浏览器也会出现广告.然后深入检查了下,发现网站竟然被劫持了. 然后百度了一大堆资料,什么htt ...

  7. 多系统重装其中Win7后的启动引导列表恢复

    重装Win7后会导致原grub引导被覆盖,要修复grub需要一张Ubuntu的LiveCD(安装光盘),用LiveCD启动电脑,进入Try Ubuntu(试用Ubuntu),进入之后打开终端,做如下几 ...

  8. Java中StringBuffer类append方法的使用

    public static void testAppend() { StringBuffer sb = new StringBuffer("This is a StringBuffer!&q ...

  9. 从Javascript单线程谈Event Loop

    假如面试回答js的运行机制时,你可能说出这么一段话:"Javascript的事件分同步任务和异步任务,遇到同步任务就放在执行栈中执行,而碰到异步任务就放到任务队列之中,等到执行栈执行完毕之后 ...

  10. 设计模式的征途—19.命令(Command)模式

    在生活中,我们装修新房的最后几道工序之一是安装插座和开关,通过开关可以控制一些电器的打开和关闭,例如电灯或换气扇.在购买开关时,用户并不知道它将来到底用于控制什么电器,也就是说,开关与电灯.换气扇并无 ...