Java基础入门day41

day41

约束

实体完整性

  • 主键约束

  • 唯一约束

  • 自增约束

域完整性

限制列的单元格的数据的正确性

  • 非空约束

    • not null,非空,此列必须有值

    create table subject03(sid int primary key auto_increment,subname varchar(20) unique not null,subHour int
    );
    mysql> desc subject03-> ;
    +---------+-------------+------+-----+---------+----------------+
    | Field   | Type        | Null | Key | Default | Extra          |
    +---------+-------------+------+-----+---------+----------------+
    | sid     | int(11)     | NO   | PRI | NULL    | auto_increment |
    | subname | varchar(20) | NO   | UNI | NULL    |                |
    | subHour | int(11)     | YES  |     | NULL    |                |
    +---------+-------------+------+-----+---------+----------------+
    3 rows in set (0.00 sec)
    ​
    mysql> desc subject02;
    +---------+-------------+------+-----+---------+----------------+
    | Field   | Type        | Null | Key | Default | Extra          |
    +---------+-------------+------+-----+---------+----------------+
    | sid     | int(11)     | NO   | PRI | NULL    | auto_increment |
    | subName | varchar(20) | YES  | UNI | NULL    |                |
    | subHour | int(11)     | YES  |     | NULL    |                |
    +---------+-------------+------+-----+---------+----------------+
    3 rows in set (0.00 sec)
    ​
    mysql> select * from subject02;
    +-----+---------+---------+
    | sid | subName | subHour |
    +-----+---------+---------+
    |   1 | java    |     100 |
    |   2 | pytyon  |      90 |
    |   3 | ui      |      80 |
    |   4 | bigdata |      80 |
    |   5 | chat    |      80 |
    +-----+---------+---------+
    5 rows in set (0.00 sec)
    ​
    mysql> insert into subject02 values(6, null, 10);
    Query OK, 1 row affected (0.00 sec)
    ​
    mysql> select * from subject02;
    +-----+---------+---------+
    | sid | subName | subHour |
    +-----+---------+---------+
    |   1 | java    |     100 |
    |   2 | pytyon  |      90 |
    |   3 | ui      |      80 |
    |   4 | bigdata |      80 |
    |   5 | chat    |      80 |
    |   6 | NULL    |      10 |
    +-----+---------+---------+
    6 rows in set (0.00 sec)
    ​
    mysql> insert into subject03 values(1, 'java', 10);
    Query OK, 1 row affected (0.00 sec)
    ​
    mysql> select * from subject03;
    +-----+---------+---------+
    | sid | subname | subHour |
    +-----+---------+---------+
    |   1 | java    |      10 |
    +-----+---------+---------+
    1 row in set (0.00 sec)
    ​
    mysql> insert into subject03 values(2, null, 10);
    ERROR 1048 (23000): Column 'subname' cannot be null

    非空字段必须给给值,否则执行报错

  • 默认值约束

    • default值,为列赋予默认值,当新增数据不指定值时,书写default,以指定的默认值进行填充

      create table subject04(sid int primary key auto_increment,subName varchar(20) not null unique,subHour int default 20
      );
      insert into subject04 (sid, subname) values(2, 'python');
      mysql> select * from subject04;
      +-----+---------+---------+
      | sid | subName | subHour |
      +-----+---------+---------+
      |   2 | python  |      20 |
      +-----+---------+---------+

      默认值不给填充值的时候,就采用默认值

      mysql> insert into subject04 (sid, subname, subhour) values(1, 'java', 80);
      Query OK, 1 row affected (0.01 sec)
      ​
      mysql> select * from subject04;
      +-----+---------+---------+
      | sid | subName | subHour |
      +-----+---------+---------+
      |   1 | java    |      80 |
      |   2 | python  |      20 |
      +-----+---------+---------+
      2 rows in set (0.00 sec)

      当用户给了确定的值之后,也会覆盖默认值

  • 引用完整性约束

    • constraint 引用名 foreign key (列表) references 被引用的表名(引用表中的列名)

    • foreign key引用外部表的某个列的值,新增数据时,约束此列的值必须时引用表中的值。

    create table clazz02(cid int primary key auto_increment,cname varchar(20) not null unique,cdesc varchar(20)
    );
    ​
    insert into clazz02 values(1, 'java', 'java desc');
    insert into clazz02 values(2, 'python', 'python desc');
    insert into clazz02 values(3, 'math', 'math desc');
    ​
    create table student02(sid int primary key auto_increment,name varchar(20) not null,password varchar(20) not null,age int,tel varchar(11),addr varchar(20) default 'sushe',cid int,constraint fk_stu_cid foreign key(cid) references clazz02(cid)
    );
    ​
    insert into student02 values(1, 'wukong', '999999', 500, 119, 'huaguoshan', 1);
    insert into student02 values(2, 'wuneng', '888888', 2000, 114, 'gaolaozhuang', 3);
    insert into student02 values(3, 'wujing', '777777', 1500, 112, 'liushahe', 1);
    insert into student02 values(4, 'tangtang', '999999', 20, 110, null, 2);
    insert into student02 values(6, 'change', '000000', 20, 110, null, 9);
    insert into student02(name, password, age, tel, cid) values('xiaobailong', '666666',50, '1111', 9);     //执行报错,不存在9班

    物理外键:从表中的字段借助foreign key域主表中的字段关联,执行的时候就一定要保证数据的准确性

    逻辑外键:使得程序保证数据的准确性,将主表的信息存储在下拉框中,让用户必须选择主表中存在的数据,但是强行执行不存在于主表中的记录的SQL语句还是可以成功的

  • 检查约束

