数据库(mysql)常用命令

news2024/9/22 2:11:22

一.常见的数据库端口号

Mysql默认端口:3306

oracle 默认端口:1521

Sql server 默认端口:1433

注:Mysql采用 的是C/S(客户端/服务器端)架构

二.sql 语法基础

服务器,数据库,数据表,记录,字段之间的关系:

一台Mysql服务器可以管理多个数据库

一个数据库可以存在多张二维表,

一张表可以存在多条记录,

一条记录由多个字段组成,

字段是最终的元数据.

注:# 为注释,不会被认为sql语句,每一条 sql语句以;(英文分号结尾)

数据库中常用的数据类型

整数:

int 有符号范围(-2147483648 ~2147483647),无符号范围(0 ~ 4294967295),

可以不用设置长度

小数;decimal, decimal(6,2)表示整数部分加小数部分

字符串:  

字符串是一个或多个字符的序列,这些字符可以是字母、数字、标点符号等。在数据库中,字符

串通常用于存储文本数据,如姓名、地址、描述等。

SQL 语句中,使用引号可以明确告诉数据库该值是一个字符串,而不是其他类型(如整数或

浮点数)。如果不使用引号,某些字符或字符序列可能会被误认为是 SQL 命令或特殊字符,从而导

致错误。引号内的内容会被当作一个整体处理,包括其中的空格和特殊字符。

带引号的数据都是字符串,单引号、双引号都可以:

中文字符串:'文字信息'

英文字符串:'abc'

数字字符串:'123

变长字符串 :varchar  定长字符串 char

区别分析

1.都是用来存储字符串的,只是他们的保存方式不一样,并非是指对字符串长度的限制,字符串

长度的限制通过(数字)来限制长度。

2.char 有固定的长度,varchar 属于可变长的字符类型

日期时间 ;datetime
dete 只有日期

扩展知识 :

整数型,tinyint,int

拥有不同长度的整型

支持整数型,但是支持不同大小的整数型。

标准的整型,4 个字节!

支持 1,2,3,4,8 种类型的长度!长度的不同,意味着整型的范围是不相同的!

小数型,

floatdoubledecimal

MySQL 浮点型定点型可以用类型名称后加(MD)来表示,M 表示该值的总共长度,D 表示

小数点后面的长度,M D 又称为精度和标度。

浮点数

浮点数按小数位数分为:单精度和双精度

float,占用 4 个字节,32bit,数值范围为-3.4E38~3.4E387 个有效位)

double,占用 8 个字节,64bit,数值范围-1.7E308~1.7E30815 个有效位)

定点数

decimal,数字型,128bit,不存在精度损失

MySQL DECIMAL 数据类型用于在数据库中存储精确的数值。我们经常将 DECIMAL 数据类型用于

保留准确精确度的数据,例如货币数据。

sql 语句最常报错原因:

表名重复,字母输错, 中午输入法下输如逗号,该空格的地方没空格,

navicat 闪退

原因多是由于屏幕取词功能没有开启

创建表 

数据库中 列与字段的区别:

实际存在表中的就是列

在运行时创建的,表中实际不存在的就是字段,例如聚合函数的查询结果

表名默认转换成小写,列名(字段)不区分大小写

语法:

create table 表名( 列名 类型(长度) 约束1 约束2 , 列名2  类型(长度) 约束1 约束2, ....... );

        常见约束:

primary key (主键约束) :表中唯一的标识符,主键不允许重复,不允许为空,

not null (非空) :此列不允许写空值

auto_increment (自动递增):此列的值会自动递增填充

unsigned 无符号数 : 

default 默认值 :当不填写时会使用默认值

unique 唯一:此字段不允许重复

check 检查约束: 确保列中的值满足特定的条件

foreign key ;维护两个表之间的关联关系

comment :备

主键与唯一约束的区别 

1.同一张表中只能有一个主键,但可以有多个unique 

2.主键的字段值不能为nul,唯一约束的字段值可以为null

