数据库查询操作

创建数据表

create table 表名(
	字段名1 类型 约束,
	字段名2 类型 约束,
)

在这里插入图片描述
在这里插入图片描述
在新建查询里面,用命令行的方式创建表,这样会有提示,有错的话,方便后面检查
在这里插入图片描述
选中要运行的代码-》点击上方的“运行已选择的”-》下方出现OK,表示运行成功
在这里插入图片描述
如图所示,成功创建students表
在这里插入图片描述

删除表

//删除数据表
drop table students;
drop table if exists students;

在这里插入图片描述
在这里插入图片描述

练习一(创建表,删除表,插入数据,简单查询数据)

//创建一个成绩表,姓名(长度为10),班级(长度为8),科目(长度为56),成绩(保留两位小数)
create table score(
	name varchar(10),
	class varchar(8),
	subject varchar(56),
	result decimal(4,1)
);
insert into score values('Mike','六班','语文','59');

insert into score(name) values('Jane');

select * from score;

drop table score;
drop table if exists score;

在这里插入图片描述

一些操作数据库,表的命令

功能命令
查看所有数据库show databases
使用数据库use 数据库名
查看当前使用的数据库select database()
创建数据库create database 数据库名 charset=utf-8
删除数据库drop database 数据库名
查看数据库所有的表show tables
查看数据表的结构desc 表名
查看数据表的创建语句show create table 表名

添加多行数据

//通过一条insert语句,插入多条数据,数据间用逗号分隔
insert into 表名 values(0,'Bill',25,158.56),(0,'kill',21,168.56)

insert into 表名(字段名1,...)values(1,...)

在这里插入图片描述

修改数据

update 表名 set 字段名1=1,字段名2=2... where 条件

在这里插入图片描述
PS:修改数据时一定要记得加条件,不然修改的是所有记录的值

删除数据

//这个方法是物理删除对应的数据,工作中大部分使用逻辑删除。

//所谓逻辑删除是指通过设定一个字段来标识当前记录已删除,is_delete字段来标识,1表示删除,0标识未删除
delete from 表名 where 条件
delete from students where id=6

//其他删除数据的方法,这个方法用得少,一般直接用drop table 表名,这样删的彻底点,效率高
truncate table 表名(清除表里面所有数据,但是表结构会保留,自增长字段的值会从1开始)
truncate table students;

在这里插入图片描述

练习二(添加多条数据,修改数据,删除数据)

通过一条SQL语句在成绩表中新增以下三条数据
– 张三,一班,语文,89.5
– 李四,二班,数学,66.3
– 王五,三班,英语。78.6
在这里插入图片描述

将成绩表中李四的数学成绩改为97
在这里插入图片描述

删除学生为王五的记录
在这里插入图片描述

数据查询

数据准备
在这里插入图片描述

//查询部分字段数据
select 字段1,字段2... from 表名

//起别名
select 别名.字段1,别名.字段2... from 表名 as 别名
select 字段1 as 别名1,字段2 as 别名2... from 表名

//去重
select distinct 字段1... from 表名

/*
条件查询
where支持多种运算符进行条件处理
比较运算
逻辑运算
模糊查询
范围查询
空判断
*/
select 字段1,字段2... from 表名 where 条件;

查询某些字段
在这里插入图片描述

起别名 表名 as 表别名
在这里插入图片描述

字段内容去重
在这里插入图片描述
在这里插入图片描述

练习三(条件查询-比较运算符)

查询小乔的年龄
在这里插入图片描述

查询20岁以下的学生
在这里插入图片描述

查询家乡不在北京的学生
在这里插入图片描述

查询学号是‘007’的学生的身份证号
在这里插入图片描述

查询‘1班’以外的学生信息
在这里插入图片描述

查询年龄大于20的学生的姓名和性别
在这里插入图片描述

练习四(条件运算符-逻辑运算符)

查询年龄小于20的女同学
在这里插入图片描述

查询女学生或者‘1班’的学生
在这里插入图片描述

查询非天津的学生
在这里插入图片描述

查询河南或河北的学生
在这里插入图片描述

查询’1班’的‘上海’的学生
在这里插入图片描述

查询非20岁的学生

在这里插入图片描述

练习五(条件查询-模糊查询)

关键字:like
%:匹配任意多个字符
_:匹配一个任意字符

