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: 重启数据库后继续从上个 增量开始(存储在硬盘中,不会断电即失)