3. 主键字段可以作为其他表的外键,唯一约束不能做其他表的外键

注意:列名里面不能有空格

1 :创建学生表 students 字段 1 :姓名 name( 变长字符串,长度为 10) ,并编写备注

create table students ( name varchar(10) comment '姓名') comment '学生表';

例 2:创建学生表 student2

字段 1id(整数类型,不能有符号、主键、自动递增),

字段 2:姓名 name(变长字符串长度为 20默认值为刘德华)

-字段 3:年龄 age(整数类型、不能有符号、默认值为 20),

字段 4:身高 high(小数类型,一共 5 位数字,保留小数点后两位)

create table student2(

id  int unsigned primary key auto_increment,

name varchar(20) default '刘德华',

age int unsigned default 20,

high decimal(5,2)

);

字段都已经限制是 int 了,有必要还搞一个 unsigned 吗?

如果只限制 int,那么是可以输入、保存负数的

如果是 int+unsigned,那么只能输入、保存 正整数。

插入一列

alter  table 表名 add 列名  类型(长度) 约束 1 约束 2

例:给表 students 增加一列地址 address ,类型:变长字符串,长度 20

alter table students add address varchar(20);

关于反引号(``)的使用:

反引号在 mysql 中是为了区分 mysql 中的保留字符与普通字符而引入的符号,例如在出现字段

名与 SQL 关键字相同、标识中含空格等情况下就需要使用,否则可能出错,但反引号不是必须的,

在确保不会导致歧义发生的情况下可以省略掉。

删除一列 

alter table 表名 drop 列名

例:删除表 students 中的地址列 address

alter table students drop address ;

删除表 

1. drop table 表名  若表不存在,报错,停止执行

2.drop table if exists 表名 若表不存在,不报错继续执行

一次性删除多张表,用逗号隔开表名即可

添加行信息

一.添加多行信息

insert into 表名 values (值 1, 值2 ,....),(值 1, 值2 ,....),...;

二.跨行添加信息 

insert into 表名 (列名1,列名2,列名3) values(值1,值2,值3);

例:在 student3 表中,新增一行,添加几个单元格的信息:姓名 name :王五;性别 sex :男
insert into student3 (name ,sex )values('王五','男');

删除行数据

delete from 表名 where 列名 =列值 ;

1 :删除 student3 表中 id 6 的行数据

delete from student3 where id=6 

注意:仅执行delete from 表名; 将会删除表格中的所有行信息

update 修改数据 

update 是对已经存在的数据进行修改

修改一列的值

格式:

update 表名 set列名=新值

例:给表 student 增加一列 idcord,类型:整数,然后,设置 idcord列的值为3

alter table student add idcord int; 

update student set idcord =3;

修改行中多个单元格的值

格式:

update 表名 set 列1=值1,列2=值2 ....where 列名=列值;

例:将表 student  中, id 5 的学生,姓名 name 修改为 狄仁杰,年龄 age 修改为 20

update student set name='狄仁杰',age=20 where id=5;

将一列值增加

格式:

 update 表名 set 列名=列名+i;

例: student  表中,年龄列都增加 1
update student set age=age+1;

select 查询语句

查询表格全部信息 

格式:

select * from 表名

查询某一列的信息 

格式:

select 列名 from 表名

查询某几列的内容

格式:

select 列1 ,列2 from 表名

where ●难点

当需要缩小范围、限制条件的时候,可以通过 where……语句实现。

每条语句只能有一条where语句

查询行信息

在表名之后,使用 where 对表中的数据筛选,符合条件的数据会出现在结果中

语法:

select * from 表名 where 列名=列值

where 后面支持多种运算符,对条件进行处理

小于等于 <=

大于等于 >=

不是 xx 的所有结果 !=

比较运算、逻辑运算、模糊查询、范围查询、空判断

别名 as (多表联查经常使用)

给表名起一个别名 ,不会实质性修改表的内容,目的是为了使语句写起来更加简单

select * from 表名 as 别名

