当前位置: 首页 > news >正文

数据库增删改查复习

增删改查

插入数据

#插入一行
insert into student values(xwz,'男'18);
#插入多行数据
insert into student values(xwz,'男'18)(jesse,'女',12);
#插入行的一部分
insert into studnet(name,gender,age) values(xwz,'男',18)
#插入查询出来的数据
insert into student(name) select name from account;

更新数据

update student set username = 'jesse' and passward = '123' where username = 'xwz';

删除数据

#delete 删除表中记录
delete from student where name = 'jesse';
#truncate 清空表数据
truncate table studnet;

查询数据

#查询单列
select username from student;
#查询多列
select username,password from student;
#查询所有列
select * from studnet;
#查询不同值
select distinct username from student;
#限制查询条件
select username from student limit 5;
select username from student limit 0,5;
select username from studnet limit 5,10;

排序

select * from student order by math_score desc, chinese_score asc;

分组

#普通分组
select name,count(age) as ages from student group by name
#分组后排序
select name,count(age) as ages from studnet group by name order by age desc;
#使用 where 和 having 过滤
select name,count(age) as ages from student where gender is not null group by name having count(*)>=1;

子查询

#子查询用于 where 子句的子查询
select name from emp where class_name operator (select class_name from class);
#用于 from 语句的子查询
select t1.name,t2.name from emp t1,(select * from class) t2 where t1.dept_id = t2.id;
#子查询的子查询
select * from student where id in (select id from studnet2 where student.id in (select id from studnet3));  

where

#select 中 where
select * from student where name = 'jesse';
#update 中 where 
update student set name = 'jesse' where name = 'xwz';
#delete 中 where
delete from student where name = 'jesse';

in 和 between

select * from student where age in (11,12,13);
select * from student where age between 11 and 13;

and 和 or 和 not

select * from student where name = 'jesse' and age = '20';
select * from student where name = 'jesse' or age = '20';
select * from studnet where name = 'jesse' not between 11 and 13;

like

select * from student where name like 'j%';
select * from student where name like '_e%';
select * from student where name like '%s%';

连接

select emp.name,dept.name from emp join dept on emp.dept_id = dept.id;
#隐式内连接
select * from emp,dept where emp.dept_id = emp.id;
#显示内连接
select * from emp inner join dept on emp.dept_id = dept.id;

组合

select * from student1
union all
select * from student2;

相关文章:

  • 如何将大华dav视频转mp4?一键无损清晰转换~
  • Layui实现删除及修改后停留在当前页
  • 将main打包成jar;idea打包main为jar包运行
  • 记录一下小程序自定义导航栏消息未读已读小红点,以及分组件的消息数量数据实时读取
  • 外包干了5天,技术明显退步。。。。。
  • 挑战杯 车位识别车道线检测 - python opencv
  • HTML_CSS练习:HTML注释
  • PostgreSQL中vacuum 物理文件truncate发生的条件
  • 高效使用git流程分享
  • 【数据结构与算法】:非递归实现快速排序、归并排序
  • 从零开始学HCIA之SDN04
  • 苍穹外卖-day08:导入地址簿功能代码(单表crud)、用户下单(业务逻辑)、订单支付(业务逻辑,cpolar软件)
  • Redis
  • 市场复盘总结 20240318
  • TimescaleDB 开源时序数据库
  • LinearLayout和RelativeLayout对比
  • 基于vue实现bilibili网页
  • 物联网数据驾驶舱
  • 基于centos7的k8s最新版v1.29.2安装教程
  • 【九】【算法分析与设计】双指针(3)
  • 影子调查丨三名“淘金客”殒命雪峰山:千余废弃金矿洞的监管难题
  • 《广州大典研究》集刊发展座谈会:“广州学”的传承与创新
  • 欧阳娜娜担任江西吉安文化旅游大使
  • 上海下周最高气温在30℃附近徘徊,夏天越来越近
  • 上海“量子城市”先导应用场景落地曹杨社区,提供哪些服务?
  • 巴基斯坦关闭全部领空