数据库MySQL-程序员宅基地

技术标签: mysql  数据库  

数据库分类

	数据库分为 关系型数据库和非关系型数据库
	关系型数据库包括 mysql oracle DB2 sqlserver等
	非关系型数据库 redis  MongoDB memcached  Hbase

关系型数据库

	最典型的数据结构是表,由二维表及其之间的联系组成的一个数据组织,可以采用
	结构化查询语言SQL对数据库进行操作
		优点: 易于维护,都是表结构,格式一致
			  使用方便,sql语言通用,可以用于复杂查询
			  复杂操作,支持sql,可用于一个表及多个表之间非常复杂的查询
		缺点: 读写能力比较差,尤其是海里数据的高效率读写;
			  固定的表结构,灵活度稍欠
			  高并发读写结构,传统关系型数据库来说,硬盘IO是一个很大瓶颈,
			  高并发的读写数据对于硬盘IO的读写性能、资源占用有很大要求

非关系型数据库

	非关系型数据库也称之为Nosql数据库,是一种数据结构化存储方法的集合,
	可以是文档图片键值对等。
	优点:
		格式灵活:存储数据的格式可以是key.value形式,文档形式,图片形式等等
		而关系型数据库只支持硬盘
		速度快:nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能
		使用硬盘
		高扩展性:
		成本低:nosql数据库部署简单,基本都是开源软件
	缺点
		不提供sql支持,学习和使用的成本较高
		无事务处理
		数据结构相对复杂,复杂查询方面稍欠。

结构化查询语言 sql(Structured Query Language)

	是一种数据库查询和程序设计语言,用于存取数据以及查询,更新和管理关系
	数据库系统
	sql 面向数据库执行查询
	sql 可在数据库插入新的记录
	sql 可更新数据库中的数据
	sql 可从数据库删除记录
	sql 可创建新的数据库
	sql 可在数据库中创建新表
	sql 可在数据库中创建存储过程
	sql 可在数据库中创建视图
	sql 可以设置表/存储过程和视图的效果

sql语言分类

	数据查询语言DQL  data query language
	关键字
		select
		from
		where
		order by
		having
	数据操作语言DML data manipulation language
	关键字
		insert
		update
		delete
	数据定义语言 DDL  data definition language 定义数据库对象语言,
	其语句包括动词create 和 drop等;
		create 创建数据库对象
		alter  修改数据库对象
		drop  删除数据库对象
	数据控制语言 DCL data control language 它的语句通过 grant或
	revoke获得许可,确定用户对数据库对象的访问。
		grant 授予用户某种权限
		revoke 回收授予的某种权限
	事务控制语言 TCL transaction control language   它的语言能确保
	被DML语句影响的所有的行得以更新。
		rollback 回滚事务
		savepoint  设置回滚点
	需要注意的是:DML 针对表中的数据
		而DDL针对数据库对象,如数据库database,表 table,
		索引index,视图view,存储过程procedure/触发器trigger

sql语言语法:
	sql语句不区分大小写,关键字建议大写
	sql语句可以单行或多行书写,以分号结尾;

数据库的命令

	// 查询mysql所有数据库的命令
	show databases;
	// 创建数据库
	create database                      -----创建数据库关键字
	name(database_name)                  -----数据库名称
	default character set                -----指定默认编码类型关键字
	utf8;                                -----指定编码
	//eg:创建一个tesr数据库
	create database test default character set utf8;
	// 查看数据库编码
	select schema_name,default_character_set_name 
	from information_schema.schemata
	where schema_name = 'test';
	// 删除数据库
	DROP DATABASE database_name;

	//*********选择数据库
	USE database_name;
	// eg :创建一个名称为 sky的数据库,编码为utf8;
	create database sky defaultt character set utf8;
	// choose  sky database
	USE sky;

Mysql数据类型分类