事务

一件事情,被拆分成多个任务,这多个任务要么同时成功,有部分失败,那么让成功的那些部分需要“回滚”到初始状态

模拟转账

生活中的转账是转账方账户扣钱,收账方账户加钱。我们用数据库模拟这样的一个实现

create table account(aid int primary key,name varchar(20) not null,pass varchar(20) not null,money double
);
​
insert into account values(1, 'wukong', '999999', 1000);
insert into account values(2, 'tangtang', '000000', 10000);
​
update account set money= money + 1000 where aid = 1;
//  假如这里断电,后面的语句将无法执行
update account set money= money - 1000 where aid = 2;

概念:事务是一个原子操作,是一个最小执行单元。可以由一个或者多个SQL语句组成,在同一个事务当中,所有的SQL语句都成功执行时,整个事务成功。有部分SQL语句执行失败,则整个事务都执行失败,让之前成功的部分必须回滚

边界:

开始:
连接到数据库
执行多条DML语句。
结束:
1)提交:
显式提交:commit;
隐式提交:一条创建、删除语句正常退出,客户端正常退出连接
2)回滚:
显式回滚:rollback;
隐式回滚:非正常退出(断电、宕机)
start transaction;
​
update account set money = money + 1000 where aid = 1;
​
select * from account;
​
update account set money = money - 1000 where aid = 2;
​
select * from account;
​
commit;
start transaction;
​
update account set money = money + 1000 where aid = 1;
​
select * from accoun;
​
update account set money = money - 1000 where aid = 2;
​
select * from account;
​
rollback;

应用:

基于增删改的操作结果,可以通过城市手动控制事务的提交或者回滚

开启事务后,执行的语句均属于当前事务,成功再执行commit,失败要进行rollback操作

特性:

  • atomicity:原子性

  • consistency:一致性

  • isolation:隔离性

  • durability:持久性

权限管理

创建用户

语法:
create user 用户名 identified by 密码
create user saas identified by 'saas123';

授权

语法
grant all on 数据库.表 to 用户名
grant all on saas.* to saas;

撤销授权

revoke all on 数据库.表 from 用户名

注意:撤销授权后,账户要重新连接客户端才会生效

删除用户

drop user 用户名
drop user saas;

视图

概念:

视图:虚拟表,从一个表或者多个表冲查询出来的结果作为一个视图,作用和真是表一样,包含一系列带有行和列的数据。

视图中,用户可以使用select语句查询数据,也可以使用insert,update,delete修改记录。视图可以是用户操作更方便,并保障数据库系统的安全

  • 特点:

    • 优点:

      • 简单,数据所见即所得

      • 安全,用户只能查询或者修改他们所能见到的数据

      • 逻辑独立性,可以屏蔽真是表结构变化带来的影响

    • 缺点:

      • 性能相对较差,简单的查询也会变得稍微复杂

      • 修改不方便,特别是复杂的聚合视图基本无法修改

语法:

