Day 24 数据库管理及数据类型

数据库管理及数据类型

一:数据类型

1.数值类型
整数类型

​ 整数类型:TINYINT SMALLINT MEDIUMINT INT BIGINT

​ 作用:用于存储用户的年龄、游戏的Level、经验值等

image-20220920124821420

浮点数类型

​ 浮点数类型:FLOAT DOUBLE

​ 作用:用于存储用户的身高、体重、薪水等

image-20220920124919373

float(5,3)      5宽度  3精度
注意:
	宽度不算小数点
	宽度-精度=点前
案例:
MySQL [(none)]> create database diandian;
Query OK, 1 row affected (0.00 sec)

MySQL [(none)]> use diandian
Database changed
MySQL [diandian]> create table t1(id float(6,2));
Query OK, 0 rows affected (0.24 sec)

MySQL [diandian]> insert into t1 values('2.22');
定点数类型

​ 定点数类型:DEC

​ 定点数在MySQL内部以字符串形式存储,比浮点数更精确,适合用来表示货币等精度高的数据

位类型

​ 位类型:BIT

​ BIT(M)可以用来存放多位二进制数,M范围从1~64,如果不写默认为1位

2.字符串类型

​ CHAR系列 CHAR VARCHAR

​ TEXT系列 TINYTEXT TEXT MEDIUMTEXT LONGTEXT

​ BLOB 系列 TINYBLOB BLOB MEDIUMBLOB LONGBLOB

​ BINARY系列 BINARY VARBINARY

枚举类型

​ 枚举类型:枚举列可以把一些不重复的字符串存储成一个预定义的集合

mysql> create table enum_table( e ENUM('fish','apple','dog'));
Query OK, 0 rows affected (0.35 sec)        
mysql> insert into enum_table(e) values('fish');
Query OK, 1 row affected (0.11 sec)

mysql> select * from enum_table;
+------+
| e    |
+------+
| fish |
+------+
1 row in set (0.00 sec)

mysql> insert into enum_table(e) values('nihao');
ERROR 1265 (01000): Data truncated for column 'e' at row 1
时间和日期类型

​ 时间和日期类型:DATE TIME DATETIME TIMESTAMP YEAR

​ 作用:用于存储用户的注册时间,文章的发布时间,文章的更新时间,员工的入职时间等

image-20220920132630856

mysql> create table t8 (
  id1 timestamp NOT NULL default CURRENT_TIMESTAMP,
  id2  datetime default NULL
);

        timestamp 类型的列还有个特性:默认情况下,在 insert, update 数据时,timestamp 列会自动以当前时间(CURRENT_TIMESTAMP)填充/更新。“自动”的意思就是,你不去管它,MySQL 会替你去处理。
                
mysql> insert into t8(id1) values('20180109000000');        
mysql> select * from t8;
+---------------------+------+
| id1                 | d2   |
+---------------------+------+
| 2018-01-09 00:00:00 | NULL |
+---------------------+------+
1 row in set (0.00 sec)

扩展: 
select now();查看当前时间

二:表操作

1.案例

表::school.student1

字段		    字段		        字段
id             name	        sex		       age
1              tom		    male	        23		 记录
2              jack		    male	        21		 记录
3              alice	    female	        19		  记录

语法:

create table 表名(自定义)(
		字段名1  类型[(宽度) 约束条件],
		字段名2  类型[(宽度) 约束条件],
		字段名3  类型[(宽度) 约束条件]
)[存储引擎 字符集];
==在同一张表中,字段名是不能相同
==宽度和约束条件可选
==字段名和类型是必须的

创建库表:

mysql> CREATE  DATABASE school;				        //创建数据库school
mysql> use school;
mysql> create table student1(
    id int,
    name varchar(50),                 
    sex enum('m','f'),
    age int
     );
Query OK, 0 rows affected (0.03 sec)

查看库:

mysql> show tables;			                                    
+------------------+
| Tables_in_school |
+------------------+
| student1         |
+------------------+
1 row in set (0.00 sec)

插入语法:

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

插入数据:

mysql> insert into student1(id,name,sex,age) values(1,'xingdia','m','26');

查看表结构:

mysql> desc student1;
+-------+---------------+------+-----+---------+-------+
| Field | Type          | Null | Key | Default | Extra |
+-------+---------------+------+-----+---------+-------+
| id    | int(11)       | YES  |     | NULL    |       |
| name  | varchar(50)   | YES  |     | NULL    |       |
| sex   | enum('m','f') | YES  |     | NULL    |       |
| age   | int(11)       | YES  |     | NULL    |       |
+-------+---------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