mysql数据 含义
tinyint(m) 一个字节(-128-127)
smallint(m) 两个字节 (-32768-32767)
mediumint(m) 三个字节(-8388608-8388607)
int(m) 四个字节(-2147483648-2147483647)
bigint(m) 八个字节(±9.22*10的18次方)
数值类型在的长度是只显示长度,并不表示存储长度,只有字段指定

zerofill时有用
如int(3) 如果实际值是2 如果列指定了zerofill,查询结果就是002,
左边用0来填充

浮点类型
mysql数据类型 含义
float(m,d) 单精度浮点型 8位精度,m是总个数,d是小数位
double(m,d) 双精度浮点型16位精度,m是总个数,d是小数位
字符类型
mysql数据类型 含义
char(n) 固定长度,最多255个字符
tinytext 可变长度,最多255个字符
varchar(n) 可变长度,最多255个字符
text 可变长度,做多65535个字符
mediumtext 可变长度,最多2 的24次方-1个字符
longtext 可变长度,最多2的32次方-1个字符

char和varchar
char长度固定,每条数据占用等长字节空间;适合用在身份证、
电话号码等定长数据
varchar可变长度,可以设置最大长度适合用在长度可变的属性
text 不设置长度,当不知道属性的最大长度时,适合用text
按照查询速度 char最快,varchar次之,text最慢

字符串使用建议
经常变化的字段用varchar
知道固定长度的用char
尽量用varchar
超过255的字符只能用varchar或者text
能用varchar的地方不用text

日期类型
mysql数据类型 含义
date 日期YYYY-MM-DD
time 时间HH:MM:SS
datetime 日期时间 YYYY-MM-DD HH:MM:SS
timestamp 时间戳 YYYYMMDD HHMMSS
二进制数据

BLOB和TEXT存储方式不同,TEXT以文本形式存储,英文存储区分大小写
而BLOB存储的是以二进制存储,不区分大小写
BLOB存储的数据只能整体读出
TEXT可以指定字符集,而BLOB不用指定字符集

创建表与删除表

使用DDL语句创建表
create table 表名(列名 类型,列名 类型。。。。。)

create table employees(employee_id int,employee_name varchar(10),salary float(8,2));
show tables;

drop table employees;

修改表名列名/列类型/添加/删除列

	alter table table_name rename new_table_name;
	alter table table_name change column old_column_name new_column_name 类型;
	//修改列类型
	alter table 表名 modify 列名 新类型;
	// 添加新列
	alter table 表名 add column 新列名 类型;
	//删除指定列
	alter table 表名 drop column 列名;
	

