zoukankan      html  css  js  c++  java
  • 6 .数据库-增删改

    6 .数据库-增删改

    1.添加数据

    MySQL用INSERT语句向数据表中添加数据,且添加方式有3种,分别是:

    为表中的所有字段添加数据、为表中的指定字段添加数据、为表中添加多条数据。

    1.1为表中全部字段添加数据:

    通常情况下 ,都添加所有字段的数据,为表中全部字段添加数据有两种INSERT语句:
          

    l  INSERT INTO 表名(字段1,字段2,…)
    VALUE(值1, 值2,…);

    主义字段和值的对应 还有 就是类型要对应即可

           例: 在tb_bihu 这个表中用此方法插入一个完全的数据:

    INSERT INTO tb_bihu(id,name,sex,age) VALUES(1,'Hgy',1,18);

    可以看出 这个方法括号中都包含了所有的字段

           第二种语法是不指定字段 直接往里面写 但是呢 写入的字段和类型一定要一一对应!

    l  INSERT INTO 表名 VALUES(值1, 值2,…);

    例: 在tb_bihu 这个表中用此方法插入一个完全的数据:

    INSERT INTO tb_bihu values(2,'hjy',0,20);

    1.2   为表中的指定字段添加数据

    为表中的指定字段添加数据 ,如果其他没选中的那么就赋予默认值DEFAULT如果没设置的话一般为NULL.

           语法格式:

    l         INSERT INTO 表名(字段1,字段3,…)
    VALUE(值1, 值3,…);

    还是老样子 那些该一一对应的还是得一一对应

    我们尝试一下 在tb_bihu这个表中 我们直插入id  和  age  其他不插入 看下会默认值是什么:

    语句:INSERT INTO tb_bihu(id,age) VALUES(3,21);

    结果:3 NULL NULL    21

    如果你设置了DEFAULT默认值的话 那么他就会按照默认值去设置

           这里设置一下 这个 默认值 DROP掉之前的 tb_bihu 表 然后新建一个:

    CREATE TABLE `tb_bihu` (

      `id` int(11) NOT NULL AUTO_INCREMENT,

      `name` varchar(255) NOT NULL DEFAULT '未定义',

      `sex` char(1) NOT NULL DEFAULT '1',

      `age` char(2) DEFAULT NULL,

      PRIMARY KEY (`id`)

    ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

    可以发现 除了id 和 age  name  和 sex 都设置了默认值 接下来我们重新运行:

    语句:INSERT INTO tb_bihu(id,age) VALUES(3,21);

    结果:3 未定义   1     21

    l  多学一招:

    INSERT 还有一种语法:

    INSERT INTO 表名

    SET 字段名1=值1[,字段名2=值2,… ];

    最后一个字段是没逗号的 用分号结束即可。

    例:用此方法在tb_bihu这个表插入指定数据:

    INSERT INTO tb_bihu

    set id = 1,name = 'zhangsan',age = 22;

          

    那些没插入的会按照默认值去自动填写。

    1.3   添加多条数据

    上述的那些一条条 效率太慢 现在我们讲同时添加多条语句:

    语法格式:

    INSERT INTO 表名[ (字段名1, 字段名2,…) ]

    VALUES (值1,值2,…), (值1,值2,…),

     (值1,值2,…);

          

           但一个程序员 不知道中括号是可选 那就太失败了啊!

           例:向tb_bihu这个表插入三条语句:

    INSERT INTO tb_bihu

    VALUES (1,'hgy','1','18'),(2,'hjy','0','20'),(3,'zs','1','22');

    这是插入多条语句 并且 不指定字段名的形式插入,但是一定要为全部字段插入!

    接下来演示 为指定字段插入 ,但其他未指定的字段的一样会按照默认约束插入值:

    例:向tb_bihu这个表插入三条指定字段的语句:

    INSERT INTO tb_bihu(name,age)

    VALUES ('lisi',23),('wangwu',24),('zhaoliu',22);

    增加就讲那么多 用的最多的还是插入多条!!! 多点练习即可。

    1. 更新数据

    如果信息错了你就改信息即可:那么就要用到UPDATE语句来更新修改表中的记录了!

    语法格式:

           UPDATE 表名

           SET 字段名1 = 值1[, 字段名2 = 值2,…]

           [ WHERE 条件表达式 ]

    2.1更新部分数据:(例如更新tb_bihu表中id为1的 name 和 age):

    分析:所以id=1是条件 要更改的是 name 和 age 表是tb_bihu:

    UPDATE tb_bihu

    SET name = 'UPDATE',age = 30 WHERE id = 1;

    执行后 会发现 表中id为1 的记录 的名字被换成了UPDATE 年龄换成了 30

    条件表达式不仅如此 还有 > < != like 等等等等… 这里讲的是最基础的 后面也会讲通配符

    除了更新  还可以查询也有 语句:

    比如查询id小于3的记录:

    SELECT *FROM tb_bihu WHERE id<3;

    2.2更新全部字段的记录:

    如果你用UPDATE语句来更新数据 且 你不用WHERE语句的话 那么它会自动更新你设置的所有字段的值!!!

    例:更新tb_bihu这个表的全部 age 为18:

    UPDATE tb_bihu SET age = 18;

    1. 删除数据

    删除数据指的是删除表中指定的记录 或者 删除表中的全部记录:

    用DELETE语句来删除记录:

    3.1语法格式:

    DELETE FROM 表名 [ WHERE 条件表达式 ]

    表名是指要删除那个表中的数据

    WHERE不用多说 只有瞒住这个这里面的条件才删除

    例:删除id为1的这条记录:

    DELETE FROM tb_bihu WHERE id = 1;

    其他表达式我就不说了  自己知道啊!

    3.2 删除全部的记录( 清空表中全部数据)

    其实和UPDATE一样 不加WHERE即可:

    例:删除tb_bihu表中全部数据:

    DELETE FROM tb_bihu;

    3.3多学一招

    用TRUNCATE关键字删除表中的数据:

    语法格式:

    TRUNCATE [TABLE] 表名;

    例:用TRUNCATE关键字删除tb_bihu中全部数据

    TRUNCATE TABLE tb_bihu;

    语法很简单啊 但是有区别!!!

    TRUNCATE 和 DELETE删除表中记录的区别:

    1. DELETE的语句是DML语句 而 TRUNCATE 的语句是DDL语句
    2. DELETE 的语句可以跟 WHERE 表达式而删除指定记录,TRUNCATE只能删除全部记录
    3. !!! 这条重点: 你用 DELETE删除全部的数据 在向表中加数据的时候 如果有字段自增长(例如ID) 会从上次删除的字段最大值+1;  而TRUNCATE 则不会,他会清空,当你新加入记录时 他会从1开始.  这个要知道!!!

                     数据表的 增删改  差不多了啊! 慢慢来 还年轻呢!

    本文来自博客园,作者:咸瑜,转载请注明原文链接:https://www.cnblogs.com/bi-hu/p/14804758.html

  • 相关阅读:
    Java编程思想学习(三)----第三章:操作符
    mybatis入门
    responsebody和requestbody的使用
    一个Interface 继承多个Interface 的总结
    requirejs中Shims使用说明
    java 中解析json步骤
    @transient加在属性前的作用
    实现serializable接口的作用
    springmvc源码解析-初始化
    @RequestMapping注解详解
  • 原文地址:https://www.cnblogs.com/bi-hu/p/14804758.html
Copyright © 2011-2022 走看看