查询数据:

mysql> select id,name,sex,age from student1;	//查询表中所有字段的值
Empty set (0.00 sec)

mysql> select * from student1;		/查询表中所有字段的值
Empty set (0.00 sec)

mysql> select name,age from student1;		      //查询表中指定字段的值
Empty set (0.00 sec)

扩展插入:

mysql> insert into student1 values (1,'xingdian','m',33),(2,'alice','m',20),(3,'jack','m',40);          //顺序插入
Query OK, 3 rows affected (0.14 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql> insert into student1(name,age) values ('zhuzhu',10),('gougou',20);          //只向指定的字段插入值
Query OK, 2 rows affected (0.12 sec)
Records: 2  Duplicates: 0  Warnings: 0
2.案例

表:school.student2

               字段名             数据类型
编号             id                   int
姓名			  name			      varchar(50)
出生年份	     born_year	          year
生日			  birthday		      date
上课时间	     class_time	         time
注册时间	     reg_time		     datetime

创建表:

mysql> create table student2(
    id int,
    name varchar(50),         
    born_year year,
    birthday date,
    class_time time,
    reg_time datetime 
    );

插入数据:

mysql> insert into student2 values(1,'tom',now(),now(),now(),now());
mysql> insert into student2 values(2,'jack',1982,19821120,123000,20140415162545);

表:school.student3

id     id              int
姓名	name	    varchar(50)
性别	sex		    enum('male','female')
爱好	hobby	    set('music','book','game','disc')

创建表:

mysql> create table student3(
     id int,
     name varchar(50),
     sex enum('male','female'),
     hobby set('music','book','game','disc')
     );

查看表结构:

mysql> desc student3;
mysql> show create table student3\G

插入数据:

mysql> insert into student3 values (1,'tom','male','book,game');
mysql> insert into student3 values (2,'jack','male','film');

注意:

​ DESCRIBE查看表结构

DESCRIBE 表名;
DESC 表名;

​ 查看表详细结构

SHOW CREATE TABLE 表名;

三:表完整性约束

1.作用

​ 用于保证数据的完整性和一致性

2.约束条件

PRIMARY KEY (PK) 标识该字段为该表的主键,可以唯一的标识记录,不可以为空 UNIQUE + NOT NULL

FOREIGN KEY (FK) 标识该字段为该表的外键,实现表与表(父表主键/子表1外键/子表2外键)之间的关联

NOT NULL 标识该字段不能为空

UNIQUE KEY (UK) 标识该字段的值是唯一的,可以为空,一个表中可以有多个UNIQUE KEY

AUTO_INCREMENT 标识该字段的值自动增长(整数类型,而且为主键)

DEFAULT 为该字段设置默认值

注意:

​ 是否允许为空,默认NULL,可设置NOT NULL,字段不允许为空,必须赋值

​ 字段是否有默认值,缺省的默认值是NULL,如果插入记录时不给字段赋值,此字段使用默认值

MySQL [(none)]> sex enum('male','female') not null default 'male'
MySQL [(none)]> age int unsigned NOT NULL default 20 		必须为正值(无符号) 不允许为空  默认是20

​ 是否是key 主键 primary key 外键 forengn key

3.NOT NULL

表:school.student4

创建表:(注意前提需要有库)

mysql> create table school.student4(
    id int not null,
    name varchar(50) not null,
    sex enum('m','f') default 'm' not null,
    age int unsigned default 18 not null,
    hobby set('music','disc','dance','book') default 'book,dance'
   );

插入数据:(注意观察查询到的数据)

MySQL [(none)]> insert into school.student4(id,name) values(2,'robin');
Query OK, 1 row affected (0.08 sec)

MySQL [(none)]> select * from school.student4;
+----+-------+-----+-----+------------+
| id | name  | sex | age | hobby      |
+----+-------+-----+-----+------------+
|  2 | robin | m   |  18 | dance,book |
+----+-------+-----+-----+------------+
1 row in set (0.00 sec)

注意报错的原因:

MySQL [(none)]> insert into school.student4 values(3,NULL,'m',40,'book');
ERROR 1048 (23000): Column 'name' cannot be null
4.唯一约束

作用:

​ MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度

表:company.department1

创建表:

MySQL [(none)]> create database company;
Query OK, 1 row affected (0.01 sec)
MySQL [(none)]> CREATE TABLE company.department1 (dept_id INT,dept_name VARCHAR(30) UNIQUE,comment VARCHAR(50));
Query OK, 0 rows affected (0.34 sec)

查看表结构:

MySQL [(none)]> desc company.department1;
+-----------+-------------+------+-----+---------+-------+
| Field     | Type        | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| dept_id   | int(11)     | YES  |     | NULL    |       |
| dept_name | varchar(30) | YES  | UNI | NULL    |       |
| comment   | varchar(50) | YES  |     | NULL    |       |
+-----------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

数据插入:(注意查看插入数据时的提示)

MySQL [(none)]> insert into company.department1 values ("1","xingdian","hr");
Query OK, 1 row affected (0.04 sec)

MySQL [(none)]> insert into company.department1 values ("1","xingdian","hr");
ERROR 1062 (23000): Duplicate entry 'xingdian' for key 'dept_name'
5.主键约束

注意:primary key 字段的值是不允许重复,且不允许不NULL(UNIQUE + NOT NULL)

表:school.student6

创建表:

MySQL [(none)]> create table school.student6(
    ->     id int primary key not null auto_increment,
    ->     name varchar(50) not null,
    ->     sex enum('male','female') not null default 'male', 
    ->     age int not null default 18
    ->     );
Query OK, 0 rows affected (0.47 sec)

插入数据:

MySQL [(none)]> insert into school.student6 values (1,'alice','female',22);
Query OK, 1 row affected (0.18 sec)

MySQL [(none)]> insert into school.student6(name,sex,age) values
    ->      ('jack','male',19),
    ->      ('tom','male',23);
Query OK, 2 rows affected (0.14 sec)
Records: 2  Duplicates: 0  Warnings: 0

MySQL [(none)]> select * from school.student6;
+----+-------+--------+-----+
| id | name  | sex    | age |
+----+-------+--------+-----+
|  1 | alice | female |  22 |
|  2 | jack  | male   |  19 |
|  3 | tom   | male   |  23 |
+----+-------+--------+-----+
3 rows in set (0.00 sec)

四:修改表

语法格式:

修改表名

​ ALTER TABLE 表名 RENAME 新表名;

增加字段

​ ALTER TABLE 表名

​ ADD 字段名 数据类型 [完整性约束条件…],

​ ADD 字段名 数据类型 [完整性约束条件…];

​ ALTER TABLE 表名

​ ADD 字段名 数据类型 [完整性约束条件…] AFTER 字段名;
删除字段

​ ALTER TABLE 表名 DROP 字段名;

修改字段

​ ALTER TABLE 表名 MODIFY 字段名 新数据类型 [完整性约束条件…];

​ ALTER TABLE 表名 CHANGE 旧字段名 新字段名 旧数据类型 [完整性约束条件…];

​ ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型 [完整性约束条件…];

1.修改数据库引擎
mysql> alter table service engine=innodb;     //engine=myisam|memory|....
2.添加字段
mysql> create table student10 (id int);
mysql> alter table student10 add name varchar(20) not null, add age int not null default 22;

mysql> alter table student10 add stu_num int not null after name;   //添加name字段之后

mysql> alter table student10 add sex enum('male','female') default 'male' first;  //添加到最前面
3.删除字段
mysql> alter table student10 drop sex;
4.修改字段类型
MySQL [school]> desc student10;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id    | int(11) | YES  |     | NULL    |       |
| age   | int(11) | YES  |     | NULL    |       |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.01 sec)

