【五】sql 语言 -- 概览

news2024/11/16 23:58:42

  • SQL 语言概述
    • SQL 语言提出和发展
    • SQL 语言的功能概述
    • 利用 SQL 语言建立数据库
      • 学生选课数据库 SCT
      • 1. 定义数据库和表 SQL-DDL
        • 创建数据库的语句—Create Database
        • 创建关系/表的语句—Create Table
      • 2. 向表中追加元组 SQL-DML
    • 利用 SQL 语言进行简单查询
    • 利用SQL语言进行增-删-改
      • SQL-之 INSERT
      • SQL-之 DELETE
      • SQL-之 UPDATE
    • 利用 SQL 语言修正与撤销数据库
  • 内容回顾
  • 练习

SQL 语言概述

【重点与难点】

  • SQL-DDL 的基本语句:CREATE DATABASECREATE TABLE
  • SQL-DML 的基本语句:INSERTDELETEUPDATESELECT
  • SQL-SELECT 语句的训练:正确表达各种 查询 需求。

SQL 语言提出和发展

SQL 语言的功能概述

SQL 语言是集 DDL、DML 和 DCL 于一体的数据库语言;

SQL 语言主要由以下9个单词引导的操作语句来构成,但每一种语句都能表
达复杂的操作请求:

  • DDL 语句引导词Create (建立),Alter(修改),Drop (撤消)

模式的定义和删除,

  • 包括定义 Database,Table,View,Index, 完整性约束条件等,
  • 也包括定义对象(RowType 行对象,Type 列对象)
  • DML 语句引导词Insert (插入),Delete (删除),Update(更新),Select (选择)
  • 各种方式的更新与检索操作,如直接输入记录,从其他 Table(由 SubQuery
    建立)输入;
  • 各种复杂条件的检索,如连接查找,模糊查找,分组查找,嵌套查找等;
  • 各种聚集操作,求平均、求和、…等,分组聚集,分组过滤等;
  • DCL 语句引导词Grant (授权),Revoke (撤销授权)

安全性控制:授权和撤消授权

利用 SQL 语言建立数据库

学生选课数据库 SCT

在这里插入图片描述

后面要反复使用它们!

  • 学生:学号S#, 姓名Sname, 性别Ssex, 年龄Sage, 所属系别D#,班级Sclass