注意:别名可以为中文,为中文时,加不加引号都可以,仅在这一次查询中起作用

 在等值连接,子查询中表名一旦起了别名,除了起别名的地方,其他地方,都只能使用别名

一旦使用原名,就会保存

distinct 消除重复行(结果展示一个)

在 select 后面 列名 前使用distinct 可以消除重复的行

语法:

select  distinct  列名 from  表名

例:查询 student 表中,学生家乡 hometown 分布情况,结果去除重复

select  distinct  hometown form student ;

比较运算符

等于 =
大于 >
大于等于 >=
小于 <
小于等于 <=
不等于 != <>

逻辑运算符

在 sql语句中:当需要 缩小范围,限制条件时,首先考虑使用where,如果sql 语句中已经有了

where ,则使用 and ,where 只能有一个,and可以有多个

having 只能用于group by 之后, 对内容进行 进一步的过滤

and (并且):

显示结果是多个条件(多个and)必须同时满足的结果

1 student  表中,查询 2 班的男同学的信息

select * from  student where class='2班'and sex='男';

or 或者:

多个条件中,哪个条件能满足,就显示他的查询结果,

如果都满足,都显示

student  表中,查询 studentno 5 ,或 名字为王昭君的学生信息
select * from student where name=5 or studentno='王昭君';

Not 取反

效果跟 != 一样

例: student  表中,查询家乡不是天津的学生信息
select * from student where  not hometown='天津';

模糊查询 like

% 表示任意多个字符,或 什么字符都没有, 主要适用字数不限制的场景

_表示一个任意字符,适用字数限制的场景

% 表示任意多个字符

like '李%' 模糊查询以 百字开头的内容

like '% 飞'模糊查询以飞字结尾的内容

like'%白%'表示内容中包含白的内容(无论第几个字)

like_表示 一个 任意字符,'李_'表示内容有 2 个字,第一个字是李

like'_亮'表示内容有 2 个字,内容第二个字是亮

like'_尚_'表示内容是 3 个字,中间的字是尚

范围查询 in

in : 在一个 非连续范围内的值,跟or效果一样
格式:
select * from 表名 where 列名 in (值1,值2,......);
not in 表示不在这个范围之中

between...and....在一个连续则范围中

只适用于连续的范围内的数字

效果等同于 >= xx and <== xx 

格式:

select * from 表名 where 列名 between 值1 and 值2

空判断

注意:null 与''''是不同的

null 是没有任何数据的''''是空字符串

判空 is null
1 :在 students 表中,查询没有填写 card 信息的学生信息
select * from students where card is null

order by 排序

语法:

升序 (从小到大): select * from 表名 order by 列名 asc (asc 可省略)

降序 (从大到小):select * from 表名 order by 列名 desc: 

将行数据按照列 1 进行排序,如果某些行列 1 的值相同时,按照列 2 排序,以此类推
语法:
select * from 表名 order by 列1 asc/desc ,列2 asc/desc,......
排序语法一般放 sql 语句的最后面,当表的范围已经确定,已经过滤了之后,最后排序
2 :在 students 表中,查询所有学生信息,年龄从大到小排序,年龄相同时,按学号升序排序
select * from student order by age desc,sno asc;

聚合函数

为了快速得到统计数据,常会用到聚合函数,常在select之后使用,from之前使用

注意:聚合函数不能在where中使用,常在group by中使用 

注意:使用聚合函数查询时,不能编辑代码并显示其他的列名,行信息是不对应的

分组+聚合 除外

count(*) 统计表格的行数

格式:

select count(*) from 表名

max() 最大值

格式:

select max(列名) from 表名

说明:聚合函数从此处开始,括号内的内容是筛选数据范围的列名,含义与 count*)不同。

例:students 表中,查询女生的最大年龄

select max(age) from students

min() 最小值

格式:

select min(列名) from 表名

例:在 students 表中,查询 1 班学生的最小年龄

select min(age) from students

sum() 求此列的和

注意:使用 sum()时,不能编辑代码并列显示其它的列名,行信息是不对应的,分组 + 聚合