MySQL [school]>  alter table student10 modify age tinyint  not null ;  
Query OK, 0 rows affected (0.04 sec)
Records: 0  Duplicates: 0  Warnings: 0

MySQL [school]> desc student10;
+-------+------------+------+-----+---------+-------+
| Field | Type       | Null | Key | Default | Extra |
+-------+------------+------+-----+---------+-------+
| id    | int(11)    | YES  |     | NULL    |       |
| age   | tinyint(4) | NO   |     | NULL    |       |
+-------+------------+------+-----+---------+-------+
2 rows in set (0.00 sec)  

MySQL [school]> alter table student10 modify id int not null primary key ;  修改字段类型、约束、主键
Query OK, 0 rows affected (0.02 sec)
Records: 0  Duplicates: 0  Warnings: 0

MySQL [school]> desc student10;
+-------+------------+------+-----+---------+-------+
| Field | Type       | Null | Key | Default | Extra |
+-------+------------+------+-----+---------+-------+
| id    | int(11)    | NO   | PRI | NULL    |       |
| age   | tinyint(4) | NO   |     | NULL    |       |
+-------+------------+------+-----+---------+-------+
5.增加约束
MySQL [school]> alter table student10 modify id int not null primary key ;
Query OK, 0 rows affected (0.02 sec)
Records: 0  Duplicates: 0  Warnings: 0