数据库约束是对表中的数据进行进一步限制,保证数据的正确性和完整性

	关系型数据库的约束类型
	主键约束 primary key
			主键约束是使用最频繁的约束,在设计数据表时,一般情况下都会要求表中设置一个主键;
			主键是表的一个特殊字段,该字段是唯一标识该表中的每条信息。例如学生信息表中的学号是唯一的
					主要特点:
					1/不允许为空
					2/不允许有重复值出现
					3/保证数据的唯一性
					```
					添加主键约束
					alter table 表名 add primary key(列名)
					mysql中的自动增长类型要求
					一个表中只能有一个列为自动增长
					自动增长的列的类型必须是整数类型
					自动增长只能添加到具备主键约束和唯一性约束的列上
					alter table 表名modify 主键 类型 auto_increment;
					```
					删除主键
					删除主键约束或唯一性约束,如果该列拥有自动增长能力 然后再删除约束
					1/alter table 表名modify 主键 类型;
					2/alter table 表名 dtop primary key
			外键约束 foreign key
					1/允许有空值
					2/允许有重复
					3/值必须是参照表的参照列所包含的值
					4/保证数据的参照完整性

					‘’‘
					添加外键约束
					alter TABLE 表名 add constraint 约束名 foreign key(列名) references 参照表名(参照表列名)
					’‘’
					‘’‘
					删除外键约束
					alter table 表名 drop foreign key 约束名;
					’‘’
			唯一性约束 unique
					1/相同值只出现一次
					2/允许为多个列表添加唯一性约束
					3/保证数据的唯一性

					’‘’
					添加唯一性约束
					alter table 表名 add constraint 约束名 unique(列名);
					‘’‘
					'''
					’‘’
					删除唯一性约束
					alter table 表名 drop key 约束名
					‘’‘
			非空约束
					1/列中不能有空值
					2/允许重复值
					3/允许为多个列表添加非空约束
					4/保证数据没有空值
					
					'''
					添加非空约束
					alter table 表名 modify 列名 类型 not null;
					'''
					‘’‘
					删除非空约束
					alter table 表名 modify 列名 类型 null;
					’‘’

			查询表中的约束信息:
					show keys from 表名;
			检查约束
					1/用户自己定义约束条件
					2/保证数据满足自定义的条件约束
					3/mysql目前不支持检查约束

mysql中的DML操作

	添加数据 insert
		选择插入
		insert into 表名(列名1,列名2,列名3.....) values(值1,值2,值3,.....);
		完全插入
		insert into 表名 values(值1,值2,值3,.......)
		完全插入如果所有列都要有值,如果主键是自动增长需要使用 default / null  / 0 来占位
	默认值处理
		创建表时的默认值处理
			create table 表名(列名 类型 default 默认值....)
			例;
			create table department(dep_id int primary kry auto_increment,name var chart(10),address varchar(50) default 'unknown')
			创建一个部门表 部门地址默认是 '未知' 值;
	修改表添加新列并指定默认值
		alter table 表名 add column 列名 类型  default 默认值;
			例:
			alter table department add column depart_name varchar(10) default null;
	插入数据时的默认值处理
		如果插入数据时并未指定该列的值(默认值的列),那么mysql会将默认值添加到该列中
		如是完全插入需要使用default来占位
		向emp3表中添加数据,要求address列与job_id列使用默认值作为该列的值
		insert into emp3(name) values ("admin");
		inser into emp3(default,"lou",default,default);  全数据插入要知道表结构
	更新数据 update
		update 表名 set 列名=值,列名=值 where 条件;
		更新数据时一定要给定更新条件,否则表中的所有数据都会被更新;
	删除数据 delete
		delete from 表名 where 条件;
		delete语句中,如果没有给定删除条件则会删除表中所有数据;
		另外一种是truncate清空表 这种方式不会有日志操作记录;
		truncate table 表名
		两种方式的区别:delete是逐条删除,truncate 是整体删除 速度较快
		truncate 不写服务器log,delete写服务器log
		truncate 是会重置自增值,相当于自增列会被置为初始值,又重新从1开始记录,而不是按原来的值,而delete
		删除后自增值仍然会继续累加;

mysql查询语句

	select 语句从数据库中返回信息
		列选择:能够使用select 语句的列选择功能选择表中的列,这些列是想要用查询返回的,当查询时能够返回
		列中的数据
		行选择:能够使用select 语句的行选择功能选择表中的行,这些行是想用查询返回的,能够使用不能的标准
		限制看见的行
		连接:能够使用select语句的连接功能来集合数据,这些数据被存储在不同的表中,在它们之间可以创建连
		接查询出我们所关心的数据
		****
		基本语法:
		select * | {[distinct] column| expression [alias],....} from table;
		select 确定哪些列
		from 确定那张表

	基本select语句
		在最简单的形式中,select 语句必须包含下面的内容
		一个select 语句 指定被显示的列
		一个from子句 指定表 该表包含select子句中的字段列表
语句 含义
select 是一个或多个字段的列表
* 选择所有的列
distinct 禁止重复
column |expresson 选择指定的字段或者表达式
alias 给所选择的列不同的标题
from table 指定包含列的表
	选择所有列
	select * from departments;
	选择指定列
	select 列名1,列名2 form 表名;
查询中的算术表达式
	创建数字和日期的表达式
	操作|说明
	+ 加
	- 减
	* 乘
	/ 除
	一个算数表达式可以包含列名/固定的数字值和算术运算符
	使用算数运算符
	select last_name,salary,salary+300 from employees;
	运算符的优先级
	* / + -
	乘法和除法的优先级高
	相同优先级的运算符从左到右计算
	圆括号用于强制有线计算,并且使语句更加清晰
mysql中定义空值
	null 是一个未分配的、未知的、或者说是不适用的值
	null不是0,也不是空格
	如果一行中的某个列缺少数据值,该值被置为null 或者说包含一个空
	空(null)是一个难以获得的/未分配的/未知的或不适用的值,空和0或者空格不相同,0是
	一个数字,而空格是一个字符
mysql中的别名
	使用列别名
	select last_name as name,commisson_pct comm form employee;
	格式:
	select 列名 as 列别名 from 别名 where 条件;
	(as 可以省略)
	表别名
	select 表别名.列名 from 表名 表别名 where 条件;
mysql去除重复
	select 默认显示所有的行 包括相同的行
	如果需要去除重复值 需要限制条件distinct
	格式
	select distinct 内容 form 表名 where 条件;
mysql查询条件行
	select * | 投影列 from 表名 where 选择条件;

mysql中的比较条件

	比较条件
	运算 | 含义
	=  等于
	>  大于
	>=  大于等于
	<=  小于等于
	<  小于
	<>  不等于  符号!=也能够表示不等于条件

	其它比较条件
	操作 | 含义
	between·... and...   在两个值之间(包含关系  左右闭区间) 
	IN(set)匹配一个任意列表
	like  匹配一个字符模板
	is null 是个空值

	逻辑条件
	运算 | 含义
	and   如果两个组成部分的条件都为真,返回true
	or   如果两个组成部分中的任一个条件为真,返回true
	not  如果跟随的条件为假,返回true
	可以在where子句中用and和or运算符使用多个条件
优先规则
优先顺序 操作
1 算术运算
2 连字操作
3 比较操作
4 is not null ,not ,like , in
5 [not] between and
6 not 逻辑条件
7 and逻辑条件
8 or 逻辑条件
可使用圆括号改变优先规则
使用order by 排序
格式:用order by 子句排序行 
		asc 升序排序 默认
		desc 降序排序
	order by子句在select子句的最后

sql语句的执行顺序
from 子句
where 子句
select 子句
order by 排序

支持多列排序 别名排序

SQL函数

函数介绍
输入 --> 函数 --> 输出
函数是sql的一个非常强有力的特性,函数能够用于下面的目的
执行数据计算
修改单个数据项
操纵输出进行行分组
格式化显示的日期和数字
转换列数据类型

SQL函数有输入参数,并且总有一个返回值
函数分类
sql函数两种类型
单行函数 单行函数仅对单个行进行运算,并且每行返回一个结果
常见的函数类型

字符
数字
通用
日期
转换

多行函数
多行函数能够操纵成组的行,每个行组给出一个结果,这些函数也被称为组函数

单行函数

操纵数据项
接收多个参数并返回一个值
作用于每个返回行
每行返回一个结果
可以修改数据类型
可以嵌套
接受多个参数,参数可以是一个列或者一个表达式

字符函数

lower(s) 将字符串s转换为小写 也可以用 lcase(s)
upper(s) 将字符串s转换为大写 也可以用 ucase(s)

字符处理函数
百度
数字处理函数
百度
日期函数
百度
转换函数
数据类型转换函数包含两种隐式数据类型转换,显式数据类型转换
隐式数据类型转换是指mysql服务器能够自动进行的类型转换
如 可以将标准格式的字符串日期自动转换为日期类型

显式数据类型指需要依赖转换函数来完成相关类型的转换
date_format(date,formate) 将日期转换成字符串
str_to_date(str,format) 将字符串转换成日期
通用函数
百度

多表查询

笛卡尔积
笛卡尔乘积的形成,当
一个条件被遗漏时
一个条件不正确时
在一个表中的所有行被连接到第二个表中的所有行时

等值连接特点
多表等值连接的结果为多表的交集部分
n表连接,至少需要n-1个连接条件
多表不分主次,没有顺序要求
一般为表起别名,提高阅读性和性能
可以搭配排序、分组、筛选。。。等子句使用
等值连接也被称为简单连接或内连接

非等值连接 连接条件不相等
自连接 自连接是连接到自身

交叉连接

cross join 子句导致两个表达交叉乘积
该连接和两个表之间的笛卡尔乘积是一样的

natural join
自然连接只能发生在两个表中有相同名字和数据类型的列上。如果列有相同的名字
但数据类型不同,natural join 语法会引起错误

内连接
inner join

左外连接
left outer join

右外连接
right outer join

全外连接
full outer join (mysql中不支持全外连接)可以用union实现全外连接

union 结果去重
union all 返回所有数据包含重复数据
语法结构
(select 投影列 from 表名 left outer join 表名 on 连接条件)
union
(select 投影列 from 表名 right outer join 表名 on 连接条件)

聚合函数

聚合函数也称为多行函数,组函数或者分组函数。
类型
avg 平均值
count 计数
max 最大值
min 最小值
sum 合计

数据分组

group by

子查询

语法结构
select select_list
from table
where expr operation
(select select_list
from table;)
子查询是一个select语句,它是嵌在另一个select语句中的子句。使用子查询可以简单的语句
构建功能强大的语句

mysql 索引介绍

索引是对数据库表中的一列或多列进行排序的一种结构。使用索引可以快速访问数据库表中的特定信息。
索引是一种特殊的文件,包含者数据表里的所有记录的位置信息

索引可以大大提高mysql的检索速度

索引的作用
索引相当于图书上的目录,可以根据目录上的页码快速找到所需的内容,提高性能(查询速度)
索引优点
通过创建唯一性索引,可以保证数据库表中的每一行数据的唯一性
可以加快数据的检索速度
可以加速表与表之间的连接
在使用分组和排序进行检索的时候,可以减少查询中分组和排序的时间;

索引缺点
创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加
索引需要占用物理空间,数据量越大,占用空间越大
会降低表的增删改的效率,因为每次增删该索引都需要动态维护

什么时候需要创建索引
频繁作为查询条件的字段应该创建索引
查询中排序的字段创建索引将大大提高排序的速度(索引就是排序加快查找)
查询统计或者分组的字段

什么时候不需要创建索引
频繁更新的字段不适合创建索引,因为每次更新不单单是更新记录 ,还会更新索引,保存索引文件
where条件用不到的索引 不创建索引
表记录太少 不需要创建索引
经常增删改的表
数据重复且分布平均的字段,因此为经常查询的经常排序的字段建立索引,某些数据包含大量重复数据
,建立索引没有效果

索引类型

普通索引
最基本的索引,没有任何限制
唯一索引
索引列的值必须唯一,但允许有空值,如果是组合索引,则列值必须唯一
主键索引
特殊的索引,唯一的标识一条记录,不能为空,一般用primary key 来约束
联合索引
在多个字段上建立索引,能够加速查询到速度

mysql事务

事务是指作为单个逻辑工作单元执行的一系列操作,要么完全执行,要么不完全执行
事务定义
事务是一个最小的不可再分的工作单元,通常一个事务对应一个完整的业务 最小的工作单元
事务只和DML语句有关 或者说DML语句才有事务
一个完整的业务需要批量的DML 语言联合完成

事务四大特征
原子性
事务中的操作也么都不做,要么全做
一致性
一个事务应该保护所有定义在数据上的不变的属性(例如完整性约束)。在完成了一个成功的事务时
数据应该处于一致的状态
隔离性
一个事务的执行不能被其他事务干扰
持久性
一个事务一旦提交,它对数据库中的改变就应该时永久性的

事务类型
显式事务
需要我们手动的提交或回滚
DML语言中的操作都是显示事务操作

隐式事务
数据库自动提交不需要我们做任何处理,同时也不具备回滚性DDL DCL都是隐式事务操作

事务的并发问题
脏读 一个事务读取了另外一个事务未提交的数据
不可重复读 (前后多次读取数据 内容不一致)
幻读 (前后多次读取 数据总量不一致)

事务的隔离级别
用于决定如何控制并发用户读写数据的操作。数据库是允许多用户并发访问的。如果多用户同时开启事务
并对同意数据进行读写操作的化,有可能出现脏读/不可重复读/幻读问题,所以mysql提供了四种级别来解
决上述问题
事务隔离级别从低到高依次为
read uncommitted
read committed
repeatable read
serializable
隔离级别越低,越能支持高并发的数据库操作

查看mysql 默认事务隔离级别
select @@transaction_isolation;

mysql分页查询
在mysql数据库中使用limit子句进行分页查询
mysql分页中 开始位置为0
分页子句在查询语句的最后侧

select 投影列 from 表名 where 条件 order by limit 开始位置,查询数量

limit offset子句
select 投影列 from 表名 where 条件 order by limit 查询数量 offset 开始位置;

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44448643/article/details/136747226

智能推荐

云大计算机考博 经验,计算机考博难不难?-程序员宅基地

文章浏览阅读359次。计算机考博难不难?希赛网考博英语频道为大家整理和分享考博英语相关考试知识,供大家参考学习。希望能为大家提供到帮助,祝各位都能顺利通过考试。其实计算机考博与其他专业的博士考试难度都类似,第一英语难:为什么?想进入复试,初试的英语必须过线(也有破格录取的,这是幸运当年那所高校报考的人少或是导师实在找不到人了降分录取,不要把自己放在幸运上。)。如果你是应届生,那你在研究生期间的英语有没有落下,有很多考..._云南大学计算机申博 小木虫

python调节电脑音量_python如何调节音量大小-程序员宅基地

文章浏览阅读2.4k次。首先需要安装模块pycaw,在cmd中执行:pip3installpycaw下面是完整代码示例:fromctypesimportcast,POINTERfromcomtypesimportCLSCTX_ALLfrompycaw.pycawimportAudioUtilities,IAudioEndpointVolumedevices=AudioUtilities.Ge..._python控制电脑音量

Educational Codeforces Round 19 F. Mice and Holes-程序员宅基地

文章浏览阅读168次。题目链接One day Masha came home and noticed nnn mice in the corridor of her flat. Of course, she shouted loudly, so scared mice started to run to the holes in the corridor.The corridor can be represeted as a numeric axis with nnn mice and mmm holes on it. it_educational codeforces round 19

PyQt学习笔记-使用QSettings保存系统配置参数_pyqt qsettings 使用 详解-程序员宅基地

文章浏览阅读1k次。QSettings继承于QObject,位于PyQt6.QtCore模块中。QSettings的API基于QVariant,允许您以最小的工作量保存大多数基于值的类型,例如QString,QRect和QImage。可通过配置将应用程序需要保存的参数数据保存到本地,如windows的注册表,macOS 和 iOS 上的属性列表文件,linux的ini文本文件等。_pyqt qsettings 使用 详解

Elm-Flatris:优雅的Elm语言实现的俄罗斯方块游戏-程序员宅基地

文章浏览阅读384次,点赞4次,收藏9次。Elm-Flatris:优雅的Elm语言实现的俄罗斯方块游戏项目地址:https://gitcode.com/w0rm/elm-flatris项目简介Elm-Flatris 是一个基于 Elm 语言开发的经典俄罗斯方块游戏。Elm是一种功能型前端编程语言,以其简洁、类型安全和易于维护的特性而受到开发者喜爱。该项目不仅是一个娱乐应用,更是学习Elm语言及函数式编程理念的理想实例。技术分析E...

Ping通外网百度,但是打不开网页(能登入QQ和微信,但是打不开网页)_电脑能ping通百度,无法打开网页-程序员宅基地

文章浏览阅读8.5k次,点赞7次,收藏15次。声明:本文章仅用于自己备份,以防再次发生此类情况。参考转载:https://blog.csdn.net/wukai0909/article/details/96459029进行如下尝试:1、我先是重装网卡驱动,重启电脑,故障还是没有解决。2、打开CMD(按住WIN+R),输入netsh winsock reset,然后重启电脑没有恢复。需要进入管理员模式:搜索cmd,按住shift,右键进入管理员模式3、Chrome链接网页提示了proxy相关错误。按照要求点开Ch._电脑能ping通百度,无法打开网页

随便推点

前端(vue)导出word文档(导出图片)_前端批量docx转jpg-程序员宅基地

文章浏览阅读688次,点赞7次,收藏11次。导出word文档方法有很多,但这次要导出图片,所以选用了html-docxhtml-docx是根据html代码进行导出........_前端批量docx转jpg

TaiShan 200服务器安装Ubuntu 18.04_ubuntu登录华为泰山服务器.-程序员宅基地

文章浏览阅读749次。TaiShan 200 服务器 Ubuntu 18.04 安装指南, amr64,aarch64_ubuntu登录华为泰山服务器.

linux openerp,openerp-程序员宅基地

文章浏览阅读101次。实验环境centos7_x64实验软件odoo_8.0.20170101.noarch.rpm软件安装yum install -y /root/odoo_8.0.20170101.noarch.rpmyum install -y yum-utils postgresql postgresql-server postgresql-libspostgresql-setup initdbsu - po..._openerp中文版 for liunx

STM32+AS608指纹模块串口通讯_as068-程序员宅基地

文章浏览阅读2.1w次,点赞53次,收藏263次。STM32+AS08指纹模块串口通讯一. 使用硬件:stm32F103 -mini stm32开发板+AS608指纹模块+usb转串口实物图:硬件接线:注意:usb转串口线是连接串口1即PA9,PA10引脚的,并接上VCC、GND提供电源二. AS068工作流程:As068模块驱动采用的是正点原子公司提供的As068.c及As068.h文件,具体..._as068

全通滤波器 相位校正 matlab,一文读懂滤波器的线性相位,全通滤波器,群延迟...-程序员宅基地

文章浏览阅读3.1k次,点赞2次,收藏19次。延迟和全通滤波器,来解释这些概念。先说结论:线性相位能保证信号中各频率成分的相对相位关系不改变。通俗解释是:信号经过线性相位滤波器后,各个频率分量的延时时间是一样的。1. 延迟举一个最简单的FIR的例子,延迟。假设16kHz的采样频率,一个采样周期的延迟,可以用FIR来表示。利用Matlab来观看这个滤波器的频率响应,代码如下。采样频率为Fs = 16kHz, 采样周期为Ts,Ts = 1/Fs。..._matlab如何对滤波器进行相位校准

Google Earth影像数据破解之旅-程序员宅基地

文章浏览阅读890次。“Zed, you are so excellent.” 为什么要写这句英文?容我卖个关子稍后再解释。 相信大多数人都体验过Google Earth(简称GE),我对GE最初的印象是在大学宿舍,当时Google刚刚推出GE时,舍友们喜欢在上面找自己的家,惊讶于它的精细程度,并担心是否对中国有一定的安全隐患。 坦白说,当时我对GE上找家没一点兴趣,但不能否认..._googleearth galil算法加密

推荐文章

热门文章

相关标签