除外。

格式:

select sum(列名) from 表名

例:查询北京学生的年龄总和

select sum(age) from students where hometown='北京'

avg() 求此列的平均值

注意:使用 avg()时,不能编辑代码并列显示其它的列名,行信息是不对应的,分组 + 聚合除

格式:

select avg(列名) from 表名

例:查询女生的平均年龄

 select avg(age) from students where sex=''

等值连接,内连接,左连接,右连接查询

当查询结果的列来源于多张表时,要将多张表连接成一个大的数据集,选择合适的列返回

等值连接查询和内连接查询: 查询的结果为连个表匹配的到的数据

左连接查询:查询结果为两个表匹配得到的数据加左表特有的数据

,于右表的数据用null填充

右连接查询:查询结果为两个表匹配得到的数据加右表特有的数据

,于左表的数据用null填充

等值连接:

等值连接语法:

select * form 表1,表2 where 表1.列名=表2.列名

(等值连接是通过值相等,来连接的,列名不同,也可以等值连接)

多表联查时,表示某一列时:要以表名.列名的格式来表示

3表联查的等值连接语法:

sleect * form 表1,表2 where 表1.列名=表2.列名 and 表2.列名=表3.列名

内链接

语法:

select * from 表1 inner join 表2 on 表1.列=表2.列

3表联查

select * form 表1 inner join 表2 on 表1.相同列=表2.相同列

inner join 表3 on 表2.相同列=表3.相同列

inner join 语法中,inner 可以省略)

左连接

语法:(注:左表是主表,主表的名字放在 left join 的左边)

select* form表1 left join 表2 on 表1.列=表2.列

三表联查

select * from 表1 left join 表2 on 表1.相同列=表2.相同列 

left join 表3 on 表2.相同列=表3.相同列

右连接 

语法:

select* from表1 right join 表2 on 表1.相同列=表2.相同列

三表联查

select * from 表1 right join 表2 on 表1.相同列=表2.相同列 

right join 表3 on 表2.相同列=表3.相同列

on和using的区别

多表联查,也可以试用using,结果有一定的区别

使用 using 进行多表联查的语法:

select * from 1 join 2 using(列名)

using ,是通过列名将表格连接到一起的,列名必须一致

区别 1. 语法不一样

2.使用on,结果会显示2个字段,使用using,结果只会显示1个字段

3.使用on,字段名称可以不一样,是通过等值进行的连接,使用using

字段名必须一致

union联合查询

union all  

连接数据集关键字,可以将两个查询结果集拼接为一个,不会过滤掉相同的记录

union 

连接数据集关键字,可以把两个查询结果拼接为一个,会过滤掉相同的记录

例:
students studentno 列是主键,不允许重复,未设置自动递增,需手动指定值)

select name,age,class from student3

union

select name,age,class from students;

相同的查询记录会被过滤掉,只显示一次

select name,age,class from student3

union all

select name,age,class from students;

相同的查询记录不会被过滤掉,有多少条记录,就显示多少条记录

group by 分组

按照字段分组显示,此字段相同的数据会被放到分组后的一个组中,显示的结果是组名

,并不意味着该组中只有一行数据

分组之后可以利用having+聚合函数进行过滤 

 分组(group by )依据的列名,要出现在select之后,from之前的位置,否则逻辑错误,

查询可以成功,但是查询的结果并非一一对应

格式:

select 列 from 表名 group by 列

例:在student表中查询 按照 家乡分组

select hometown from student where hometown

having 使用

关于 where ,and having的使用方法:

当要缩小范围,限制条件,首先要考虑where ,如果SQL语句中已经有了where 了

那就使用and ,一条SQL语句只能有一个where ,可以有多个and,

having 只用 在group by 的 分组后的结果进行筛选,having后面的运算条件

跟 where 的相同

分组并统计

格式select列 from 表名 group by 列 having count(*) ......

例:统计student 表中,生源地学生的数量大于1的生源地名称

select hometown form student group by hometown having count(*)>1