create view 视图名 as 查询数据源表数据
​
create view stu_view as
select sid, name, score from student;
create view stu_clazz_view as 
select s.sid, s.name, s.score, c.cname from student s, clazz c where s.cid = c.cid
mysql> select sid, name, score from student;
+------+------------+-------+
| sid  | name       | score |
+------+------------+-------+
|  100 | wukong     |    99 |
|  101 | wuneng     |    59 |
|  102 | wujing     |    60 |
|  103 | tangtang   |   100 |
|  104 | baoyu      |    17 |
|  105 | daiyu      |    16 |
|  106 | baichai    |    16 |
|  107 | xifeng     |    27 |
|  108 | liubei     |    20 |
|  109 | sunquan    |    20 |
|  110 | caocao     |    20 |
|  111 | songjiang  |    20 |
|  112 | likui      |    22 |
|  113 | sunerniang |    20 |
+------+------------+-------+
14 rows in set (0.00 sec)
​
mysql>
mysql> create view stu_view as-> select sid, name, score from student;
Query OK, 0 rows affected (0.01 sec)
​
mysql> select * from stu_view;
+------+------------+-------+
| sid  | name       | score |
+------+------------+-------+
|  100 | wukong     |    99 |
|  101 | wuneng     |    59 |
|  102 | wujing     |    60 |
|  103 | tangtang   |   100 |
|  104 | baoyu      |    17 |
|  105 | daiyu      |    16 |
|  106 | baichai    |    16 |
|  107 | xifeng     |    27 |
|  108 | liubei     |    20 |
|  109 | sunquan    |    20 |
|  110 | caocao     |    20 |
|  111 | songjiang  |    20 |
|  112 | likui      |    22 |
|  113 | sunerniang |    20 |
+------+------------+-------+
14 rows in set (0.01 sec)
​
mysql> insert into stu_view values(115, 'wusong', 70);
Query OK, 1 row affected (0.01 sec)
​
mysql> select * from stu_view;
+------+------------+-------+
| sid  | name       | score |
+------+------------+-------+
|  100 | wukong     |    99 |
|  101 | wuneng     |    59 |
|  102 | wujing     |    60 |
|  103 | tangtang   |   100 |
|  104 | baoyu      |    17 |
|  105 | daiyu      |    16 |
|  106 | baichai    |    16 |
|  107 | xifeng     |    27 |
|  108 | liubei     |    20 |
|  109 | sunquan    |    20 |
|  110 | caocao     |    20 |
|  111 | songjiang  |    20 |
|  112 | likui      |    22 |
|  113 | sunerniang |    20 |
|  115 | wusong     |    70 |
+------+------------+-------+
15 rows in set (0.00 sec)
​
mysql> select * from student;
+------+------------+--------+-------+------+------+
| sid  | name       | sex    | score | cid  | age  |
+------+------------+--------+-------+------+------+
|  100 | wukong     | male   |    99 |    1 | NULL |
|  101 | wuneng     | male   |    59 |    1 | NULL |
|  102 | wujing     | male   |    60 |    1 | NULL |
|  103 | tangtang   | male   |   100 |    1 | NULL |
|  104 | baoyu      | male   |    17 |    2 | NULL |
|  105 | daiyu      | female |    16 |    2 | NULL |
|  106 | baichai    | female |    16 |    2 | NULL |
|  107 | xifeng     | female |    27 |    2 | NULL |
|  108 | liubei     | male   |    20 |    3 | NULL |
|  109 | sunquan    | male   |    20 |    3 | NULL |
|  110 | caocao     | male   |    20 |    3 | NULL |
|  111 | songjiang  | male   |    20 |    4 | NULL |
|  112 | likui      | male   |    22 |    4 | NULL |
|  113 | sunerniang | female |    20 |    4 | NULL |
|  115 | wusong     | NULL   |    70 | NULL | NULL |
+------+------------+--------+-------+------+------+
15 rows in set (0.00 sec)
​
mysql> select * from student s, clazz c where s.cid = c.cid;
+------+------------+--------+-------+------+------+------+------------+-----------------+
| sid  | name       | sex    | score | cid  | age  | cid  | cname      | cdesc           |
+------+------------+--------+-------+------+------+------+------------+-----------------+
|  100 | wukong     | male   |    99 |    1 | NULL |    1 | computer   | computer desc   |
|  101 | wuneng     | male   |    59 |    1 | NULL |    1 | computer   | computer desc   |
|  102 | wujing     | male   |    60 |    1 | NULL |    1 | computer   | computer desc   |
|  103 | tangtang   | male   |   100 |    1 | NULL |    1 | computer   | computer desc   |
|  104 | baoyu      | male   |    17 |    2 | NULL |    2 | software   | software desc   |
|  105 | daiyu      | female |    16 |    2 | NULL |    2 | software   | software desc   |
|  106 | baichai    | female |    16 |    2 | NULL |    2 | software   | software desc   |
|  107 | xifeng     | female |    27 |    2 | NULL |    2 | software   | software desc   |
|  108 | liubei     | male   |    20 |    3 | NULL |    3 | math       | math desc       |
|  109 | sunquan    | male   |    20 |    3 | NULL |    3 | math       | math desc       |
|  110 | caocao     | male   |    20 |    3 | NULL |    3 | math       | math desc       |
|  111 | songjiang  | male   |    20 |    4 | NULL |    4 | biological | biological desc |
|  112 | likui      | male   |    22 |    4 | NULL |    4 | biological | biological desc |
|  113 | sunerniang | female |    20 |    4 | NULL |    4 | biological | biological desc |
+------+------------+--------+-------+------+------+------+------------+-----------------+
14 rows in set (0.00 sec)
​
mysql> select s.sid, s.name, s.score, c.cname from student s, clazz c where s.cid = c.cid;
+------+------------+-------+------------+
| sid  | name       | score | cname      |
+------+------------+-------+------------+
|  100 | wukong     |    99 | computer   |
|  101 | wuneng     |    59 | computer   |
|  102 | wujing     |    60 | computer   |
|  103 | tangtang   |   100 | computer   |
|  104 | baoyu      |    17 | software   |
|  105 | daiyu      |    16 | software   |
|  106 | baichai    |    16 | software   |
|  107 | xifeng     |    27 | software   |
|  108 | liubei     |    20 | math       |
|  109 | sunquan    |    20 | math       |
|  110 | caocao     |    20 | math       |
|  111 | songjiang  |    20 | biological |
|  112 | likui      |    22 | biological |
|  113 | sunerniang |    20 | biological |
+------+------------+-------+------------+
14 rows in set (0.00 sec)
​
mysql> create view stu_clazz_view as-> select s.sid, s.name, s.score, c.cname from student s, clazz c where s.cid = c.cid;
Query OK, 0 rows affected (0.01 sec)
​
mysql> select * from stu_clazz_view;
+------+------------+-------+------------+
| sid  | name       | score | cname      |
+------+------------+-------+------------+
|  100 | wukong     |    99 | computer   |
|  101 | wuneng     |    59 | computer   |
|  102 | wujing     |    60 | computer   |
|  103 | tangtang   |   100 | computer   |
|  104 | baoyu      |    17 | software   |
|  105 | daiyu      |    16 | software   |
|  106 | baichai    |    16 | software   |
|  107 | xifeng     |    27 | software   |
|  108 | liubei     |    20 | math       |
|  109 | sunquan    |    20 | math       |
|  110 | caocao     |    20 | math       |
|  111 | songjiang  |    20 | biological |
|  112 | likui      |    22 | biological |
|  113 | sunerniang |    20 | biological |
+------+------------+-------+------------+
14 rows in set (0.00 sec)