查询姓孙的学生
在这里插入图片描述
查询姓孙且名字是一个字的学生
在这里插入图片描述
查询姓名以‘乔’结尾的学生在这里插入图片描述

查询姓名中包含‘白’的学生
在这里插入图片描述
查询姓名为两个字的学生
在这里插入图片描述

查询姓‘百’且年龄大于20的学生
在这里插入图片描述

查询学号以1结尾的学生
在这里插入图片描述

练习六(条件查询-范围查询)

in:表示在一个非连续的范围内
between...and...:表示在一个连续的范围内

查询家乡是北京或上海或广东的学生
在这里插入图片描述
查询年龄为18至20的学生
在这里插入图片描述
查询年龄为18或19或22的女生
在这里插入图片描述

查询年龄在20到25以外的学生
在这里插入图片描述
在这里插入图片描述

练习七(空判断)

判断为空:is null
判断非空:is not null

查询没有填写身份证的学生
在这里插入图片描述

查询填写了身份证的学生
空字符和null,两者不一样
在这里插入图片描述

排序

语法格式
select * from 表名 order by 字段名1 asc|desc,字段名2 asc|desc,...

说明:
将行数据按照字段1进行排序,如果某些字段1的值相同时,则按照字段2排序,以此类推;
默认按照值从小到大排列;
asc从小到大排列,即升序;
desc从大到小排序,即降序

查询所有学生信息,按年龄从小到大排序
在这里插入图片描述
查询所有学生信息,按年龄从大到小排序,年龄相同时,按学号从小到大排序
在这里插入图片描述
查询所有学生信息,按班级从小到大排序,班级相同时,再按学号从小到大排序
在这里插入图片描述

练习八(聚合函数)

1、使用聚合函数方便进行数据统计
2、聚合函数不能在where中使用
count():查询总记录数
max(字段名):查询最大值
min(字段名):查询最小值
sum(字段名):求和
avg(字段名):求平均值

查询学生总数
因为不管查询那个字段,出来的结果都是12个,所以这边可以直接用*表示查询所有的
在这里插入图片描述

查询女生的最大年龄
在这里插入图片描述
查询1班的最小年龄
在这里插入图片描述

查询北京学生的年龄总和
在这里插入图片描述

查询女生的平均年龄
在这里插入图片描述
查询所有学生的最大年龄,最小年龄,平均年龄
在这里插入图片描述

一班一共有多少个学生
在这里插入图片描述

查询3班年龄小于18岁的同学有几个
在这里插入图片描述

练习九(分组查询)

按照字段分组,此字段相同的数据会被放到一个组中;
分组的目的是对每一组的数据进行统计(使用聚合函数);
语法格式:
select 字段1,字段2,聚合函数... from 表名 group by 字段1,字段2...

分组后的数据筛选
语法格式:
select 字段1,字段2,聚合... from 表名 group by 字段1,字段2...having
说明:关键字having后面的条件运算符与where相同

//having与where的区别
1.where是对from后面指定的表进行数据筛选,属于对原始数据的筛选
2.having是对group by的结果进行筛选
3.having后面的条件中可以使用聚合函数,where后面不可以

查询各种性别的人数
在这里插入图片描述

查询每个班级中各种性别的人数
在这里插入图片描述
查询男生总人数
在这里插入图片描述
查询所有班级中不同性别的记录数大于1的信息
在这里插入图片描述
查询各个班级学生的平均年龄,最大年龄,最小年龄
在这里插入图片描述

查询1班除外其他班级学生的平均年龄,最大年龄,最小年龄
在这里插入图片描述

练习十(分页-获取部分数据)

使用场景:用来获取一部分的数据或者用来分页
语法格式:
select * from 表名 limit start,count
说明:
从start开始,获取count条数据;
start索引从0开始

select * from 表名 limit (n-1)*m,m
n:表示的是显示第几页的数据
m:表示每页显示多少条数据

查询前3行学生信息
在这里插入图片描述
查询第4行到第6行学生信息
在这里插入图片描述

每页显示5条数据,显示每一页的数据
在这里插入图片描述

已知总记录数和每页显示条数,求总页数
– 总数为12,每页显示3个数据,12/3=4页
– 总数为12,每页显示5个数据,12/5,取商加1

  • 19
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值