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: 0mysql> 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: 0MySQL [(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: 0MySQL [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: 0MySQL [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: 0MySQL [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 keyMySQL [school]> alter table student10 modify id int not null auto_increment;
Query OK, 0 rows affected (0.04 sec)
Records: 0  Duplicates: 0  Warnings: 0MySQL [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: 0MySQL [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: 0MySQL [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: 0MySQL [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: defTABLE_SCHEMA: xingdianTABLE_NAME: t1TABLE_TYPE: BASE TABLEENGINE: InnoDBVERSION: 10ROW_FORMAT: DynamicTABLE_ROWS: 1AVG_ROW_LENGTH: 16384DATA_LENGTH: 16384
MAX_DATA_LENGTH: 0INDEX_LENGTH: 0DATA_FREE: 0AUTO_INCREMENT: NULLCREATE_TIME: 2022-09-22 08:18:38UPDATE_TIME: 2022-09-22 08:18:54CHECK_TIME: NULL
TABLE_COLLATION: latin1_swedish_ciCHECKSUM: NULLCREATE_OPTIONS: TABLE_COMMENT: 
283 rows in set (0.02 sec)

​ COLUMNS 存储字段

*************************** 3083. row ***************************TABLE_CATALOG: defTABLE_SCHEMA: xingdianTABLE_NAME: t1COLUMN_NAME: idORDINAL_POSITION: 1COLUMN_DEFAULT: NULLIS_NULLABLE: YESDATA_TYPE: int
CHARACTER_MAXIMUM_LENGTH: NULLCHARACTER_OCTET_LENGTH: NULLNUMERIC_PRECISION: 10NUMERIC_SCALE: 0DATETIME_PRECISION: NULLCHARACTER_SET_NAME: NULLCOLLATION_NAME: NULLCOLUMN_TYPE: int(11)COLUMN_KEY: EXTRA: PRIVILEGES: select,insert,update,referencesCOLUMN_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: 0DATETIME_PRECISION: NULLCHARACTER_SET_NAME: NULLCOLLATION_NAME: NULLCOLUMN_TYPE: int(11)COLUMN_KEY: EXTRA: PRIVILEGES: select,insert,update,referencesCOLUMN_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 数据库名;

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

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

相关文章

Docker镜像仓库-在私有镜像仓库推送或拉取镜像

推送镜像到私有仓库,要先让镜像打包 前缀为私有仓库地址的名字: 这里也是打包成功了:docker images 可以查看到 push推送镜像到镜像仓库: docker push 192.168.221.129:8080/nginx:1.0推送成功后在主机访问镜像仓库可以看到 这里已经有个镜像了。而且可…

CyberDemo解读

CyberDemo: Augmenting Simulated Human Demonstration for Real-World Dexterous Manipulation解读 摘要1. 简介2. Related Work2.1 Data for Learning Robot Manipulation2.2 机器人的预训练视觉表征2.3 Sim2Real Transfer 3. CyberDemo3.1 收集人体遥操作数据3.2 在模拟器中…

工程绘图神器:Origin 2021软件安装与图像demo水印问题解决

目录 引言 正文 01-Origin软件简介 02-Origin软件安装 03-Origin软件复制图像带有水印问题解决 引言 注:本篇软件安装内容引用了微信公众号“软件管家”里的Origin 2021安装教程和…

张大哥笔记:自媒体人10种赚钱方法

很多人都在做自媒体,比如平台广告分成、广告收入、公关宣传、品牌植入、演讲、会员制、出书、线下活动。那么本文介绍了自媒体人10种赚钱方法,供大家参考: 1、打造个人IP 什么是个人IP?在百度百科上是这样解释的:指个…

京东生产环境十万并发秒杀系统三高架构

文章目录 三高——高并发、高可用、高可扩展用数据库乐观锁解决超卖阿里巴巴:为了提升数据库性能,对数据库的源码级别做了改造——在DB内部实现内存队列,一次性接收很多的请求,一次性更新。京东:redis,mq&a…

无线通信基础

这里写目录标题 通信概述什么是无线通信无线通信电磁波 通信概述 什么是无线通信 无线通信 : 是指利用电磁波信号可以在自由空间中传播的特性进行信息交换的一种通信方式 无线通信的关键技术包括调制技术、解调技术、信道编码技术、信号处理技术、天线技术等。这些技术的不断…

医药垃圾分类管理系统|基于SSM医药垃圾分类管理系统的系统设计与实现(源码+数据库+文档)

医药垃圾分类管理系统 目录 基于SSM医药垃圾分类管理系统设计与实现 一、前言 二、系统设计 三、系统功能设计 1系统登录模块 2管理员模块实现 3用户模块实现 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博…

《十九》Qt Http协议及实战

前言 本篇文章来给大家讲解QT中的Http协议,Http协议主要用于网络中数据的请求和响应,那么这篇文章将给大家讲解一下这个协议。 一、HTTP概述 HTTP(超文本传输协议)是互联网上应用最为广泛的协议之一,它定义了客户端…

LM4562NA 直插DIP8双运放 音频hifi运算放大器

LM4562NA是一款高性能音频运算放大器,其应用领域主要集中在音频和声音处理方面,包括但不限于: 1. 专业录音设备:在录音棚、广播电台和电视台等专业环境中,用于信号放大和处理,确保高质量的声音录制和传输…

北邮22级信通院DSP:实验三(1):FFT变换、IFFT变换(附每步8点变换蝶形图)保姆级讲解+用C++程序实现复数域的FFT变换和IFFT变换

北邮22信通一枚~ 跟随课程进度更新北邮信通院DSP的笔记、代码和文章,欢迎关注~ 获取更多文章,请访问专栏: 北邮22级信通院DSP_青山入墨雨如画的博客-CSDN博客 目录 一、预备知识 1.1 FFT算法 1.2.1由DFT到FFT 1.2.2 基2时域抽选算法 …

并发编程之阻塞队列BlockingQueue实战及其原理分析

1. 阻塞队列介绍 1.1 队列 是限定在一端进行插入,另一端进行删除的特殊线性表。 先进先出(FIFO)线性表。 允许出队的一端称为队头,允许入队的一端称为队尾。

使用开放式用户通信连接两台西门子S71200plc

步骤1.在项目中创建两台PLC。 步骤2.分别设置两个PLC的参数。 plc1 plc2 步骤3.对两个plc进行组态 步骤4.在plc1和plc2中各自创建DB块,用于通信。 须在块的属性中取消优化块的访问选项。 plc1 plc2 步骤5.往plc1的main块中编写代码。 步骤6.往plc2的main块中编写…

Markdown 精简教程(胎教级教程)

文章目录 一、关于 Markdown1. 什么是 Markdown?2. 为什么要用 Markdown?3. 怎么用 Markdown?(编辑软件) 二、标题1. 常用标题写法2. 可选标题写法3. 自定义标题 ID4. 注意事项 三、段落四、换行五、字体选项1. 粗体2.…

15.计算机网络

1.物理层的互联设备 中继器 和 集线器 2.集线器可以看做特殊的多路中继器 集线器 不可以做到自动寻址的功能 3.数据链路层 网桥 和 交换机 4.交换机是多端口网桥 5.网络层 路由器 6.应用层 网关 7.广播域 网络层 可以形成多个广播域 冲突域 网络层数据链路层 可以形成多个冲突域…

网络安全--红队资源大合集

目录 相关资源列表 攻防测试手册 内网安全文档 学习靶场 工具包集合 内网安全文档 学习手册相关资源 产品设计文档 版本管理平台漏洞收集 相关工具拓展插件 Kali 环境下拓展插件 Nessus 相关工具拓展插件 Awvs 相关工具拓展插件 红队攻击的生命周期,…

第三节课,前端

一、参考链接; 总 知识星球 | 深度连接铁杆粉丝,运营高品质社群,知识变现的工具 分 2022-03-18 星球直播笔记-用户中心(下) 语雀 二、登录 2.1登录网址 2.2前端页面修改 2.1 页面修改 2.2 页脚的超链接 网址&am…

Linux初识

1.操作系统的那点事 (1)结论:操作系统是作软硬件管理的软件; (2)计算机是操作系统,设备驱动,硬件三个相互结合发挥作用的,操作系统是用来管理硬件的,常见的…

简易录制视频做3D高斯

系统环境 ubuntu20 ,cuda11.8,anaconda配置好了3D高斯的环境。 具体参考3D高斯环境配置:https://blog.csdn.net/Son_of_the_Bronx/article/details/138527329?spm1001.2014.3001.5501 colmap安装:https://blog.csdn.net/Son_of…

嵌入式linux学习第三天汇编语言点灯

嵌入式linux学习第三天汇编语言点灯 今天学习如何在linux板子上点灯。 I.MX6U GPIO 详解 我们发现I.MX6U GPIO是分为两类的,:SNVS 域的和通用的。在讨论i.MX6U或类似的复杂微处理器时,了解其GPIO(通用输入输出)引脚…

八.吊打面试官系列-Tomcat优化-深入源码剖析Tomcat如何打破双亲委派

前言 上篇文章《Tomcat优化-深入Tomcat底层原理》我们从宏观上分析了一下Tomcat的顶层架构以及核心组件的执行流程。本篇文章我们从源码角度来分析Tomcat的类加载机制,且看它是如何打破JVM的ClassLoader双亲委派的 Tomcat ClassLoader 初始化 Tomcat的启动类是在…