删除视图:

drop view 视图名

注意:删除视图,不会影响原表

总结

  • DQL: data query language: 数据查询语言,select, where, order by, group by, having

  • DDL: data definition language:数据定义语言,create, alter, drop

  • DML:data manipulattion language: 数据操作语言,insert, update, delete

  • TPL:transaction process language:事务梳理语言,commit,rollback

  • DCL:data control language: 数据控制语言,grant,revoke

作业

一、设有一数据库,包括四个表: 学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)。四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1-2的表(一)~表(四)所示。用SQL语句创建四个表并完成相关题目。
​
•         表1-1数据库的表结构---数据字典
​
表(一)Student (学生表) 
​
属性名    数据类型    可否为空    含 义
Sno    varchar (20)  否    学号(主键)
Sname    varchar (20)  否    学生姓名
Ssex    varchar (20)  否    学生性别
Sbirthday  datetime  可    学生出生年月
Class    varchar (20)  可    学生所在班级
​
表(二)Course(课程表)
​
属性名    数据类型    可否为空    含 义
Cno    varchar (20)  否    课程号(主键)
Cname    varchar (20)  否    课程名称
Tno    varchar (20)  否    教工编号(外键)
​
表(三)Score(成绩表)
​
属性名    数据类型    可否为空    含 义
Sno    varchar (20)  否    学号(外键)
Cno    varchar (20)  否    课程号(外键)
Degree    Decimal(4,1)  可    成绩
​
主键:Sno+ Cno
​
表(四)Teacher(教师表)
​
属性名    数据类型    可否为空  含 义
Tno    varchar (20)  否      教工编号(主键)
Tname    varchar (20)  否      教工姓名
Tsex    varchar (20)  否      教工性别
Tbirthday  datetime  可      教工出生年月
Prof    varchar (20)  可      职称
Depart    varchar (20)  否      教工所在部门
​
​
\#建学生信息表student
create table student
(
sno varchar(20) primary key ,
sname varchar(20) not null,
ssex varchar(20) not null,
sbirthday date,
class varchar(20)
)character set utf8;
​
\#建立教师表
create table teacher
(
tno varchar(20) primary key,
tname varchar(20) not null,
tsex varchar(20) not null,
tbirthday datetime,
prof varchar(20),
depart varchar(20) not null
);
​
\#建立课程表course
create table course
(
cno varchar(20) primary key,
cname varchar(20) not null,
tno varchar(20) not null,
constraint fk1 foreign key(tno) references teacher(tno)
);
​
\#建立成绩表
create table score
(
sno varchar(20) not null,
constraint fk2 foreign key(sno) references student(sno),
cno varchar(20) not null,
constraint fk3 foreign key(cno) references course(cno),
degree int
);
​
\#添加学生信息
insert into student values('108','曾华','男','1977-09-01','95033');
insert into student values('105','匡明','男','1975-10-02','95031');
insert into student values('107','王丽','女','1976-01-23','95033');
insert into student values('101','李军','男','1976-02-20','95033');
insert into student values('109','王芳','女','1975-02-10','95031');
insert into student values('103','陆君','男','1974-06-03','95031');
​
​
​
​
\#添加教师表
insert into teacher values('804','李诚','男','1958-12-02','副教授','计算机系');
insert into teacher values('856','张旭','男','1969-03-12','讲师','电子工程系');
insert into teacher values('825','王萍','女','1972-05-05','助教','计算机系');
insert into teacher values('831','刘冰','女','1977-08-14','助教','电子工程系');
​
\#添加课程表
insert into course values('3-105','计算机导论','825');
insert into course values('3-245','操作系统','804');
insert into course values('6-166','数字电路','856');
insert into course values('9-888','高等数学','831');
\#添加成绩表
​
insert into score values('103','3-245','86');
insert into score values('105','3-245','75');
insert into score values('109','3-245','68');
insert into score values('103','3-105','92');
insert into score values('105','3-105','88');
insert into score values('109','3-105','76');
insert into score values('103','3-105','64');
insert into score values('105','3-105','91');
insert into score values('109','3-105','78');
insert into score values('103','6-166','85');
insert into score values('105','6-166','79');
insert into score values('109','6-166','81');
​1、 查询Student表中的所有记录的Sname、Ssex和Class列。
2、 查询教师所有的单位即不重复的Depart列。==
3、 查询Student表的所有记录。
4、 查询Score表中成绩在60到80之间的所有记录。
5、 查询Score表中成绩为85,86或88的记录。
6、 查询Student表中“95031”班或性别为“女”的同学记录。
7、 以Class降序查询Student表的所有记录。
8、 以Cno升序、Degree降序查询Score表的所有记录。
9、 查询“95031”班的学生人数。
10、查询Score表中的最高分的学生学号和课程号。(子查询或者排序)
11、查询每门课的平均成绩。
12、查询Score表中至少有5名学生选修的并以3开头的课程的平均分数。==
13、查询分数大于70,小于90的Sno列。
14、查询所有学生的Sname、Cno和Degree列。
15、查询所有学生的Sno、Cname和Degree列。
16、查询所有学生的Sname、Cname和Degree列。
17、查询“95033”班学生的平均分。
19、查询选修“3-105”课程的成绩高于“109”号同学成绩的所有同学的记录。==
20、选了多门课程并且是这个课程下不是最高分的==
21、查询成绩高于学号为“109”、课程号为“3-105”的成绩的所有记录。
22、查询和学号为108、101的同学同年出生的所有学生的Sno、Sname和Sbirthday列。
23、查询“张旭“教师任课的学生成绩。
24、查询选修某课程的同学人数多于5人的教师姓名
25、查询95033班和95031班全体学生的记录。
26、查询存在有85分以上成绩的课程Cno.
27、查询出“计算机系“教师所教课程的成绩表。==
28、查询“计算机系”与“电子工程系“不同职称的教师的Tname和Prof。==
29、查询选修编号为“3-105“课程且成绩至少高于选修编号为“3-245”的同学的Cno、Sno和Degree,并按Degree从高到低次序排序。==
30、查询选修编号为“3-105”且成绩高于选修编号为“3-245”课程的同学的Cno、Sno和Degree.
31、查询所有教师和同学的name、sex和birthday.==
32、查询所有“女”教师和“女”同学的name、sex和birthday.
33、查询成绩比该课程平均成绩低的同学的成绩表。==
34、查询所有任课教师的Tname和Depart.
35、查询所有未讲课的教师的Tname和Depart.
36、查询至少有2名男生的班号。
37、查询Student表中不姓“王”的同学记录。not like
38、查询Student表中每个学生的姓名和年龄。
39、查询Student表中最大和最小的Sbirthday日期值。
40、以班号和年龄从大到小的顺序查询Student表中的全部记录。
41、查询“男”教师及其所上的课程。
42、查询最高分同学的Sno、Cno和Degree列。
43、查询和“李军”同性别的所有同学的Sname.
44、查询和“李军”同性别并同班的同学Sname.
45、查询所有选修“计算机导论”课程的“男”同学的成绩表。

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

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

