MySQL的CURD 增删改查
2024-09-01 04:46:14
添加 insert
语法:
- 单条:
insert into 表名('字段1', '字段2', ...) values('值1', '值2', ...)
- 多条:
insert into 表名('字段1', '字段2') values('值1', '值2'), ('值1', '值2');
-- 插入语句 (添加)
-- insert into 表名('字段1', '字段2', ...) values('值1', '值2', ...)
INSERT INTO `grade`(`gradename`) VALUES('大一');
-- 插入语句数据和字段要一一对应
INSERT INTO `grade` VALUES('大一');
-- 插入多个字段
-- insert into 表名('字段1') values('值'), ('值');
INSERT INTO `grade`(`gradename`) VALUES ('大二'), ('大三');
INSERT INTO `student`(`name`) VALUES('张三');
INSERT INTO `student`(`name`, `pwd`, `sex`) VALUES('张三', 'aaaa', '男');
INSERT INTO `student`(`name`, `pwd`, `sex`)
VALUES('李四', 'aaaa', '女'), ('王五', 'aaaa', '男'), ('张大妈', 'aaaa', '女');
修改 update
语法:
- 单个:
UPDATE 表名 SET 字段名='值' WHERE [条件]
- 多个:
UPDATE 表名 SET 字段名1='值', 字段名2='值' WHERE [条件]
-- 修改名字, 带条件
-- UPDATE `表名` SET `字段名`='值' WHERE [条件]
UPDATE `student` SET `name`='大哥' WHERE id=1;
-- 不带条件, 会改动所有
UPDATE `student` SET `name`='长江七号';
-- 修改多个属性
-- UPDATE `表名` SET `字段名1`='值', `字段名2`='值' WHERE [条件]
UPDATE `student` SET `name`='长江1号', `email`='7854@qq.com' WHERE id!=1;
UPDATE `student` SET `name`='长江18号', `email`='7854@qq.com' WHERE id BETWEEN 3 AND 6;
条件:where字句 运算符 id等于某个值, 大于某个值, 在某个值区间
操作符 | 含义 | 范围 | 结果 |
---|---|---|---|
= | 等于 | 5=6 | false |
<>或者!= | 不等于 | 5<>6 | true |
> | 大于 | ||
< | 小于 | ||
>= | 大于等于 | ||
<= | 小于等于 | ||
BETWEEN 值 AND 值 | 在某个范围内 | ||
AND | 逻辑与 && | 5 > 1 and 1 > 2 | false |
OR | 逻辑或 || | 5 > 1 or 1 > 2 | true |
-- 多个条件
UPDATE `student` SET `name`='大哥' WHERE `name`='长江18号' AND sex='女';
-- 变量
UPDATE `student` SET birthday=CURRENT_TIME WHERE `id`=1;
删除 delete
delete
语法:-- delete from
表名 where [条件]
-- 删除数据
DELETE FROM `student` WHERE id=1;
TRUNCATE 命令
- 作用:完全清空一个数据库表, 表的结构和索引不会变
-- 清空 student 表
TRUNCATE `student`;
delete 和 TRUNCATE 区别
- 相同点:都能删除数据
- 不同点:
- TRUNCATE 重新设置 自增列 计数器归零
- TRUNCATE 不会影响事务
-- 测试 delete 和 TRUNCATE 区别
CREATE TABLE `test`(
`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
`name` VARCHAR(255) COMMENT '姓名',
PRIMARY KEY(`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8
INSERT INTO `test`(`name`) VALUES('1'),('2'),('13'),('14');
DELETE FROM `test` -- 不会影响自增
TRUNCATE TABLE `test` -- 清空自增, 计数器归零
delete 删除的问题, 重启数据库
- InnoDB:自增列会从1开始(存在内存中, 断电即失)
- MyISAM:继续从上一个开始(存在文件中的, 不会丢失)
查询 select
最新文章
- iMetro
- java 集合:实现
- sql索引的填充因子多少最好,填充因子的作用?
- 如何在ASP.Net中实现RSA加密
- java核心数据结构总结
- 【转】Javascript+css 实现网页换肤功能
- tornado异步请求非阻塞
- 数独问题的介绍及POJ 2676-Sudoku(dfs+剪枝)
- C#中的文件操作2
- javascript编写一个简单的编译器(理解抽象语法树AST)
- iOS 中的 Delayed Transition
- Couldn&#39;t save uncommitted changes.
- 未能加载文件或程序集“ RevitAPIUI.dll”
- 网络流之P3254 圆桌问题
- Tomcat 下4个配置文件详解
- ch.ethz.ssh2.Session和com.jcraft.jsch.Session
- JS创建对象,数组,函数的三种方式
- Linux下IP SAN共享存储操作记录
- [CC-TRIPS]Children Trips
- viewpager fragment 滑动界面
热门文章
- web前端常用js插件
- ⑥SpringCloud 实战:引入gateway组件,开启网关路由功能
- [日常摸鱼]bzoj1470[noi2002]Savage
- 多任务-python实现-生成器相关(2.1.13)
- 单身狗福利!利用java实现每天给对象发情话,脱单指日可待!
- 赶紧收藏!Spring MVC 万字长文笔记,我愿奉你为王者笔记!
- CentOS 8 部署 ASP.NET Core 3.1 应用程序 kestrel+Nginx IIS+kestrel
- 基础才是重中之重~BouncyCastle实现的DES3加密~java通用
- Spring Boot 使用常见问题
- select * from 多张表的用法