zoukankan      html  css  js  c++  java
  • MySQL 之 数据操作

    一  介绍 

      在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括

    1. 使用INSERT实现数据的插入
    2. UPDATE实现数据的更新
    3. 使用DELETE实现数据的删除
    4. 使用SELECT查询数据。

    二 插入数据 INSERT

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #语法一: 按字段进行插入
    insert into 表(字段1,字段2 ...) values (值1,值2 ...);
     
    #语法二:按字段顺序插入
    insert into 表 values (值1,值2 ...);
     
    #语法三: 插入多条记录
    insert into 表 values (值1,值2 ...) ,(值1,值2 ...)  ,(值1,值2 ...);
     
    #语法四:插入查询结果
    insert into 表(字段1,字段2 ...)  select 字段1,字段2 ... from 表;
    四种插入数据方式:
    
    一.插入一条数据
    insert into student(id,name,age,sex,salary) values(1,'小猪',18,'',2500);
    
    
    二.插入多条数据
    insert into student(id,name,age,sex,salary) values(1,'小猪',18,'',2500) ,(2,'小猪2',28,'',2500),(3,'小猪3',38,'',2500);
    
    
    三.直接插入
    insert into student values(1,'小猪',18,'',2500);
    ps:如果插入的数据个数和位置正好与表的字段个数和位置匹配,则可以省略表名后面的字段定义
    
    四.查询并插入
    insert into student(id,name,age) select id,name,age from tb ;
    ps:从tb表中查询数据并插入到 student表中
    代码示例

    三 更新操作 UPDATE

    1
    2
    3
    4
    5
    #语法一: 更新整表数据
    update 表 set 字段1= '值1', 字段2='值2' ... ;
     
    #语法二:更新符合条件字段3的数据
    update 表 set 字段1= '值1', 字段2='值2' ... where 字段3 = 值3;
    方式一:
    update student set name = '猪猪哥' ;
    ps: student表中所有的 name 字段 的值 全部被更新为 '猪猪哥'
    
    方式二:
    update student set name= '猪猪哥' ,age =13  where id = 2;
    ps: 更新 student 表中 name 和 age 字段的值,并且只更新 id = 2的一条记录
    代码示例

    四 删除操作 DELETE

    1
    2
    3
    4
    5
    #语法一:整表数据删除
    delete from 表 ;
     
    #语法二:删除符合 where后条件的数据
    delete from 表 where 字段1=值1;
    方式一:
    delete from student;
    ps:删除 student 表中所有的数据,注意:如果有自增主键,主键记录的值不会被删除.
    
    方式二:
    delete from student where id=1;
    ps:只删除id 为1的数据.
    
    方式三:
    truncate student;
    ps:清空表
    代码示例

    truncate和delete的区别?[面试题]

    1、TRUNCATE 在各种表上无论是大的还是小的都非常快。而DELETE 操作会被表中数据量的大小影响其执行效率.
    2、TRUNCATE是一个DDL语言而DELETE是DML语句,向其他所有的DDL语言一样,他将被隐式提交,不能对TRUNCATE使用ROLLBACK命令。
    3、TRUNCATE不能触发触发器,DELETE会触发触发器。
    4、当表被清空后表和表的索引和自增主键将重新设置成初始大小,而delete则不能。

    五 查询操作 SELECT

    根据查询功能的不同,我们可以为查询划分为以下几类:

    1.单表查询

      具体操作详见: http://www.cnblogs.com/aaronthon/p/8479831.html

    2.多表查询

      具体操作详见: http://www.cnblogs.com/aaronthon/p/8480004.html

  • 相关阅读:
    [JLOI2013]地形生成[组合计数]
    [Luogu1891]疯狂LCM[辗转相减法]
    [BZOJ3745][COCI2015]Norma[分治]
    [BZOJ4028][HAOI2015]公约数数列[分块+分析暴力]
    [BZOJ4476][JSOI2015]送礼物[分数规划+单调队列]
    【JZOJ4893】【NOIP2016提高A组集训第15场11.14】过河
    【JZOJ4890】【NOIP2016提高A组集训第14场11.12】随机游走
    【JZOJ4889】【NOIP2016提高A组集训第14场11.12】最长公共回文子序列
    【JZOJ4888】【NOIP2016提高A组集训第14场11.12】最近公共祖先
    【JZOJ4887】【NOIP2016提高A组集训第13场11.11】最大匹配
  • 原文地址:https://www.cnblogs.com/aaronthon/p/8480748.html
Copyright © 2011-2022 走看看