相关文章

智慧浪潮下的产业园区:洞察智慧化转型如何打造高效、绿色、安全的新园区

目录 一、引言 二、智慧化转型的内涵与价值 三、打造高效园区的智慧化策略 1、建设智能化基础设施 2、推广智能化应用 3、构建智慧化服务平台 四、实现绿色园区的智慧化途径 1、推动绿色能源应用 2、实施绿色建筑设计 3、加强环境监测与治理 五、保障园区安全的智慧…

大白菜启动U盘想格式化但格式化不了

部分区域被修改分区表保护起来了。直接格式化的话,里面的文件夹都还在。根本格式化不了。特别是可用容量并未还原出来。 进入计算机管理》磁盘管理,看到U盘盘符。别搞错了。删除掉里面的已经分的区域和未分区区域,让它还原成一个整体。退出。…

Webpack-入门

定义 静态模块:指的是编写代码过程中的html,css,js,图片等固定内容的文件 打包:把静态模块内容压缩、整合、翻译等(前端工程化) 1)把less/sass转成css代码 2)把ES6降级…

webpack 入口和出口的最佳实践

入口和出口的最佳实践 {ignore} 具体情况具体分析 下面是一些经典场景 一个页面一个JS 外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传 源码结构 |—— src|—— pageA 页面A的代码目录|—— index.js 页面A的启动模块|—— ...|—— pageB 页面…

