Mysql数据库

本文介绍了Mysql数据库的使用,包括创建数据库和表格,以及各种SQL语句的应用,如DDL,多表联查。详细讲解了如何插入数据,查询学生表中的记录,以及根据条件进行复杂的数据筛选和统计分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Mysql数据库

sql语句的分类

DQL:数据查询语言,用于对数据的查询,select
DML:数据操作语句,用于修改数据库中的数据,包括插入(INSERT)、更新(UPDATE)和删除(DELETE)
DDL:数据定义语言,用于创建、修改、和删除数据库内的数据结构
DCL:数据控制语言,用于对数据库的访问,如:1:给用户授予访问权限(GRANT;2:取消用户访问权限
REVOKE
 
 

DDL

多表联查

 

select 1. 字段,表 2. 字段 from 1 inner/left/right join 2 on 1. 字段 = 2. 字段 where 条件
select 1. 字段,表 2. 字段 , 3. 字段 from 1 inner/left/right join 2 on 1. 字段 = 表2. 字段 inner/left/right join 3 on 1. 字段 = 3. 字段 where 条件

 

 

 

  • 按要求完成以下操作: 将sql语句记录在文本文件姓名命名)中。
  1. 创建数据库db1并选择该数据库

   create database db1 character set utf8;     

   use db1;

创建tb_scores成绩表:   

字段有id(成绩编号)、score(成绩)、grade(等级)

其中此id字段设置为主键自增

score字段  

grade字段

create table tb_scores(

id int primary key auto_increment,

score float(5,2),

grade varchar(20)

)

 

创建tb_student学生表:  

字段有id(学生编号)、name(学生姓名)、sid(关联scores表中id)

其中id主键自增

 name字段 非空

create table tb_student(

id int primary key auto_increment,

name varchar(20) null,

sid int

)

 

  1. 向表中插入数据:

 

 

 

向主表(左)中插入数据,(10分)如下图所示,从表(右)插入数据(10分)

insert into tb_scores values(1,89.00,'良好'),(2,100.00,'优秀'),(3,77.00,'良好'),(4,69.00,'良好'),(5,59.00,'不及格'),(6,30.00,'不及格');

 

insert into tb_student values(1,'张三',1),(2,'李四',1),(3,'王五',4),(4,'赵六',6),(5,'张泽鹏',5),(6,'申振锋',4),(7,'刘雨',3),(8,'吴浪',3),(9,'吴凯',1),(10,'魏强',2);

 

  1. 完成以下操作
  1. 查询学生表中所有学生记录。

select * from tb_student;

  1. 查询学生表中学号、姓名,显示3-8条记录

select * from tb_student where id between 3 and 8;

  1. 查询学生表中姓张的学生记录

select * from tb_student where name like'张%';

  1. 查询学生表中学号、姓名、分数编号,按照分数编号升序。

select tb_student.id,tb_student.name,tb_scores.id from tb_scores inner join tb_student on tb_scores.id = tb_student.sid order by tb_scores.id;

  1. 查询学生表中各分数编号对应的人数

select tb_scores.score,count(*) from tb_scores inner join tb_student on tb_student.sid = tb_scores.id group by tb_scores.score;

  1. 查询成绩表中分数80-100的成绩编号、分数、等级

select * from tb_scores where score>=80.00 and score<=100.00

  1. 查询成绩表中各等级的最低分

select min(score),grade from tb_scores group by grade;

  1. 查找出成绩在70-90之间的所有学生id、姓名、成绩、等级(内连接)

select tb_student.id,tb_student.name,tb_scores.score,tb_scores.grade from tb_scores inner join tb_student on tb_student.sid=tb_scores.id where tb_scores.score>=70.00 and tb_scores.score<=90;

  1. 查找出成绩最低的学生id、姓名及成绩(子查询)

select tb_student.id,tb_student.name,min(tb_scores.score),min(tb_scores.grade) from tb_scores inner join tb_student on tb_scores.id=tb_student.sid;

  1. 查找出优秀的学生的个数(内连接)

select sum(tb_student.sid) from tb_student inner join tb_scores on tb_student.sid = tb_scores.id where tb_student.sid=2;

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值