Mysql数据库下的增删改查
1、创建学生数据库,数据库中包含数据表student
student(sno,sname,sex,age,class)。
其中,各列描述如下:
sno:学号,字符串
sname:姓名,字符串
sex:性别,字符串
age:年龄,整数
class:班级编号,整数
sql语句:
create table student(
sno varchar(255) primary key,//设为主键
sname varchar(255),
sex varchar(10),
age int,
class int
);
2、添加
- 李四,女,121531001,16岁,10班
- 李斯,男,121530802,8班
- 李四,121530806,8班
sql语句:
insert into student values (121531001 , '李四' , '女' , '16' , '10'),
(121530802 , '李斯' , '男' , null ,'8'),
(121530806 , '李四' , ' ' , null, '8');
插入部分字段:
insert into student(sno,sname,) values (121531001 , '李四' );
注意:
- 如果添加空值,请填写
null
- 插入日期和字符串都要用
''
3、修改
1.将李四同学的年龄改为17
2.将李斯同学的性别改为女,年龄改为18
3.将李四同学的学号改为121530802
sql语句:
update student set age = 18,sno=121530802 where sname='李四';
update student set sex='女',age=18 where sname='李斯';
4、删除
删除学号为121530802同学的信息
sql语句:
delete from student where sno=121530802;
5、普通查询
- 升序排列:
select sname,sex from student order by sno;
- 降序排列:
select * from student order by sno desc;
- 去掉重复行:
select distinct sname from student;
- 限制固定行数:
select top 5 sname from student order by birthday;
- 查询所有不同的年龄
- 查询所有年龄在18岁以下的学生姓名及其年龄
- 查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名和年龄
- 查询3班年龄在20岁以下的学生姓名
- 查询1班、2班和5班学生的姓名和性别
sql语句:
select distinct age from student;
select sname,age from student where age<18;
select sname,age from student where age between 20 and 23;
select sname from student where age < 20 and class=3;
select sname,sex from student where class in (1,2,5);
6、高级查询
- 查询所有不姓刘的学生姓名
- 查询名字中包含"阳"字的学生的姓名和学号
- 查询学生的最大年龄和最小年龄
- 查询学生的平均年龄
sql语句:
select * from student where sname not like '刘%' ;
select sname,sno from student where sname like '_阳';
select max(age),min(age) from student;
select avg(age) from student;
sql常用的通配符有:
1、%
替代 0 个或多个字符;
2、_
替代一个字符;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下