Student ( S# char(8), Sname char(10), Ssex char(2), Sage integer, D# char(2), Sclass char(6) )
  • 院系:系别D#, 系名Dname, 系主任Dean
Dept ( D# char(2), Dname char(10), Dean char(10) )

在这里插入图片描述

  • 课程:课号C#, 课名Cname, 教师编号T#, 学时Chours,学分Credit
Course ( C# char(3), Cname char(12), Chours integer, Credit float(1), T# char(3) )
  • 教师:教师编号T#,教师名Tname, 所属院系D#,工资Salary
Teacher ( T# char(3), Tname char(10), D# char(2), Salary float(2) )
  • 选课:学号S#, 课号C#, 成绩Score
SC ( S# char(8), C# char(3), Score float(1) )

建立数据库 包括 两件事定义数据库和表(使用 DDL),向表中追加元组(使用 DML)

1. 定义数据库和表 SQL-DDL

DDL data Definition Language,DDL 通常由 DBA 来使用,也有经 DBA 授权后由应用程序员来使用。

  • 创建数据库 (DB) — Create Database
  • 创建 DB 中的 Table(定义关系模式) — Create Table

创建数据库的语句—Create Database

数据库(Database) 是若干 具有相互关联关系Table/Relation 的集合

数据库可以看作是一个集中存放若干 Table 的大型文件。

在这里插入图片描述

create database 的简单语法形式:

create database 数据库名;

示例:创建课程学习数据库 S C T \mathbf {SCT} SCT

create database SCT;

创建关系/表的语句—Create Table

create table 简单语法形式:

Create table 表名( 列名 数据类型 [Primary key | Unique] [Not null]
                  [, 列名 数据类型 [Not null],]    );
  • [ ] 表示其括起的内容可以省略,| 表示其隔开的两项可取其一。
  • Primary key主键约束每个表只能创建一个 主键约束。
  • Unique:唯一性约束(即候选键)。可以有 多个唯一性约束
  • Not null非空约束。是指该列允许不允许有空值出现,如选择了 Not null表明 该列不允许有空值出现

在 SQL-92 标准中定义的数据类型:

  • char (n)固定长度 的字符串;
  • varchar (n)可变长 字符串;
  • int整数,有时不同系统也写作 integer
  • numeric (p, q)固定精度数字,小数点左边 p 位,右边 p-q 位;
  • real浮点精度数字,有时不同系统也写作 float(n),小数点后保留 n 位;
  • date :日期 (如 2003-09-12)
  • time :时间 (如 23:15:003)

和高级语言的数据类型,总体上是一致的,但也有些差异。

【示例】定义学生表 S t u d e n t \mathbf{Student} Student

Create Table Student ( S# char(8) not null , Sname char(10), 
			 	Ssex char(2), Sage integer, D# char(2), Sclass char(6) );

【示例】定义课程表 C o u r s e \mathbf{Course} Course

Create Table Course ( C# char(3) , Cname char(12), Chours integer, 
                      Credit float(1), T# char(3) );

以此类推定义其他的表!定义了表后,就可向表中追加元组了!

2. 向表中追加元组 SQL-DML

DML Data Manipulation Language,DML 通常由用户或应用程序员使用,访问经授权的数据库。

  • 向 Table 中追加新的元组:insert into

insert into 简单语法形式:

insert into 表名[ (列名 [, 列名 ]]
values ([,] ,) ;

values 后面值的排列,须与 into 子句后面的列名排列一致。

若表名后的所有列名省略,则 values 后的值的排列,须与该表存储中的列名排列一致。

【示例】追加学生表中的元组

insert into Student 
values (98030101, ‘张三’, ‘男’, 20, ’03’, ‘980301);
insert into Student ( S#, Sname, Ssex, Sage, D# , Sclass)
values (98030102, ‘张四’, ‘女’, 20, ’03’, ‘980301);

【示例】追加课程表中的元组

insert into Course    /*所有列名省略,须与定义或存储的列名顺序一致
values (001, ‘数据库’, 40, 6, ’001); 
insert into Course(Cname, C#, Credit, Chours, T#)  /*如列名未省略,须与语句中列名的顺序一致
values (‘数据库’,001, 6, 40,001);

数据库建立完成后关键是要用呀!

利用 SQL 语言进行简单查询

  • SQL 的 SELECT 子句 对应 关系代数的 投影 Π \Pi Π 操作;
  • SQL 的 FROM 子句 对应 关系代数的 笛卡尔积 × × × 操作;
  • SQL 的 WHERE 子句 对应 关系代数的 选择 σ \sigma σ 操作;
  • GROUP BY 子句是 分组 操作。

单表查询 - SELECT-FROM-WHERE

SQL提供了结构形式一致但功能多样化的 检索语句 select

select 的简单语法形式:

select 列名 [[, 列名]]
from 表名
[ where 检索条件 ] ;

语义:从表名所给出的表中,查询出满足检索条件的元组,并按给定的列名
及顺序进行投影显示。

相当于:在这里插入图片描述

select 语句中的 select … , from… , where…, 等被称为 子句,在以上基本形式基础上会增加许多构成要素,也会增加许多新的子句,满足不同的需求。

【示例】检索学生表中所有学生的信息

// 第一种
select S#, Sname, Ssex, Sage, Sclass, D# 
from Student ; 

// 第二种
select * from Student ;      //如投影所有列,则可以用 *来简写

【示例】检索学生表中所有学生的姓名及年龄

select Sname, Sage       //投影出某些列
from Student ; 

【示例】检索学生表中所有年龄小于等于19岁的学生的年龄及姓名

select Sage, Sname      //投影的列可以重新排定顺序
from Student
where Sage <= 19;

检索条件的书写

  • 与选择运算 σ c o n ( R ) \sigma_{con}( \mathbf R) σcon(R) 的条件 c o n con con 书写一样,只是其逻辑运算符用 and , or, not 来表示,同时也要注意运算符的优先次序及括弧的使用。
  • 书写要点是注意对自然语言检索条件的正确理解。

【示例】求或者学过001号课程,或者 学过002号课程的学生的学号

select S# 
from SC
where C# = ‘001’ OR C#=‘002’;

【示例】求 学过001号课程, 学过002号课程的学生的学号

select S# 
from SC
where C# = ‘001’ AND C#=‘002’;
//正确的SQL语句在讲义后面的示例中讲

【示例】检索教师表中所有工资 少于1500或者 工资 大于2000元,并且03系的教师姓名?

select Tname
from Teacher
where (Salary < 1500 or Salary > 2000) and D# = ’03’;

结果唯一性问题

关系模型不允许出现重复元组。但现实 DBMS,却允许出现重复元组,但也允许无重复元组。

  • 在 Table 中要求无重复元组 是通过定义 Primary keyUnique 来保证的;
  • 在检索结果中要求无重复元组,是通过 DISTINCT 保留字的使用来实现的。

【示例】在选课表中,检索成绩 大于80 分的所有学号

select S#
from SC
where Score > 80 ;   //有重复元组出现,比如一个同学两门以上课程大于80
select DISTINCT S#
from SC
where Score > 80;     //重复元组被 DISTINCT 过滤掉,只保留一份

结果排序问题

DBMS 可以对检索结果进行排序,可以 升序排列,也可以 降序排列

select 语句中结果排序是通过增加 order by 子句实现的:

order by  列名 [asc | desc]

意义为检索结果按指定列名进行排序,若

  • 后跟 asc 或省略,则为升序
  • 后跟 desc,则为降序

【示例】按学号 由小到大的顺序 显示出所有学生的学号及姓名

select S#, Sname 
from Student
order by S# asc ;

【示例】检索 002 号课 大于 80分的所有同学学号并按成绩 由高到低顺序显示

select S# 
from SC 
where C# = ‘002’ and Score > 80
order by Score desc ;

模糊查询问题

比如检索姓于的学生,检索于某某;

这类查询问题,select 语句是通过在检索条件中引入运算符 like 来表示的。

含有 like 运算符的表达式:

列名 [not] like “字符串”

意义:找出 匹配给定字符串的字符串,其中给定字符串中可以出现 %, _ 等匹配符。

匹配规则:

  • % 匹配 零个或多个 字符;
  • _ 匹配 任意单个 字符;
  • \ 转义字符,用于 去掉一些特殊字符的特定含义,使其被作为普通字符看待,如用 \% 去匹配字符 %,用 \_ 去匹配字符 _

【示例】检索所有姓 的学生学号及姓名

select S#, Sname 
from Student
where Sname like ‘于%;

【示例】检索名字为 某某的所有同学姓名

select Sname 
from Student 
where Sname like ‘于_ _’;

【示例】检索名字不姓 的所有同学姓名

select Sname 
from Student 
where Sname not like ‘于%;

多表联合查询

多表联合检索可以通过 连接运算 来完成,而连接运算又可以通过 广义笛卡尔积 后再进行选择运算来实现。

select 的多表联合检索语句:

select 列名 [ [, 列名]]
from 表名1, 表名2,where 检索条件 ;

相当于 在这里插入图片描述

检索条件中要包含连接条件,通过不同的连接条件可以实现等值连接、不等值连接及各种 θ \theta θ-连接。

θ \theta θ-连接之等值连接

【示例】按 “001” 号课成绩 由高到低顺序 显示所有学生的姓名(二表连接)

select Sname 
from Student, SC
where Student.S# = SC.S# and SC.C# = ‘001’
order by Score desc;

多表连接时,如两个表的属性名相同,则需采用 表名. 属性名 方式来限定该
属性是属于哪一个表。

【示例】按 ‘数据库’ 课成绩 由高到低顺序 显示所有同学姓名(三表连接)

select Sname from Student, SC, Course
where Student.S# = SC.S# and SC.C# = Course.C# and Cname = ‘数据库’
order by Score desc;

连接运算涉及到 重名 的问题,如两个表中的属性重名,连接的两个表重名
(同一表的连接)等,因此需要使用 别名 以便区分。

select 中采用别名的方式:

select 列名 as 列别名 [ [, 列名 as 列别名]]
from 表名1 as 表别名1, 表名2 as 表别名2,where 检索条件 ;

上述定义中的 as 可以省略,当定义了别名后,在检索条件中 可以使用别名来限定属性

θ \theta θ-连接之不等值连接

【示例】求有薪水差额的任意两位教师

select T1.Tname as Teacher1, T2.Tname as Teacher2
from Teacher T1, Teacher T2
where T1.Salary > T2.Salary ;

【示例】求年龄有差异的任意两位同学的姓名

select S1.Sname as Stud1, S2.Sname as Stud2 
from Student S1, Student S2
where S1.Sage > S2.Sage ;

有时表名很长时,为书写条件简便,也定义表别名,以简化书写。

多表联合查询训练

在这里插入图片描述

【示例】求 学过 “001” 号课 学过 “002” 号课的所有学生的学号

select S1.S# from SC S1, SC S2
where S1.S# = S2.S# and S1.C#=‘001’ and S2.C#=‘002 ;

【示例】求 “001” 号课成绩比 “002” 号课成绩高的所有学生的学号

select S1.S# 
from SC S1, SC S2
where S1.S# = S2.S# and S1.C#=‘001’ and S2.C#=‘002’ and S1.Score > S2.Score;

【示例】列出 没学过 李明老师讲授课程的所有同学的姓名

select Sname 
from Student S, SC, Course C, Teacher T
where T.Tname <> ‘李明’ and C.C# = SC.C# and SC.S# = S.S# and T.T# = C.T#;

// 以上是错误答案,正确的SQL语句在下面

利用SQL语言进行增-删-改

  • 元组新增 Insert新增 一个或一些 元组 到数据库的 Table 中;
  • 元组更新 Update:对某些元组中的某些 属性值 进行 重新设定
  • 元组删除 Delete删除 某些 元组
  • SQL-DML 既能单一记录操作,也能对记录集合进行批更新操作;
  • SQL-DML之更新操作需要利用前面介绍的子查询(Subquery)的概念,以便处理 “一些”“某些” 等。

SQL-之 INSERT

元组新增 insert 命令有两种形式:

  • 单一元组 新增命令形式:插入 一条指定元组值 的元组;
insert into 表名 [(列名[,列名])]
values ([,值])
  • 批数据 新增命令形式:插入 子查询结果 中的若干条元组,待插入的元
    组由子查询给出。
insert into 表名 [(列名[,列名])]
子查询;

【示例】单一元组新增

insert into Teacher (T#, Tname, D#, Salary)
values (005, “阮小七”,03,1250);
insert into Teacher
values (006, “李小虎”,03,950);

【示例】批元组新增

新建立 Table: St(S#, Sname),将检索到的满足条件的同学新增到该表中:

insert into St (S#, Sname)
select S#, Sname  
from Student
where Sname like%伟 ’ ;
insert into St (S#, Sname)
select S#, Sname
from Student
order by Sname;

【注意】当 新增元组 时,DBMS 会 检查用户定义的完整性约束条件 等,如不符合完整性约束条件,则将不会执行新增动作。

【示例】新建 Table: SCt(S#, C#, Score),将检索到的成绩及格同学的记录新增到该表中

insert into SCt (S#, C#, Score)
select S#, C#, Score 
from SC
where Score>=60 ;

【示例】追加成绩优秀同学的记录

insert into SCt (S#, C#, Score)
select S#, C#, Score 
from SC
where Score>=90 ;
  • 还可以有更复杂的 “查询后插入到新表中” 的语句,例如可以 将中间结果存储成表 ----这很有用!

【示例】新建 Table: St(S#, Sname, avgScore),将检索到的同学的平均成绩 新增 到该表中

insert into St (S#, Sname, avgScore)
select S#, Sname, Avg(Score) 
from Student, SC
where Student.S# = SC.S#
group by Student.S# ;

SELECT 语句的书写语法后面再解释。

SQL-之 DELETE

  • 元组删除 Delete 命令:删除满足指定条件的元组。
delete from 表名 
[ where 条件表达式] ;
  • 如果 Where 条件省略,则删除所有的元组。

【示例】删除 S C \mathbf {SC} SC 表中所有元组

delete from SC ;

【示例】删除 98030101 号同学所选的所有课程

delete from SC 
where S# = ‘98030101’ ;

【示例】删除 自动控制系 的所有同学

delete from Student 
where D# in ( select D# from Dept where Dname = ‘自动控制’);

----此是一简单的 嵌套子查询,后面会有更详细解释。

  • 还可以有更复杂的 “条件控制的删除” 语句,----这很有用!

【示例】删除有四门不及格课程的所有同学

delete from Student 
where S# in
	( select S# from SC where Score < 60 
	group by S# having count(*)>= 4 );

删除元组 时,DBMS 会检查 用户定义的完整性约束条件 等,如不符合完整性约束条件,则将不会执行删除动作。

SQL-之 UPDATE

  • 元组更新 Update 命令:用指定要求的值更新指定表中满足指定条件的元组的指定列的值。
update 表名
set 列名 = 表达式 | (子查询) [ [ , 列名 = 表达式 | (子查询) ]]
[ where 条件表达式] ;
  • 如果 Where 条件省略,则更新所有的元组。

【示例】将所有教师工资上调5%

update Teacher
set Salary = Salary * 1.05 ;

【示例】将所有计算机系的教师工资上调10%

update Teacher
set Salary = Salary * 1.1 
where D# in
	( select D# from Dept where Dname = ‘计算机’);
  • 还可以有更复杂的 “条件控制的更新” 语句,----这很有用!

【示例】当某同学 001 号课的成绩 低于 该课程平均成绩时,将该同学该门课成绩提高5%

update SC 
set Score = Score * 1.05
where C# = ‘001’ and Score < some 
	( select AVG(Score) from SC 
	where C# = ‘001’ ) ;

【示例】将张三同学 001 号课的成绩置为其班级该门课的平均成绩

update SC 
set Score = ( select AVG(SC2.Score)
	from SC SC1, Student S1, SC SC2, Student S2 
	where S1.Sclass = S2.Sclass and SC1.S# = S1.S# 
		and SC2.S# = S2.S# and S1.Sname=‘张三’
		and SC1.C# = SC2.C# and SC1.C# = ‘001’ )
where C# = ‘001’ and S# in ( select S# from Student 
							where Sname = ‘张三’ ) ;

利用 SQL 语言修正与撤销数据库

修正数据库:修正数据库的定义,主要是修正表的定义。

  • 修正基本表的定义:
alter table tablename
[add {colname datatype, …}]                      #增加新列
[drop {完整性约束名}]                             #删除完整性约束
[modify {colname datatype, …}]                   #修改列定义

【示例】在学生表 Student(S#,Sname,Ssex,Sage,D#,Sclass) 基础上 增加二列 Saddr, PID

alter table Student 
add Saddr char[40], PID char[18] ;

【示例】将上例表中 Sname 列的 数据类型改为10个字符

alter table Student 
modify Sname char(10) ;

【示例】删除 学生姓名 必须取唯一值约束

alter table Student 
drop unique( Sname );
  • 撤消基本表:
drop table 表名

【示例】撤消学生表 S t u d e n t \mathbf{Student} Student

drop table Student;

【示例】撤消教师表 T e a c h e r \mathbf{Teacher} Teacher

drop table Teacher;

【注意】SQL- delete 语句只是删除表中的元组,而撤消基本表 droptable 的操作是 撤消包含表格式、表中所有元组、由该表导出的视图等相关的所有内
,所以使用要特别注意。

Delete…FromDrop table 的区别清楚了吗 ?!!!

  • 撤消数据库:
drop database 数据库名; 

【示例】撤消 S C T \mathbf{SCT} SCT 数据库

drop database SCT;

有些 DBMS 提供了操作多个数据库的能力,此时在进行数据库操作时需要指定待操作数据库与关闭数据库的功能。

  • 指定 当前 数据库
use 数据库名; 
  • 关闭 当前数据库
close 数据库名; 

内容回顾

在这里插入图片描述

练习

在这里插入图片描述

正确答案:A

在这里插入图片描述

正确答案:A

在这里插入图片描述

正确答案:A

在这里插入图片描述

正确答案:A

在这里插入图片描述

正确答案:A

在这里插入图片描述

正确答案:A

在这里插入图片描述

正确答案:A

在这里插入图片描述

正确答案:A

在这里插入图片描述

正确答案:A

在这里插入图片描述

正确答案:A

在这里插入图片描述

正确答案:A

在这里插入图片描述

正确答案:A

在这里插入图片描述

正确答案:A

在这里插入图片描述

正确答案:A

在这里插入图片描述

正确答案:A

在这里插入图片描述

正确答案:A

在这里插入图片描述

正确答案:A

在这里插入图片描述

正确答案:A

在这里插入图片描述

正确答案:A
【解析】 WHERE Student.S# = SC.S# AND Course.C# = SC.C# AND T# = 'T01' AND Score<60 表示学过 T01 号教师讲授课程且成绩小于 60,所以整个语句表示学习 T01 号教师讲授课程不及格的所有学生的姓名。

在这里插入图片描述

正确答案:A
【解析】更新表中的数据要用 UPDATE 操作,正确的格式是:UPDATE 表名 SET 列名=新值 WHERE 列名=某值,课号是 字符型 的,所以要 加引号

在这里插入图片描述

正确答案:A
【解析】删除某行要用 DELETE,正确的格式是:DELETE FROM 表名 WHERE 列名=某值,课号是 字符型的,所以要 加引号

在这里插入图片描述

正确答案:A
【解析】只查询 “课号”,所以只有一列,DISTINCT 表示相同的值只显示一条。

在这里插入图片描述

正确答案:A

在这里插入图片描述

正确答案:A
【解析】

  • WHERE 子句对应关系代数的 选择 σ \sigma σ 操作;
  • SELECT 子句对应关系代数的 投影 Π \Pi Π 操作;
  • FROM 子句对应关系代数的 笛卡尔积 × × × 操作;
  • GROUP BY 子句是 分组 操作。

在这里插入图片描述

正确答案:A

在这里插入图片描述

正确答案:A
【解析】检索结果为空。

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

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

相关文章

工地安全帽识别闸机联动开关 yolov7

工地安全帽识别闸机联动开关系统通过yolov7系列网络模型深度学习算法&#xff0c;工地安全帽识别闸机联动开关算法对施工人员的人脸、安全帽和反光衣进行识别&#xff0c;判断是否符合安全要求。只有当人脸识别成功且安全帽、反光衣齐全时&#xff0c;闸机才会打开允许施工人员…

FFmpeg支持多线程编码并保存mp4文件示例

之前介绍的示例&#xff1a; (1).https://blog.csdn.net/fengbingchun/article/details/132129988 中对编码后数据保存成mp4 (2).https://blog.csdn.net/fengbingchun/article/details/132128885 中通过AVIOContext实现从内存读取数据 (3).https://blog.csdn.net/fengbingchun/…

基于XGBoots预测A股大盘《上证指数》(代码+数据+一键可运行)

对AI炒股感兴趣的小伙伴可加WX&#xff1a;caihaihua057200&#xff08;备注&#xff1a;学校/公司名字方向&#xff09; 另外我还有些AI的应用可以一起研究&#xff08;我一直开源代码&#xff09; 1、引言 在这期内容中&#xff0c;我们回到AI预测股票&#xff0c;转而探索…

知识图谱实战应用25-基于py2neo的超市商品的图谱构建与商品推荐系统的实现

大家好,我是微学AI,今天给大家介绍一下知识图谱实战应用25-基于py2neo的超市商品的图谱构建与商品推荐系统的实现,本篇文章,我将指导大家如何使用py2neo和Neo4j构建一个实用的超市商品知识图谱和推荐系统。该系统可以帮助用户快速找到感兴趣的商品,并提供个性化的推荐服务…

【mysql】MySQL服务无法启动 NET HELPMSG 3534

MySQL服务无法启动 NET HELPMSG 3534 错误描述寻找原因解决方法 错误描述 mysql版本&#xff1a;8.1.0 mysql安装成功之后&#xff0c;使用net start mysql来启动mysql&#xff0c;然后出现了报错 MySQL服务无法启动 NET HELPMSG 3534 寻找原因 1、在cmd中&#xff0c;进入…

【论文笔记】最近看的时空数据挖掘综述整理8.27

Deep Learning for Spatio-Temporal Data Mining: A Survey 被引用次数&#xff1a;392 [Submitted on 11 Jun 2019 (v1), last revised 24 Jun 2019 (this version, v2)] 主要内容&#xff1a; 该论文是一篇关于深度学习在时空数据挖掘中的应用的综述。论文首先介绍了时空数…

css background实现四角边框

2023.8.27今天我学习了如何使用css制作一个四角边框&#xff0c;效果如下&#xff1a; .style{background: linear-gradient(#33cdfa, #33cdfa) left top,linear-gradient(#33cdfa, #33cdfa) left top,linear-gradient(#33cdfa, #33cdfa) right top,linear-gradient(#33cdfa, #…

阿里云 Serverless 应用引擎 2.0,正式公测!

阿里云 Serverless 应用引擎 SAE2.0 正式公测上线&#xff01;全面升级后的 SAE2.0 具备极简体验、标准开放、极致弹性三大优势&#xff0c;应用冷启动全面提效&#xff0c;秒级完成创建发布应用&#xff0c;应用成本下降 40% 以上。 此外&#xff0c;阿里云还带来容器服务 Se…

【Python】基于Python的电话簿(Phonebook project)设计(代码详解)

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

【农业生产模拟】WOFOST模型与PCSE模型实践

实现作物产量的准确估算对于农田生态系统响应全球变化、可持续发展、科学粮食政策制定、粮食安全维护都至关重要。传统的经验模型、光能利用率模型等估产模型原理简单&#xff0c;数据容易获取&#xff0c;但是作物生长发育非常复杂&#xff0c;中间涉及众多生理生化过程&#…

Yandex SEO和Google SEO有啥区别?5000字说必须要了解的一些事儿

最近筋斗云SEO服务有做一些俄罗斯市场的SEO&#xff0c;而做俄罗斯的SEO相当于就是要做Yandex的SEO。对比Google的SEO优化&#xff0c;其实有比较多的区别&#xff0c;但总体算法、逻辑等等都大致相似。本文从Linus自己的研究和搜集的公开信息&#xff0c;对比一下Google和Yand…

校园安全Ai视频分析预警算法

校园安全Ai视频分析预警算法通过yolov5python深度学习算法网络模型&#xff0c;校园安全Ai视频分析预警算法对学生的行为进行智能监测和预警如识别学生打架斗殴、抽烟、翻墙、倒地以及异常聚集等行为&#xff0c;及时发出预警通知。YOLO的结构非常简单&#xff0c;就是单纯的卷…

Python框架【模板继承 、继承模板实战、类视图 、类视图的好处 、类视图使用场景、基于调度方法的类视图】(四)

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱敲代码的小王&#xff0c;CSDN博客博主,Python小白 &#x1f4d5;系列专栏&#xff1a;python入门到实战、Python爬虫开发、Python办公自动化、Python数据分析、Python前后端开发 &#x1f4e7;如果文章知识点有错误…

【Apollo学习笔记】——规划模块TASK之PIECEWISE_JERK_PATH_OPTIMIZER

文章目录 前言PIECEWISE_JERK_PATH_OPTIMIZER功能简介PIECEWISE_JERK_PATH_OPTIMIZER相关配置PIECEWISE_JERK_PATH_OPTIMIZER总体流程OptimizePathpiecewise_jerk_problem二次规划问题标准形式定义优化变量定义目标函数设计约束OptimizeFormulateProblem计算QP系数矩阵Calculat…

MERN Stack 教程

This tutorial will show you how to build a full-stack MERN application—in this case, an employee database—with the most current tools available. Before you begin, make sure that you are familiar with Node.js and React.js basics and have Node and Create R…

数据结构队列的实现

本章介绍数据结构队列的内容&#xff0c;我们会从队列的定义以及使用和OJ题来了解队列&#xff0c;话不多说&#xff0c;我们来实现吧 队列 1。队列的概念及结构 队列&#xff1a;只允许在一端进行插入数据操作&#xff0c;在另一端进行删除数据操作的特殊线性表&#xff0c;…

MATLAB图论合集(三)Dijkstra算法计算最短路径

本贴介绍最短路径的计算&#xff0c;实现方式为迪杰斯特拉算法&#xff1b;对于弗洛伊德算法&#xff0c;区别在于计算了所有结点之间的最短路径&#xff0c;考虑到MATLAB计算的便捷性&#xff0c;计算时只需要反复使用迪杰斯特拉即可&#xff0c;暂不介绍弗洛伊德的实现&#…

搜索二叉树的算法解析与实例演示

目录 一.搜索二叉树的特性与实现1.特点2.实现二.搜索二叉树的性能 一.搜索二叉树的特性与实现 1.特点 二叉搜索树是特殊的二叉树&#xff0c;它有着更严格的数据结构特点&#xff1a; &#xff08;1&#xff09;非空左子树的所有键值小于其根结点的键值。 &#xff08;2&…

讯飞AI-SparkDesk

网址&#xff1a;https://m.xfyun.cn/login?callbackaHR0cHM6Ly94aW5naHVvLnhmeXVuLmNuL2NoYXQ/aWQ9MTUzMzc1MjA&website_namesparkdesk

【C++题解】[NOIP2018]龙虎斗

P a r t Part Part 1 1 1 读题 题目描述 轩轩和凯凯正在玩一款叫《龙虎斗》的游戏&#xff0c;游戏的棋盘是一条线段&#xff0c;线段上有 n n n个兵营&#xff08;自左至右编号 1 − n 1-n 1−n&#xff09;&#xff0c;相邻编号的兵营之间相隔 1 1 1厘米&#xff0c;即棋盘…