分组,聚合运算

子查询中如果括号中select语句中出现分组+聚合函数,必须在括号里的select之后,from之前的聚合函数名称字后起别名 ,以供括号外的select语句调用,如果不起别名,命令就会保存!

如果括号外的 select 语句无需调用该聚合函数列的话,则不用起别名。

语法:

select 列,聚合 ...from 表名 group by 列

扩展)使用第一个分组条件分组后,再使用第二个分组条件进行分组

语法:

select 条件 1,条件 2 from 表名 group by 条件 1,条件 2

例:在 students 表中,统计每个班的每种性别的人数

select class ,sex  count(*)  from  student group by class sex 

limit 获取部分行

语法: 

select * from 表名 limit x, y 

x 表示 从第?行开始,y表示一共显示的行数 ,x为零时

可以省略

计算机的索引从0开始

子查询

在一个select语句中,嵌入另外一个select 语句,那么被嵌入的select

语句称之为子查询

主查询和子查询的关系:

子查询前后加括号,嵌入到主查询中,子查询是辅助主查询的,要么充当条件(值),要么充当

数据源,子查询是可以独立存在的语句,是一条完整的 select 语句

子查询分类:

标量子查询、列级子查询、行级子查询、表级子查询

标量子查询 

标量子查询的定义:

子查询返回的结果是表中1个单元格的数据,供外部查询语句查询

例1:查询班级学生的平均年龄

select avg(age)from student

例2,查询学生表中年龄大于平均年龄的学生信息

select * from student where age>(select avg(age) from studetnt)



列级子查询

子查询的结果是一列(一列多行) ,供外 外部查询语句查询

假如子查询的结果是一列一行,由于数据外边有括号,外部查询语句仍然可以通过 in 来调用。

例 1: 根据18岁学生的学号,查询其成绩

学生表中查询18岁的学生的学号

select studentno form students where age=18

通过学号查询查成绩

select * from scores where studentno in('002','006');

通过列级子查询一部到位:

select * from scores where studentno in(select studentno form students where age=18)

行级子查询

行级子查询定义:

返回的结果是一行(一行多列),供外部查询语句其中的几个数据进行匹配

注意:

行级子查询,只能使用 = ,若使用!=连接,查询结果不准确,想要用!=的场景需要使用标量子查

询,使用 and 连接。

1:查询与百里玄策同性别、同班的学生信息

标量子查询:

select * from students where sex =

(select sex from students where name = '百里玄策')

and class =

(select class from students where name = '百里玄策')

行级子查询:

select * from students where (sex,class) =

(select sex,class from students where name = '百里玄策')

2:查询与百里玄策性别、班级都不相同的学生信息

只能使用标量子查询

select * from students where sex != (select sex from students where name = '百里玄策') and

class != (select class from students where name = '百里玄策')

表级子查询

表级子查询的定义:

内部查询结果是两行两列以上 (就可以理解为是一张表),供外部查询语句使用

当使用 select * from 1 a(表级子查询) b where a.列名 = b.列名 这个表级子查询语法时,

必须给第二张表起别名,否则会报错。

子查询中的聚合函数查询结果,如果需要被主查询调用时,需要给聚合函数起别名,否则报错。

1:查询每个班级中比自己班级平均年龄低的学生的姓名、年龄、班级

2 表联查,表级子查询)

第一步,按照班级分组,查询每个班级的平均年龄,得到一张表

select class,avg(age) from students group by class

第二步,2 表联查,表级子查询,限制条件

select * from

students a,(select class,avg(age) b1 from students group by class) b

where a.class = b.class and a.age < b.b1

子查询中特定关键字使用

