【五】sql 语言 -- 概览

  • 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.mfbz.cn/a/92650.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL安装记录

背景 Windows系统重装了, 想恢复一下之前的MySQL环境, 而且本地数据库也是比较常用的, 刚好本次也在安装, 做一个简单的记录. 也算是自己的学习记录输出. 遇到的问题当然也可以同时记录在这里, 方便后 续回顾. 资料包 百度网盘 // TODO 估计放了也会被CSDN屏蔽, 这里就不放…

Redis 的混合持久化

RDB 相比于 AOF&#xff0c;数据恢复的速度更快&#xff0c;因为是二进制数据&#xff0c;直接加载进内存即可&#xff0c;但是 RDB 的频率不好把握。 如果频率太低&#xff0c;在两次快照期间服务器发生宕机&#xff0c;可能会丢失较多的数据如果频率太高&#xff0c;频繁写入…

软件工程(十三) 设计模式之结构型设计模式(一)

前面我们记录了创建型设计模式,知道了通过各种模式去创建和管理我们的对象。但是除了对象的创建,我们还有一些结构型的模式。 1、适配器模式(Adapter) 简要说明 将一个类的接口转换为用户希望得到的另一个接口。它使原本不相同的接口得以协同工作。 速记关键字 转换接…

伦敦金短线好还是长线好

在伦敦金投之中&#xff0c;长期有一个争论很久的问题&#xff0c;那就是伦敦金投资究竟是长线好还是短线好&#xff1f;不同的投资者对这个问题有不同的看法&#xff0c;一般认为&#xff0c;伦敦金投资比较适合短线交易。笔者也将讨论这个问题&#xff0c;看看伦敦金投资是不…

Ubuntu Touch OTA-2 推出,支持 Fairphone 3 和 F(x)tec Pro1 X

导读UBports 基金会近日宣布为基于 Ubuntu 20.04 LTS (Focal Fossa) 的 Ubuntu Touch 移动操作系统发布并全面提供 OTA-2 软件更新。 Ubuntu Touch OTA-2 在首次 OTA 更新整整四个月后发布&#xff0c;支持新设备&#xff0c;包括 Fairphone 3、F(x)tec Pro1 X 和 Vollaphone X…

YOLO目标检测——肺炎分类数据集下载分享

肺炎分类数据集总共21000图片&#xff0c;可应用于&#xff1a;肺炎检测、疾病诊断、疾病预测和预警等等。 数据集点击下载&#xff1a;YOLO肺炎分类数据集21000图片.rar

基于openstack helm在kubernetes中部署单节点openstack

helm部署单节点openstack OpenStack-Helm 的目标是提供一系列 Helm charts&#xff0c;以便在 Kubernetes 上简单、弹性、灵活地部署 OpenStack 及相关服务。 OpenStack 可以在独立的 Kubernetes 集群之上运行&#xff0c;而不是在现有基础设施之上运行。在此设置中&#xff…

【小沐学Unity3d】3ds Max 骨骼动画制作(Physique 修改器)

文章目录 1、简介2、Physique 工作流程3、Physique 对象类型4、Physique 增加骨骼5、Physique 应用和初始化6、Physique 顶点子对象7、Physique 封套子对象8、设置关键点和自动关键点模式的区别8.1 自动关键点8.2 设置关键点 结语 1、简介 官方网址&#xff1a; https://help.…

计算机毕设 基于机器学习与大数据的糖尿病预测

文章目录 1 课题背景2 数据导入处理3 数据可视化分析4 特征选择4.1 通过相关性进行筛选4.2 多重共线性4.3 RFE&#xff08;递归特征消除法&#xff09;4.4 正则化 5 机器学习模型建立与评价5.1 评价方式的选择5.2 模型的建立与评价5.3 模型参数调优5.4 将调参过后的模型重新进行…

<C++>泛型编程-模板

1.泛型编程 如何实现一个通用的交换函数呢&#xff1f;可以使用函数重载 void Swap(int &left, int &right) {int temp left;left right;right temp; }void Swap(double &left, double &right) {double temp left;left right;right temp; }void Swap(c…

