【MySQL】初识数据库-CRUD

❣博主主页: 33的博客
▶️文章专栏分类:MySQL◀️
🚚我的代码仓库: 33的代码仓库🚚
🫵🫵🫵关注我带你了解更多数据库知识

在这里插入图片描述

1.前言

2.数据库操作

2.1创建数据库

create database 数据库名字;

数据库创建的时候不能重复那么就可以修改为:

create database if not exists 数据库名字;

如果我们需要在数据库中保存中文,那么就就可以指定字符集

create database if not exists 数据库名字 charset utf8mb4(utf8不能添加emoji表情)

2.2查看数据库

show databases

2.3选中数据库

use 数据库名;

2.4删除数据库

drop database 数据库名;

危险操作!!!

3.数据表操作

3.1创建表

create table 表名(列名 类型,列名 类型,列名 类型...);
create table student(id int,name varchar(20));

sql中常用的数据类型

数据类型大小
int4字节
long8字节
double(M,D)8字节,m表示小数长度,d小数点后的位数
decimalM/D最大值+2,双精度
varchar0-65535字节可变字符串长度
datetime8字节时间戳

3.2查看所有表

show tables

3.3查看表结构

desc 表名;
desc student;

在这里插入图片描述

3.4删除表

drop table 表名;

4.CRUD

4.1新增

insert into 表名 values(,,....);
insert into student values(111,"李华");
//插入指定列
insert into 表名(列名,列名...)values(,,....);
insert into student(id) values (222);
//一次插入多行
insert into 表名 values(,,....),(,,....)....

在这里插入图片描述
那么如果有要插入datetime类型该如何插入呢?

insert into date values(年月日 时分秒);
insert into date values('2024-05-20 12:00:00');

当然格式不固定也可以用/来表示
在这里插入图片描述

4.2查询

4.2.1全列查询

select*from 表名;
select*from student;

在这里插入图片描述

4.2.2指定列查询

select 列名,列名...from 表名;
select id from student;

在这里插入图片描述

4.2.3查询字段为表达式

select  列名...,列名表达式 (as 别名) from 表名;
select id,name, chinese+english+math as 总分 from exam_result;

为了方便演示,我重新创建了一个表
在这里插入图片描述
在这里插入图片描述
注意
查询的时候对表的修改并不会影响数据库实际数据。

4.2.4去重查询

在查询的时候进行去重:

select distinct 列名 from 表名;
select distinct math from 表名;

在这里插入图片描述

4.2.5排序查询

在查询的时候进行排序:

select 列名 from 表名 order by 列名asc/desc;
select name,english from exam_result order by english desc;(默认升序)

在这里插入图片描述
order by还可以针对多个列进行排序

select 列名 from 表名 order by 列名1,列名2...asc/desc;
select * from exam_result order by english,math desc;(默认升序);(如果英语成绩相同,就按照数学成绩排序)

4.2.6 条件查询

select 列名 from 表名 where 条件;
select * from 表名 where id=1;(查询id为1的学生的所有信息)

在这里插入图片描述
条件中常见的一些运算符:
在这里插入图片描述
例1:查询英语不及格的同学及英语成绩。

select name,english from exam_result where english<60;

在这里插入图片描述
例2:查询总分在200分以下的同学

select name,english+math+chinese as 总分 from exam_result where english+math+chinese<200;

在这里插入图片描述
注意不能通过别名比较:

select name,english+math+chinese as 总分 from exam_result where 总分<200;

select条件查询执行的顺序:
1.遍历表中的每一个记录
2.把当前记录的值代入条件,根据条件筛选
3.如果条件成立就保留数据,继续进入表达式计算
4.如果有order by会在所有的行都被获取到以后(表达式也算完了)再针对所有的结果排序。
例3:查询语文成绩>80且英语成绩>80

select name,english,chinese from  exam_result where chinese>80 and english>80;

在这里插入图片描述
例4:查询语文成绩>80或英语成绩>80

select name,english,chinese from  exam_result where chinese>80 or english>80;

在这里插入图片描述
例4:查询语文成绩在[80,90]分之间的
在这里插入图片描述
例5:查询数学成绩是58或者59或者99或者98的同学数学成绩

select name,math from exam_result where math in(58,59,99,98);

在这里插入图片描述
例6:查询以孙开头的成绩学生成立

select * from  exam_result where name like '唐%';

在这里插入图片描述

4.2.7分页查询

select 列名 from 表名 limit 几条记录 offset 从哪儿开始;
select * from exam_result limit 3 offset 1;

在这里插入图片描述

4.3修改

update 表名 set 列名=值,列名=... where 条件;
 update exam_result set chinese=99  where id=2;

在这里插入图片描述

4.4删除

delete from 表名 where 条件
select * from exam_result where name=孙悟空

在这里插入图片描述

5.总结

本篇文章主要介绍了一些数据库的基本只是,包括数据库的创建,表的创建,表的增删改查的操作,在日常生活中进行查询和删除操作要慎重。

下期预告:Spring Boot

  • 84
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 72
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 72
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值