matlab学习007-已知离散时间系统的系统函数并使用matlab绘制该系统的零极点图;判断系统的稳定性;幅频和相频特性曲线

目录 题目 离散时间系统的系统函数:H(z)(3*z^3-5*z^210z)/(z^3-3*z^27*z-5) 1,绘制该系统的零极点图 1)零极点图 2)代码 2,判断系统的稳定性 1)判断结果 2)代码 3,试用MATL…

闲话 ASP.NET Core 数据校验(一):内置数据校验

前言 所谓输入的是垃圾,输出也必然是垃圾,有多少安全问题隐藏在请求的数据中,所以永远不能相信来自用户端的输入。 对请求数据的合法性进行校验,不仅有助于提升用户界面的友好性,而且有助于提高后台程序的安全性和稳…

【车载开发系列】UDS诊断时间参数说明

【车载开发系列】UDS诊断时间参数说明 一. 应用层诊断时间参数 1)P2 CAN_Client 诊断仪成功发送诊断报文请求之后到收到 ECU回复诊断响应的超时时间间隔 2)P2 CAN_Server ECU 接收到诊断请求之后到开始发送诊断报文的时间间隔,一般默认最…

二维码门楼牌管理应用平台建设:场所检查的新模式

文章目录 前言一、二维码门楼牌管理应用平台的优势二、场所检查记录的重要性三、二维码门楼牌管理应用平台在场所检查中的应用四、二维码门楼牌管理应用平台的未来展望 前言 随着信息技术的飞速发展,二维码作为一种高效、便捷的信息识别方式,正逐渐渗透…

