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

2022-05-14 0 164
目录
  • 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 
      ("刘备","男"),("貂蝉","女"),("诸葛亮","男");
      

      结果如下:

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

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

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

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

      操作结果如下:

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

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

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

      操作结果如下:

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

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

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

      操作结果如下:

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

      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;
      

      操作结果如下:

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

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

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

      "语法格式:"
      delete from 表名 where 条件;
      
      "演示示例如下"
      delete from student where sname="张三";
      

      操作结果如下:

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

      6.truncate和delete的区别

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

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

      1)delete

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

      2)truncate

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

      3)truncate和delete的区别

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

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

      免责声明:
      1、本网站所有发布的源码、软件和资料均为收集各大资源网站整理而来;仅限用于学习和研究目的,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 不得使用于非法商业用途,不得违反国家法律。否则后果自负!

      2、本站信息来自网络,版权争议与本站无关。一切关于该资源商业行为与www.niceym.com无关。
      如果您喜欢该程序,请支持正版源码、软件,购买注册,得到更好的正版服务。
      如有侵犯你版权的,请邮件与我们联系处理(邮箱:skknet@qq.com),本站将立即改正。

      NICE源码网 MySql MySQL教程DML数据操纵语言示例详解 https://www.niceym.com/35130.html