Sentinel流量控制与熔断降级

&#x1f4dd; 学技术、更要掌握学习的方法&#xff0c;一起学习&#xff0c;让进步发生 &#x1f469;&#x1f3fb; 作者&#xff1a;一只IT攻城狮 &#xff0c;关注我&#xff0c;不迷路 。 &#x1f490;学习建议&#xff1a;1、养成习惯&#xff0c;学习java的任何一个技术…

[MyBatis系列③]动态SQL

目录 1、简介 2、if标签 3、foreach标签 4、SQL抽取 ⭐MyBatis系列①&#xff1a;增删改查 ⭐MyBatis系列②&#xff1a;两种Dao开发方式 1、简介 开发中在MyBatis映射文件配置SQL语句&#xff0c;但是前面配置的都是比较简单的&#xff0c;不涉及稍复杂的业务场景。想要应…

函数式编程-Stream流学习第二节-中间操作

1 Stream流概述 java8使用的是函数式编程模式,如同它的名字一样&#xff0c;它可以用来对集合或者数组进行链状流式操作&#xff0c;让我们更方便的对集合或者数组进行操作。 2 案例准备工作 我们首先创建2个类一个作家类&#xff0c;一个图书类 package com.stream.model;…

【BUG】解决安装oracle11g或12C中无法访问临时位置的问题

项目场景&#xff1a; 安装oracle时&#xff0c;到第二步出现oracle11g或12C中无法访问临时位置的问题。 解决方案&#xff1a; 针对客户端安装&#xff0c;在cmd中执行命令&#xff1a;前面加实际路径setup.exe -ignorePrereq -J"-Doracle.install.client.validate.cli…

RHCE——八、DNS域名解析服务器

RHCE 一、概述1、产生原因2、作用3、连接方式4、因特网的域名结构4.1 拓扑4.2 分类4.3 域名服务器类型划分 二、DNS域名解析过程1、分类2、解析图&#xff1a;2.1 图&#xff1a;2.2 过程分析 三、搭建DNS域名解析服务器1、概述2、安装软件3、/bind服务中三个关键文件4、配置文…

原生微信小程序 动态(横向,纵向)公告(广告)栏

先看一下动态效果 Y轴滚动公告的原理是swiper组件在页面中的Y轴滚动&#xff0c;属性vertical&#xff0c;其余属性也设置一下autoplay circular interval"3000" X轴滚动的原理是&#xff0c;利用动画效果&#xff0c;将内容从右往左过渡过去 wxml&#xff1a; &l…

DBi Tech Studio Controls for .NET Crack

DBi Tech Studio Controls for .NET Crack Studio Controls for.NET为企业开发人员提供了一套全面的Windows布局和信息表示软件元素&#xff0c;面向搜索业务分析商业调度和UI表示控制器的程序员。Studio Controls for.NET包含17个免版税的.NET Windows窗体控件&#xff0c;用于…

高精度地图定位在高速公路自动驾驶系统中的应用

近年来随着汽车保有量不断增加&#xff0c;随之而来的是: ( 1) 严重的交通拥堵&#xff0c;通行效率低下&#xff0c;用在通行上的时间不断增加; ( 2) 交通事故频发&#xff0c;交通事故导致的伤亡人数和费用不断增加&#xff0c;而且绝大多数事故是由人为因素导致的; ( 3) 大气…

3.2 数据的表现形式及其运算

3.2.1 常量和变量 在计算机高级语言中&#xff0c;数据有两种表现形式&#xff1a;常量和变量。 1.常量 在程序运行过程中&#xff0c;其值不能被改变的量称为常量。如例3.1程序中的5,9,32和例3.2程序中的1000,0.0036,0.0225,0.0198是常量。数值常量就是数学中的常数。 常用的…

lnmp架构-mysql

1.MySQL数据库编译 make完之后是这样的 mysql 初始化 所有这种默认不在系统环境中的路径里 就这样加 这样就可以直接调用 不用输入路径调用 2.初始化 重置密码 3.mysql主从复制 配置master 配置slave 当master 端中还没有插入数据时 在server2 上配slave 此时master 还没进…
最新文章