MySQL [school]> desc student10;
+-------+------------+------+-----+---------+-------+
| Field | Type       | Null | Key | Default | Extra |
+-------+------------+------+-----+---------+-------+
| id    | int(11)    | NO   | PRI | NULL    |       |
| age   | tinyint(4) | NO   |     | NULL    |       |
+-------+------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

MySQL [school]> alter table student10 modify id int not null primary key auto_increment; 
ERROR 1068 (42000): Multiple primary key defined   //错误,该字段已经是primary key

MySQL [school]> alter table student10 modify id int not null auto_increment;
Query OK, 0 rows affected (0.04 sec)
Records: 0  Duplicates: 0  Warnings: 0

MySQL [school]> desc student10;
+-------+------------+------+-----+---------+----------------+
| Field | Type       | Null | Key | Default | Extra          |
+-------+------------+------+-----+---------+----------------+
| id    | int(11)    | NO   | PRI | NULL    | auto_increment |
| age   | tinyint(4) | NO   |     | NULL    |                |
+-------+------------+------+-----+---------+----------------+
6.增加主键
MySQL [school]> desc student1;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id    | int(11) | YES  |     | NULL    |       |
| age   | int(11) | YES  |     | NULL    |       |
| name  | char(1) | YES  |     | NULL    |       |
+-------+---------+------+-----+---------+-------+
3 rows in set (0.00 sec)

MySQL [school]> alter table student1 add primary key(id);

MySQL [school]> desc student1;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id    | int(11) | NO   | PRI | NULL    |       |
| age   | int(11) | YES  |     | NULL    |       |
| name  | char(1) | YES  |     | NULL    |       |
+-------+---------+------+-----+---------+-------+
3 rows in set (0.00 sec)
7.修改主键和自增
MySQL [school]> alter table student1 modify id int  auto_increment;
Query OK, 0 rows affected (0.03 sec)
Records: 0  Duplicates: 0  Warnings: 0

MySQL [school]> desc student1;
+-------+---------+------+-----+---------+----------------+
| Field | Type    | Null | Key | Default | Extra          |
+-------+---------+------+-----+---------+----------------+
| id    | int(11) | NO   | PRI | NULL    | auto_increment |
| age   | int(11) | YES  |     | NULL    |                |
| name  | char(1) | YES  |     | NULL    |                |
+-------+---------+------+-----+---------+----------------+
8.删除主键
MySQL [school]> desc student10;
+-------+------------+------+-----+---------+----------------+
| Field | Type       | Null | Key | Default | Extra          |
+-------+------------+------+-----+---------+----------------+
| id    | int(11)    | NO   | PRI | NULL    | auto_increment |
| age   | tinyint(4) | NO   |     | NULL    |                |
+-------+------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)

MySQL [school]> alter table student10 drop primary key;
ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key

删除自增
ySQL [school]>  alter table student10 modify id int not null;
Query OK, 0 rows affected (0.04 sec)
Records: 0  Duplicates: 0  Warnings: 0

MySQL [school]> desc student10;
+-------+------------+------+-----+---------+-------+
| Field | Type       | Null | Key | Default | Extra |
+-------+------------+------+-----+---------+-------+
| id    | int(11)    | NO   | PRI | NULL    |       |
| age   | tinyint(4) | NO   |     | NULL    |       |
+-------+------------+------+-----+---------+-------+

MySQL [school]> alter table student10 drop primary key;
Query OK, 0 rows affected (0.03 sec)
Records: 0  Duplicates: 0  Warnings: 0

MySQL [school]> desc student10;
+-------+------------+------+-----+---------+-------+
| Field | Type       | Null | Key | Default | Extra |
+-------+------------+------+-----+---------+-------+
| id    | int(11)    | NO   |     | NULL    |       |
| age   | tinyint(4) | NO   |     | NULL    |       |
+-------+------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
9.复制表

