MySQL ~数据的增删改


添加数据

指定列名添加数据

语法

INSERT INTO 表名 (字段1,字段2, ... 字段n) VALUES('值1'),('值2'), ... ('值n')
  • 注意
    • SQL语句的符号均为英文
    • 添加的值的类型必须和字段的类型一致
    • 一条数据应用**()**包裹
    • 各条数据之间以逗号相隔
INSERT INTO `grade` (`name`) VALUES('大二');
INSERT INTO `grade` (`name`)
VALUES('一年级'),('二年级'),('三年级'),('四年级');
INSERT INTO `student`(`name`,`pwd`,`sex`)
VALUES('张三','123456','男'),('李四','2432132','男 ');
  • 注意
    • 添加多条数据时,值的顺序与添加字段顺序保持一致
    • 不一定与数据库的字段顺序一致

按数据库字段顺序插入

语法

INSERT INTO 表名 VALUES('值1'),('值2'), ... ('值n')
INSERT INTO `grade` VALUES('2','大二'),('3','大三');
  • tips
    • 插入数据时,应注意表对字段的要求
    • 若字段要求非空,且未指定默认值或未设置自增–>插入失败

修改数据

语法

UPDATE 表名 SET 字段1=新值1, 字段2=新值2, ...WHERE 条件
  • where子句可省略,省略表示全部
  • 你可以同时更新一个或多个字段。
  • 你可以在 WHERE 子句中指定任何条件。
  • 你可以在一个单独表中同时更新数据。
UPDATE `grade` SET `id` = 9 ,`name` = '大二' WHERE `id` = 2;
UPDATE `student` SET `id` = 1,`sex` = '女', `name` = 'nihao' WHERE `name` = '张三' AND `pwd` = '123456';

where子句 运算符

操作符 描述
= 等号,检测两个值是否相等,如果相等返回true
<> 或 != 不等于,检测两个值是否相等,如果不相等返回true
> 大于号,检测左边的值是否大于右边的值, 如果左边的值大于右边的值返回true
< 小于号,检测左边的值是否小于右边的值, 如果左边的值小于右边的值返回true
>= 大于等于号,检测左边的值是否大于或等于右边的值, 如果左边的值大于或等于右边的值返回true
<= 小于等于号,检测左边的值是否小于或等于右边的值, 如果左边的值小于或等于右边的值返回true
between v1 and v2 v1~v2的范围内,[v1,v2]
and 条件都满足
or 满足一个条件即可

删除数据

格式:

-- DELETE FROM  `表名` WHERE [条件];
DELETE 
FROM
	`student` 
WHERE
	`id` = 1;

删除所有记录

DELETE 
FROM
	`student`;

清空表

TRUNCATE TABLE `student`;

DELETE 和 TRUNCATE 的异同

  • 相同点:都能删除表的所有数据,不会删除表结构
  • 不同点:
  • TRUNCATE 会重置计数器(自增列归零)
  • TRUNCATE 不影响事务

  • delete在不同数据库引擎的表现

     -  INNODB: 重启数据库后会重置计数器(存储在内存中,断电即失)
     - MYISAM: 重启数据库后继续从上个 增量开始(存储在硬盘中,不会断电即失)
    

猜你喜欢

转载自blog.csdn.net/m0_47585722/article/details/119894844