in : (相当于多个 and

主查询 where 条件 in (列子查询)

any | some : (相当于多个 or

主查询 where = any (列子查询)在条件查询的结果中匹配任意一个即可,

all:

主查询 where = all(列子查询) : 等于里面所有格式,等价于 in

主查询 where <>all(列子查询) : 不等于其中所有,等价于 not in

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2153888.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

思通数科开源产品:免费的AI视频监控卫士安装指南

准备运行环境&#xff1a; 确保您的服务器或计算机安装了Ubuntu 18.04 LTS操作系统。 按照产品要求&#xff0c;安装以下软件&#xff1a; - Python 3.9 - Java JDK 1.8 - MySQL 5.5 - Redis 2.7 - Elasticsearch 8.14 - FFmpeg 4.1.1 - RabbitMQ 3.13.2 - Minio &#xff08;…

网络丢包定位记录(三)

网络IP层丢包 接口ip地址配置丢包 1. 本机服务不通&#xff0c;检查lo接口有没有配置地址是127.0.0.1&#xff1b; 2 .本机接收失败&#xff0c; 查看local路由表&#xff1a;ip r show table local|grep 子机ip地址&#xff1b;这种丢包一般会出现在多IP场景&#xff0c;子…

robomimic应用教程(一)——模型训练

Robomimic使用集中式配置系统来指定所有级别的(超)参数 本文介绍了配置&#xff08;推荐&#xff09;和启动训练运行的两种方法 目录 一、使用config json&#xff08;推荐&#xff09; 二、在代码中构造一个配置对象 三、查看运行结果 1. 实验结果会存在一个固定文件夹中…

S-Clustr-Simple 飞机大战:骇入现实的建筑灯光游戏

项目地址:https://github.com/MartinxMax/S-Clustr/releases Video https://www.youtube.com/watch?vr3JIZY1olro 飞机大战 这是一个影子集群的游戏插件&#xff0c;可以将游戏画面映射到现实的设备&#xff0c;允许恶意控制来完成游戏。亦或者设备部署在某建筑物中,来控制…

超实用的 Typora 插件

&#x1f33c;&#x1f4da;Typora 是一款高效、易用且跨平台的 Markdown 编辑器和阅读器&#xff0c;其具有小巧、快速、实时预览等特点&#xff0c;非常受大家的欢迎。今天给大家推荐一款如虎添翼的 Typora 插件(Typora Plugin)&#xff0c;它可以通过插件增强 Typora 的功能…

C++入门(03)萌新问题多(二)

文章目录 1. VS2022 控制台输出中文时&#xff0c;变成了一堆“&#xff1f;”1.1 字体、语言设置1.2 在程序中指定控制台编码1.3 修改注册表&#xff08;只能说试试吧&#xff09; 1. VS2022 控制台输出中文时&#xff0c;变成了一堆“&#xff1f;” 问题如下&#xff0c;Vi…

解决uniapp开发的app,手机预览,上下滑动页面,页面出现拉伸,抖动的效果问题,

在pages.json文件里“globalStyle”下面的"app-plus"里加入"bounce": "none"即可 "app-plus": { "bounce": "none", //关闭窗口回弹效果 }

[Leetcode] 227.基本计算器

标题&#xff1a;[Leetcode] 227.基本计算器 个人主页&#xff1a;水墨不写bug &#xff08;图片来源于网络&#xff09; // _ooOoo_ // // o8888888o // // …

linux 获取指定端口的PID netsat awk

使用netstat -ntpl 获取指定端口的PID #获取端口19000对应的PID netstat -ntpl | grep 19000 | awk {print $NF} | awk -F/ {print $1}

vcs/verdi常用命令(持续更新)

1. 操作rtl 1.1 加载rtl命令 verdi -dbdir simv.daidir的目录 1.2 显示某时刻rtl的值 首先鼠标左键在波形上选中某个特定时刻&#xff0c;然后鼠标选中rtl代码文件&#xff0c;按x就会显示&#xff0c;再按x就会退出显示。 1.3 查找字符串 按/ 1.4 vcs将rtl的信号加载到…

mockito+junit搞定单元测试(2h)

一&#xff0c;简介 1.1 单元测试的特点 配合断言使用(杜绝 System.out )可重复执行不依赖环境不会对数据产生影响spring 的上下文环境不是必须的一般都需要配合 mock 类框架来实现 1.2 mock 类框架使用场景 要进行测试的方法存在外部依赖(如 db, redis, 第三方接口调用等)…

HashMap扩容时机是插入前还是插入后?

结论 不管是HashMap还是ConcurrentHashMap都是插入后。 过程为&#xff1a; 先计算哈希值。对应的哈希槽插入数据&#xff0c;决定是红黑树还是链表插入完毕才计算是否需要扩容&#xff0c;假如需要则扩容 源码 源码如下&#xff1a; 其中addCount方法里面写入扩容。

如何设置 Django 错误邮件通知 ?

Django 是一个强大的 web 框架&#xff0c;非常适合那些想要完美快速完成任务的人。它有许多内置的工具和特性&#xff0c;一个有用的特性是 Django 可以在出现错误时发送电子邮件提醒。这对开发人员和管理员非常有用&#xff0c;因为如果出现问题&#xff0c;他们会立即得到通…

STM32F407单片机编程入门(十二) FreeRTOS实时操作系统详解及实战含源码

文章目录 一.概要二.什么是实时操作系统三.FreeRTOS的特性四.FreeRTOS的任务详解1.任务函数定义2.任务的创建3.任务的调度原理 五.CubeMX配置一个FreeRTOS例程1.硬件准备2.创建工程3.调试FreeRTOS任务调度 六.CubeMX工程源代码下载七.小结 一.概要 FreeRTOS是一个迷你的实时操…

智慧校园建设解决方案建设系统简介

一、建设背景 1.1 政策背景 1.2 班牌的演变 1.3 建设愿景 二、 智慧班牌简介 三、智慧班牌系统 3.1 系统概述 3.2 软件平台功能交互简介 3.2.1 智慧班牌与管理平台间的功能关联 3.2.2 手机客户端&#xff08;管理员、教师、家长端&#xff09; 3.2.3 手机客户端&#x…

数据采集与预处理,前后端结合案例(有代码),Python连接MySQL,对MySQL的增删改查

Python对MySQL的增删改查 通过Python连接MySQL """连接MySQL数据库&#xff0c;并进行增删改查&#xff0c;同时查询了MySQL版本号&#xff0c;并做了动态注册的账号&#xff0c;实现过程&#xff1a;先向userinfo当中添加account、password新字段&#xff0c…

数据结构:内部排序

文章目录 1. 前言1.1 什么是排序&#xff1f;1.2 排序的稳定性1.3 排序的分类和比较 2. 常见的排序算法3. 实现常见的排序算法3.1 直接插入排序3.2 希尔排序3.3 直接选择排序3.4 堆排序3.5 冒泡排序3.6 快速排序3.6.1 hoare思想3.6.2 挖坑法3.6.3 lomuto前后指针法3.6.4 非递归…

软考(中级-软件设计师)计算机系统篇(0921)

I 计算机系统知识 一、考纲要求 数值及其转换 二进制、十进制和十六进制等常用数制及其相互转换 计算机内数据的表示 数值的表示&#xff08;原码、反码、补码、移码表示&#xff0c;整数和实数的机内表示&#xff0c;精度和溢出&#xff09;非数值表示&#xff08;字符和汉字…

AI直播新浪潮:无人视频自动直播,出圈再造辉煌,创业者首选!

AI直播新浪潮:无人视频自动直播&#xff0c;出圈再造辉煌&#xff0c;创业者首选&#xff01; 在数字化浪潮的汹涌澎湃中&#xff0c;AI技术正以前所未有的速度重塑着各行各业的边界&#xff0c;而直播行业作为数字内容消费的前沿阵地&#xff0c;正迎来一场由AI驱动的深刻变革…

MQ(RabbitMQ)笔记

初识MQ 同步调用优缺点 异步调用优缺点 总结&#xff1a; 时效性要求高&#xff0c;需要立刻得到结果进行处理--->同步调用 对调用结果不关心&#xff0c;对性能要求高&#xff0c;响应时间短--->异步调用