服务器数据恢复—存储硬盘坏道,指示灯亮黄色的数据恢复案例

服务器数据恢复环境&故障: 一台某品牌EqualLogic PS系列某型号存储,存储中有一组由16块SAS硬盘组建的RAID5磁盘阵列,RAID5上划分VMFS文件系统存放虚拟机文件。存储系统上层一共分了4个卷。 raid5阵列中磁盘出现故障,有2块硬盘…

二极管钳位型光伏逆变并网建模simulink仿真

整理了二极管钳位型光伏逆变并网建模simulink仿真,效果明显,附赠仿真报告。适合小白 二极管钳位型光伏逆变并网是将光伏发电系统中的直流电能转换为交流电能,并与电网连接。在此仿真中使用最大功率点追踪(MPPT)技术&a…

基于CANoe从零创建以太网诊断工程(2)—— TCP/IP Stack 配置的三种选项

🍅 我是蚂蚁小兵,专注于车载诊断领域,尤其擅长于对CANoe工具的使用🍅 寻找组织 ,答疑解惑,摸鱼聊天,博客源码,点击加入👉【相亲相爱一家人】🍅 玩转CANoe&…

微信第三方开放平台,实现代公众号保留排版样式和图片发布文章

大家好,我是小悟 要想实现代公众号发布文章的功能,就得接入富文本编辑器,市面上富文本编辑器有很多,轻量的、重量的都有。 从开发者的角度,自然把轻量作为第一选择,因为好对接,怎么方便怎么来…

在win下,python如何调用.so库

#撰写c代码 #通过gcc命令编译成.so库 gcc -shared -o ./lib/pointlib.so point.c #python调用.so库 #运行结果 觉得本文对你有用,麻烦点赞或关注或收藏,你的肯定是我创作的无限动力,谢谢!!!

制作一个RISC-V的操作系统十四-任务同步和锁

文章目录 并发与同步临界区和锁锁死锁解决死锁自旋锁(spin lock)原子性问题原子操作实现amoswap.w.aq例子 另一种方法自旋锁的注意事项代码其他同步技术 并发与同步 控制流:可理解为任务或进程 中断也可以理解为一个切换到另一个任务&#…

C++智能指针详解

目录 一. 智能指针初识 1.1 什么是智能指针 1.2 智能指针历史历程 1.3 为什么需要智能指针 1.3.1 内存泄漏 1.3.2 防止内存泄漏 1.3.3 异常的重新捕获 二. 智能指针的原理与使用 2.1 智能指针的原理 2.2 智能指针的使用 2.3 智能指针的拷贝问题…

docker网络和模式

Docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址,称为container-IP,同时Docker网桥是每个容器的默认网关。因为在同一宿主机内的容器都接入同一个…

mars3d开发过程中点击面图层飞行定位,设置俯仰角度后,layer.flyTo({没有生效的排查思路

mars3d开发过程中点击面图层飞行定位,设置俯仰角度后,layer.flyTo({没有生效的排查思路记录,给大家提供一下以后排查定位问题的方向 问题场景相关代码: 1.项目本身代码: 2.精简了关键性代码后,就可以去ge…

【博客经验分享】博客小白在CSDN是如何做到一周内涨粉1800的

🎓我(异构算力老群群-CSDN博客)是在今年3月份才开始写博客的,目的是做一个博士🎓期间的笔录;在CSDN这个技术分享与交流的平台🌐,我近期实现了一个令人振奋的成就——那就是一周内涨粉…

纯血鸿蒙APP实战开发——评论组件案例实现

介绍 评论组件在目前市面上的短视频app中是一种很常见的场景,本案例使用全局状态保留能力弹窗来实现评论组件。点击评论按钮弹出评论组件,点击空白处隐藏该组件,再次点击评论按钮则会恢复上一次浏览的组件状态。 效果图预览 使用说明 点击…

CUDA的基础知识

文章目录 数据精度CUDA概念线程&线程块&线程网络&计算核心GPU规格参数内存 GPU并行方式数据并行流水并行张量并行混合专家系统 数据精度 FP32 是单精度浮点数,用8bit 表示指数,23bit 表示小数;FP16 是半精度浮点数,用…