复制表结构+记录 (key不会复制: 主键、外键和索引)复制表结构/记录+表结构,不会将Key复制

mysql> create table new_service select * from service;

只复制表结构

mysql> create table new1_service select * from service where 1=2;   //条件为假,查不到任何记录

可以复制主键,只复制表结构

mysql> create table t4 like employees;
10.删除表
mysql> DROP TABLE 表名;
11.修改数据表中字段的值

语法:

​ Update 表名 set 列名=值where 条件

mysql> update student set name='123' where id=1;

删除某一行:

​ delete from 表名 where id=1

mysql> delete from type where id=1;

五:库操作

1.简介

​ 系统自带库的含义及作用

MySQL [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+

information_schema:虚拟库,主要存储了系统中的一些数据库对象的信息,例如用户表信息、列信息、权限信息、字符信息等

performance_schema:主要存储数据库服务器的性能参数

mysql:授权库,主要存储系统用户的权限信息

sys:主要存储数据库服务器的性能参数

注意:information_schema

​ SCHEMATA 存放的是系统中的库

MySQL [information_schema]> select * from information_schema.SCHEMATA;
+--------------+--------------------+----------------------------+------------------------+----------+
| CATALOG_NAME | SCHEMA_NAME        | DEFAULT_CHARACTER_SET_NAME | DEFAULT_COLLATION_NAME | SQL_PATH |
+--------------+--------------------+----------------------------+------------------------+----------+
| def          | information_schema | utf8                       | utf8_general_ci        | NULL     |
| def          | mysql              | latin1                     | latin1_swedish_ci      | NULL     |
| def          | performance_schema | utf8                       | utf8_general_ci        | NULL     |
| def          | school             | latin1                     | latin1_swedish_ci      | NULL     |
| def          | sys                | utf8                       | utf8_general_ci        | NULL     |
+--------------+--------------------+----------------------------+------------------------+----------+

目录_名称
实际库_名称
默认_字符_设置_名称
默认_分类_名称

​ TABLES 存储表名

MySQL [information_schema]> select * from information_schema.TABLES\G
*************************** 283. row ***************************
  TABLE_CATALOG: def
   TABLE_SCHEMA: xingdian
     TABLE_NAME: t1
     TABLE_TYPE: BASE TABLE
         ENGINE: InnoDB
        VERSION: 10
     ROW_FORMAT: Dynamic
     TABLE_ROWS: 1
 AVG_ROW_LENGTH: 16384
    DATA_LENGTH: 16384
MAX_DATA_LENGTH: 0
   INDEX_LENGTH: 0
      DATA_FREE: 0
 AUTO_INCREMENT: NULL
    CREATE_TIME: 2022-09-22 08:18:38
    UPDATE_TIME: 2022-09-22 08:18:54
     CHECK_TIME: NULL
TABLE_COLLATION: latin1_swedish_ci
       CHECKSUM: NULL
 CREATE_OPTIONS: 
  TABLE_COMMENT: 
283 rows in set (0.02 sec)

​ COLUMNS 存储字段

*************************** 3083. row ***************************
           TABLE_CATALOG: def
            TABLE_SCHEMA: xingdian
              TABLE_NAME: t1
             COLUMN_NAME: id
        ORDINAL_POSITION: 1
          COLUMN_DEFAULT: NULL
             IS_NULLABLE: YES
               DATA_TYPE: int
CHARACTER_MAXIMUM_LENGTH: NULL
  CHARACTER_OCTET_LENGTH: NULL
       NUMERIC_PRECISION: 10
           NUMERIC_SCALE: 0
      DATETIME_PRECISION: NULL
      CHARACTER_SET_NAME: NULL
          COLLATION_NAME: NULL
             COLUMN_TYPE: int(11)
              COLUMN_KEY: 
                   EXTRA: 
              PRIVILEGES: select,insert,update,references
          COLUMN_COMMENT: 
   GENERATION_EXPRESSION: 
3083 rows in set (0.03 sec)
2.创建库

方案一:交互式操作

mysql>  create database  xingdian;

数据库命名规则:

​ 区分大小写

​ 唯一性

​ 不能使用关键字如 create select

​ 不能单独使用数字

方案二:非交互式

mysql -u root -pQianFeng@123 -e "create database diandian"
3.查看数据库
mysql> show databases;
mysql> show create database xingdian;
mysql> select database(); 查看当前所在的库
4.切换数据库
mysql> use xingdian;
5.删除数据库
mysql> DROP DATABASE 数据库名;
       NUMERIC_SCALE: 0
  DATETIME_PRECISION: NULL
  CHARACTER_SET_NAME: NULL
      COLLATION_NAME: NULL
         COLUMN_TYPE: int(11)
          COLUMN_KEY: 
               EXTRA: 
          PRIVILEGES: select,insert,update,references
      COLUMN_COMMENT: 

GENERATION_EXPRESSION:
3083 rows in set (0.03 sec)


#### 2.创建库

方案一:交互式操作

```shell
mysql>  create database  xingdian;

数据库命名规则:

​ 区分大小写

​ 唯一性

​ 不能使用关键字如 create select

​ 不能单独使用数字

方案二:非交互式

mysql -u root -pQianFeng@123 -e "create database diandian"
3.查看数据库
mysql> show databases;
mysql> show create database xingdian;
mysql> select database(); 查看当前所在的库
4.切换数据库
mysql> use xingdian;
5.删除数据库
mysql> DROP DATABASE 数据库名;

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

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

相关文章

linux或ubuntu环境下需要自行安装vivado USB Program下载程序驱动

如果在linux或ubuntu环境下,不安装驱动是无法下载FPGA程序的。在linux或ubuntu环境下安装程序不要自动安装。 johnjohn-wang:~/vitis2021.2/Vivado/2021.2/data/xicom/cable_drivers/lin64/install_script/install_drivers$ sudo ./install_drivers

1天搞定SpringBoot+Vue全栈开发 (7)Axios网络请求

1.Axios的使用 Axios中文文档 | Axios中文网Axios 是一个基于 promise 的网络请求库&#xff0c;可以用于浏览器和 node.jshttps://www.axios-http.cn/ 2.与vue整合 App.vue: <template><div id"app"><Moviev-for"movie in movies":key&qu…

一致性评价政策加速行业仿制药洗牌,惯爱为代表的新锐品牌崭露头角

从印度神油到以形补形&#xff0c;男人的问题&#xff0c;从古至今一直困扰着很多人&#xff0c;大多人都羞于启齿。然而&#xff0c;沉默的背后&#xff0c;隐藏着令人震惊的数据&#xff1a;据统计显示&#xff0c;ED&#xff08;勃起功能障碍&#xff09;是男性生殖系统发病…

9.Java内置锁的核心原理-Synchronized

文章目录 Java内置锁的核心原理-Synchronized1.线程安全问题1.1.自增运算分析1.2.临界区资源和临界区代码片段 2.synchronized关键字2.1.synchronized同步方法2.2.synchronized同步代码块2.3.synchronized同步方法和synchronized同步代码块区别2.4.静态的同步方法2.5.内置锁的释…

18、ESP32 ESP-NOW 点对点通信

ESP-NOW 是乐鑫自主研发的无连接通信协议&#xff0c;具有短数据包传输功能。该协议使多个设备能够以简单的方式相互通信。 ESP-NOW 功能 ESP-NOW 支持以下功能&#xff1a; 加密和未加密的单播通信;混合加密和未加密的对等设备;最多可携带 250 字节 的有效载荷;发送回调功能…

C#修改默认参数settings文件

右击项目在设置中进行修改&#xff1a; 千万不要在这里改。 如果要在自己的项目里添加这个文件&#xff0c;首先新建个文件夹&#xff0c;然后添加.setting文件&#xff0c;然后再像上面说的那样添加属性。

通过 Java 操作 redis -- String 基本命令

关于 redis String 类型的相关命令推荐看 Redis - String 字符串 要想通过 Java 操作 redis&#xff0c;首先要连接上 redis 服务器&#xff0c;推荐看通过 Java 操作 redis -- 连接 redis 本博客只介绍了一小部分常用的命令&#xff0c;其他的命令根据上面推荐的博客也能很简单…

Penpad再获 Presto Labs 投资,Scroll 生态持续扩张

​Penpad 是 Scroll 生态的 LaunchPad 平台&#xff0c;其整计划像收益聚合器以及 RWA 等功能于一体的综合性 Web3 平台拓展&#xff0c;该平台在近期频获资本市场关注&#xff0c;并获得了多个知名投资者/投资机构的支持。 截止到本文发布前&#xff0c;Penpad 已经获得了包括…

【免费】虚拟同步发电机(VSG)惯量阻尼自适应控制仿真模型【simulink】

目录 主要内容 仿真模型要点 2.1 整体仿真模型 2.2 电压电流双闭环模块 2.3 SVPWM调制策略 2.4 无功电压模块 2.5 自适应控制策略及算法 部分结果 下载链接 主要内容 该模型为simulink仿真模型&#xff0c;主要实现的内容如下&#xff1a; 随着风力发电、光…

4.请求体

什么是请求体(Request Body) 请求体是客户端发送到API的数据。 响应体是API发送给客户端的数据 API几乎总是必须发送一个响应体&#xff0c;但是客户端并不需要一直发送请求体 定义请求体&#xff0c;需要使用 Pydantic 模型 不能通过GET请求发送请求体发送请求体数据&…

ISIS的工作原理

1.邻居关系建立 &#xff08;1&#xff09;IS-IS领接关系建立原则 1、通过将以太网接口模拟成点到点接口&#xff0c;可以建立点到点链路邻接关系。 2、当链路两端IS-IS接口的地址不在同一网段时&#xff0c;如果配置接口对接收的Hello报文不作IP地址检查&#xff0c;也可以建…

基于Springboot的教学辅助系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的教学辅助系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&…

FreeBSD安装Miniconda,python启动core dumped的问题

综述&#xff1a; 学会在FreeBSD安装Miniconda后&#xff0c;在一台服务器上安装却碰到问题&#xff0c;安装好后&#xff0c;执行python报错&#xff1a;Segmentation fault (core dumped) 。 以前成功的是在FreeBSD13版本&#xff0c;报错的这个是FreeBSD14版本&#xff0c…

基于FPGA的多路彩灯控制器VHDL代码Quartus仿真

名称&#xff1a;基于FPGA的多路彩灯控制器VHDL代码Quartus仿真&#xff08;文末获取&#xff09; 软件&#xff1a;Quartus 语言&#xff1a;VHDL 代码功能&#xff1a; 多路彩灯控制器 综合训练内容要求 设计一台基于FPGA的多路彩灯控制器的设计。要求如下 1.彩灯从左…

SpringBoot中HandlerInterceptor拦截器的构建详细教程

作用范围&#xff1a;拦截器主要作用于Spring MVC的DispatcherServlet处理流程中&#xff0c;针对进入Controller层的请求进行拦截处理。它基于Java的反射机制&#xff0c;通过AOP&#xff08;面向切面编程&#xff09;的思想实现&#xff0c;因此它能够访问Spring容器中的Bean…

C语言栈的含义与栈数据操作代码详解!

引言&#xff1a;在本篇博客中&#xff0c;我们将学到数据结构——栈&#xff0c;讲到栈的含义与关于栈的数据操作代码。栈可以在顺序表、双向链表以及单链表的基础上实现&#xff0c;而于本篇博客中&#xff0c;我们选择在顺序表的基础上实现栈。 更多有关C语言和数据结构知识…

2024 AI中转计费平台系统源码

简介&#xff1a; 2024 AI中转计费平台系统源码 文件下载https://www.skpan.cn/CNZjzyC4txX 图片&#xff1a;

vue-img-cutter 图片裁剪详解

前言&#xff1a;vue-img-cutter 文档&#xff0c;本文档主要讲解插件在 vue3 中使用。 一&#xff1a;安装依赖 npm install vue-img-cutter # or yarn add vue-img-cutter # or pnpm add vue-img-cutter 二&#xff1a;构建 components/ImgCutter.vue 组件 <script se…

什么是多模态大模型,有了大模型,为什么还要多模态大模型?

随着人工智能技术的愈演愈烈&#xff0c;其技术可以说是日新月异&#xff0c;每隔一段时间就会有新的技术和理念被创造出来&#xff1b;而多模态大模型也是其中之一。 什么是多模态 想弄明白什么是多模态大模型&#xff0c;那么首先就要弄明白什么是多模态。 简单来说&#x…

2024DCIC海上风电出力预测Top方案 + 光伏发电出力高分方案学习记录

海上风电出力预测 赛题数据 海上风电出力预测的用电数据分为训练组和测试组两大类&#xff0c;主要包括风电场基本信息、气象变量数据和实际功率数据三个部分。风电场基本信息主要是各风电场的装机容量等信息&#xff1b;气象变量数据是从2022年1月到2024年1月份&#xff0c;…