ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

6 .数据库-增删改

2021-05-24 16:01:19  阅读:152  来源: 互联网

标签:语句 INSERT 数据库 age 增删 tb id bihu


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开始.  这个要知道!!!

 

 

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

标签:语句,INSERT,数据库,age,增删,tb,id,bihu
来源: https://www.cnblogs.com/bi-hu/p/14804758.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有