操作MySQL数据库
【一】针对库的增删查改(文件夹)
【1】创建数据库
(1)语法
-
创建一个存储数据表的文件夹。
-
注意:mysql中的编码字符集中utf-8,要换成utf8mb4。SQL语句中的中括号部分表示可选。
create database [if not exists] 数据库名 [character set 编码字符集];
(2)示例
mysql> create database my_one; Query OK, 1 row affected (0.00 sec)
【2】查看数据库
(1)语法
show databases; -- 查看所有数据库 show databases like '%test%'; -- 查看名字中包含test的数据库 show create database 数据库名; -- 查看数据库的建库sql语句
(2)示例
# 查看所有库 mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | my_one | | mysql | | performance_schema | | sys | +--------------------+ 5 rows in set (0.01 sec) # 查看指定库 mysql> show create database my_one; +----------+--------------------------------------------------------------------+ | Database | Create Database | +----------+--------------------------------------------------------------------+ | my_one | CREATE DATABASE `my_one` /*!40100 DEFAULT CHARACTER SET utf8mb4 */ | +----------+--------------------------------------------------------------------+ 1 row in set (0.00 sec)
【3】修改数据库
(1)语法
alter database 数据库名 [character set 编码字符集];
(2)示例
mysql> alter database my_one charset='utf8'; Query OK, 1 row affected (0.00 sec)
【4】删库
(1)语法
drop database [if exists] 数据库名;
(2)示例
mysql> drop database my_one; Query OK, 0 rows affected (0.01 sec)
【二】针对表的增删改查(文件)
在操作表的时候要指定所在的库
【1】查看当前所在库的名字
(1)语法
select database(); -- 查看当前使用的数据库
(2)示例
mysql> select database(); +------------+ | database() | +------------+ | NULL | +------------+ 1 row in set (0.00 sec)
【2】切换到指定库
(1)语法
use 数据库名; -- 切换数据库
(2)示例
-
切换数据库 注意:进入到某个数据库后没办法再退回之前状态,但可以通过use进行切换
mysql> use my_one Database changed
【3】创建表
-
数据表就相当于文件,文件有文件名,自然地,数据表也要有表名。
-
同样道理,数据表中的一条记录就相当于文件的一行内容。
-
只是不同的是,数据表需要定义表头(上图中的首行),称为表的字段名。
-
而且因为数据库的存储数据更加科学、严谨,所以需要创建表时要给每一个字段设置数据类型以及字段约束(完整性约束条件)。
(1)语法
create table [if not exists] 表名 (字段名1 数据类型[ ( 存储空间 ) 字段约束 ],字段名2 数据类型[ ( 存储空间 ) 字段约束 ],字段名3 数据类型[ ( 存储空间 ) 字段约束 ],.....字段名n 数据类型[ ( 存储空间 ) 字段约束 ],primary key(一个 或 多个 字段名) -- 注意,最后一段定义语句,不能有英文逗号的出现,否则报错。 ) [engine = 存储引擎 character set 字符集];
-
注意:
-
-
上面SQL语句中,小括号中的定义字段语句后面必须以英文逗号结尾,而最后一个字段的定义语句不能有英文逗号出现,否则报错。
-
在同一张数据表中,字段名是不能相同,否则报错!
-
创建数据表的SQL语句中,存储空间和字段约束是选填的,而字段名和数据类型则是必须填写的。
-
(2)示例
-
创建表指定字段
-- mysql中创建数据表要以 create table `表名` -- 表的字段信息必须写在 ( ) 小括号里面 create table classes (-- 建议一行一个字段,id 就是字段名-- int 表示设置字段值要以整数的格式保存到硬盘中,-- auto_increment表示当前字段值在每次新增数据时自动+1作为值保存-- primary key,mysql中叫主键,表示用于区分一个数据表中不同行的数据的唯一性,同时还具备加快查询速度的作用-- 注意:auto_increment与primary key 一般是配合使用的,对应的字段名一般也叫id,而且在一个数据表中只有一个字段能使用auto_increment primary key进行设置。id int auto_increment primary key,-- 字段名:name-- varchar(10) 表示当前name这一列可以存储的数据是字符串格式,并且最多只能存10个字符name varchar(10),-- 字段名:address-- varchar(100) 表示adderss这一列可以存储的数据是字符串格式,并且最多只能存100个字符address varchar(100),-- 字段名:total-- int 表示当前total这一列的数据只能是整数,而且一个数据表中,整数的最大范围只能是42亿total int );
-
上面的SQL语句就相当于创建了一个表格
id | name | address | total |
---|---|---|---|
【4】查看当前库下面的所有表
(1)查看所有的表
-
列出当前数据库中所有的数据表
# 语法 show tables;
# 示例 mysql> show tables; +------------------+ | Tables_in_my_one | +------------------+ | classes | | courses | | student | +------------------+ 3 rows in set (0.00 sec)
(2)查看指定的表
# 语法 show create table 表名;
# 示例 mysql> show create table student; +---------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Table | Create Table| +---------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | student | CREATE TABLE `student` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(10) DEFAULT NULL,`sex` int(11) DEFAULT '1',`classes` int(11) DEFAULT NULL,`age` int(11) DEFAULT NULL,`description` text,PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 | +---------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
(3)查看当前表的详细信息
-
以表格形式列出当前数据表的结构信息
# 语法 describe 表名; desc 表名;
mysql> desc student; +-------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+-------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | name | varchar(10) | YES | | NULL | | | sex | int(11) | YES | | 1 | | | classes | int(11) | YES | | NULL | | | age | int(11) | YES | | NULL | | | description | text | YES | | NULL | | +-------------+-------------+------+-----+---------+----------------+ 6 rows in set (0.00 sec)
(4)查看建表语句
show create table 表名 \G;
【5】修改表
(1)修改表的字段类型
-
modify(只能改类型不能改名字)
# 语法 alter table 表名 modify 字段名 字段类型(宽度);# 示例 # 修改之前name varchar(10) mysql> desc student; +-------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+-------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | name | varchar(10) | YES | | NULL | | | sex | int(11) | YES | | 1 | | | classes | int(11) | YES | | NULL | | | age | int(11) | YES | | NULL | | | description | text | YES | | NULL | | +-------------+-------------+------+-----+---------+----------------+ 6 rows in set (0.00 sec)mysql> alter table student modify name varchar(32); Query OK, 0 rows affected (0.01 sec) Records: 0 Duplicates: 0 Warnings: 0# 修改之后name varchar(32) mysql> desc student; +-------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+-------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | name | varchar(32) | YES | | NULL | | | sex | int(11) | YES | | 1 | | | classes | int(11) | YES | | NULL | | | age | int(11) | YES | | NULL | | | description | text | YES | | NULL | | +-------------+-------------+------+-----+---------+----------------+ 6 rows in set (0.00 sec)
-
change(名字类型都可)
alter table 表名 change 字段名 字段类型(宽度);
(2)修改表的名字(重命名)
语法:
alter table 原表名 rename 新表名;
示例:
mysql> alter table student rename students-> ; Query OK, 0 rows affected (0.01 sec)
(3)添加字段
-
默认是尾部追加字段
语法:
alter table 表名 add 字段名 字段类型;
示例:
mysql> alter table students add a int; Query OK, 0 rows affected (0.04 sec) Records: 0 Duplicates: 0 Warnings: 0mysql> desc students; +-------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+-------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | name | varchar(32) | YES | | NULL | | | sex | int(11) | YES | | 1 | | | classes | int(11) | YES | | NULL | | | age | int(11) | YES | | NULL | | | description | text | YES | | NULL | | | a | int(11) | YES | | NULL | | +-------------+-------------+------+-----+---------+----------------+ 7 rows in set (0.00 sec)
-
指定追加位置
语法:
alter table 表名 add 字段名 字段类型 after 原字段名;
示例:
mysql> alter table students add b int after a; Query OK, 0 rows affected (0.03 sec) Records: 0 Duplicates: 0 Warnings: 0mysql> desc students; +-------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+-------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | name | varchar(32) | YES | | NULL | | | sex | int(11) | YES | | 1 | | | classes | int(11) | YES | | NULL | | | age | int(11) | YES | | NULL | | | description | text | YES | | NULL | | | a | int(11) | YES | | NULL | | | b | int(11) | YES | | NULL | | +-------------+-------------+------+-----+---------+----------------+ 8 rows in set (0.00 sec)
-
指定头部添加字段
语法:
alter table 表名 add 字段名 字段类型 first;
示例:
mysql> alter table students add c int first; Query OK, 0 rows affected (0.04 sec) Records: 0 Duplicates: 0 Warnings: 0mysql> desc students; +-------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+-------------+------+-----+---------+----------------+ | c | int(11) | YES | | NULL | | | id | int(11) | NO | PRI | NULL | auto_increment | | name | varchar(32) | YES | | NULL | | | sex | int(11) | YES | | 1 | | | classes | int(11) | YES | | NULL | | | age | int(11) | YES | | NULL | | | description | text | YES | | NULL | | | a | int(11) | YES | | NULL | | | b | int(11) | YES | | NULL | | +-------------+-------------+------+-----+---------+----------------+ 9 rows in set (0.00 sec)
(4)删除字段
语法:
alter table 表名 drop 字段名;
示例:
mysql> desc students; +-------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+-------------+------+-----+---------+----------------+ | c | int(11) | YES | | NULL | | | id | int(11) | NO | PRI | NULL | auto_increment | | name | varchar(32) | YES | | NULL | | | sex | int(11) | YES | | 1 | | | classes | int(11) | YES | | NULL | | | age | int(11) | YES | | NULL | | | description | text | YES | | NULL | | | a | int(11) | YES | | NULL | | | b | int(11) | YES | | NULL | | +-------------+-------------+------+-----+---------+----------------+ 9 rows in set (0.00 sec)mysql> alter table students drop c; Query OK, 0 rows affected (0.04 sec) Records: 0 Duplicates: 0 Warnings: 0mysql> desc students; +-------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+-------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | name | varchar(32) | YES | | NULL | | | sex | int(11) | YES | | 1 | | | classes | int(11) | YES | | NULL | | | age | int(11) | YES | | NULL | | | description | text | YES | | NULL | | | a | int(11) | YES | | NULL | | | b | int(11) | YES | | NULL | | +-------------+-------------+------+-----+---------+----------------+ 8 rows in set (0.00 sec)
(5)删除表
语法:
drop table 表名;
示例:
mysql> show tables; +------------------+ | Tables_in_my_one | +------------------+ | classes | | courses | | students | +------------------+ 3 rows in set (0.00 sec)mysql> drop table courses; Query OK, 0 rows affected (0.01 sec)mysql> show tables; +------------------+ | Tables_in_my_one | +------------------+ | classes | | students | +------------------+ 2 rows in set (0.00 sec)
【三】针对数据的增删查改
# 新建表 添加数据 insert into 表名 (字段名,字段名) values(值,值); INSERT [INTO] <表名> [ <列名1> [ , … <列名n>] ] VALUES (值1) [… , (值n) ];
mysql> create table student(-> d varchar(32),-> e int-> ); Query OK, 0 rows affected (0.03 sec)mysql> show tables; +------------------+ | Tables_in_my_one | +------------------+ | classes | | student | | students | +------------------+ 3 rows in set (0.00 sec)mysql> desc student-> ; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | d | varchar(32) | YES | | NULL | | | e | int(11) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
(1)插入数据
mysql> insert into student (d,e) values('knight',22),('hyt',24); Query OK, 2 rows affected (0.01 sec) Records: 2 Duplicates: 0 Warnings: 0
(2)查看数据
语法:
select * from 表名;
示例:
mysql> select * from student; +--------+------+ | d | e | +--------+------+ | knight | 22 | | hyt | 24 | +--------+------+ 2 rows in set (0.00 sec)
(3)更改数据
语法:
update 表名 set 字段名=字段值 where name="";
示例:
mysql> select * from student; +--------+------+ | d | e | +--------+------+ | knight | 22 | | hyt | 24 | +--------+------+ 2 rows in set (0.00 sec)mysql> update student set e=18 where d="hyt"; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0mysql> select * from student; +--------+------+ | d | e | +--------+------+ | knight | 22 | | hyt | 18 | +--------+------+ 2 rows in set (0.00 sec)
(4)删除数据
语法:
delete from 表名 where 字段名=字段值;
示例:
mysql> delete from student where d="knight"; Query OK, 1 row affected (0.00 sec)mysql> select * from student; +------+------+ | d | e | +------+------+ | hyt | 18 | +------+------+ 1 row in set (0.00 sec)
注意:
-
使用 DROP DATABASE/TABLE 命令时要非常谨慎,
-
在执行该命令后,MySQL 不会给出任何提示确认信息。
-
DROP DATABASE 删除数据库后,数据库中存储的所有数据表和数据也将一同被删除,而且不能恢复。
-
因此最好在删除数据库之前先将数据库进行备份。
相关文章:
操作MySQL数据库
【一】针对库的增删查改(文件夹) 【1】创建数据库 (1)语法 创建一个存储数据表的文件夹。 注意:mysql中的编码字符集中utf-8,要换成utf8mb4。SQL语句中的中括号部分表示可选。 create database [if no…...
Linux shell 文件生成文件脚本(模拟生成文件、生成大量文件)
文章目录 Linux shell 文件生成文件脚本 Linux shell 文件生成文件脚本 TARGET_DIR:生成文件路径 NUM_FILES:生成文件数量 FILE_SIZE:生成文件大小(KB) #!/bin/bashset -e set -u# Directory where files will be cr…...

theharvester一键收集域名信息(KALI工具系列十)
目录 1、KALI LINUX简介 2、theharvester工具简介 3、在KALI中使用theharvester 3.1 用搜索引擎扫描 3.2 扫描并输出结果 3.3 扫描某域名下的所有账号 3.4 使用所有的搜索引擎扫描 4、总结 1、KALI LINUX简介 Kali Linux 是一个功能强大、多才多艺的 Linux 发行版&…...
「动态规划」删除并获得点数
力扣原题链接,点击跳转。 给你一个整数数组nums。每次操作,可以删除任意一个值n,接着获得点数n,并同时删除所有的n-1和n1。你最多能获取多少点数? 这个问题的解法相当巧妙。我们可以把问题先转化一下。用类似计数排序…...
MongoDB CRUD操作:内嵌文档数组查询
MongoDB 内嵌文档数组查询 文章目录 MongoDB 内嵌文档数组查询查询数组内嵌文档为文档数组中的字段指定查询条件指定文档数组内嵌文档字段的查询条件使用数组索引查询内嵌文档的字段 为文档数组指定多个条件单个内嵌文档满足内嵌字段的多个查询条件符合标准的元素组合 使用 Mon…...
【C++】每日一题 50 Pow(x,n)
实现 pow(x, n) ,即计算 x 的整数 n 次幂函数(即,x^n )。 当需要计算x的n次幂时,可以使用递归或者迭代的方式来实现。 #include <iostream>double myPow(double x, int n) {if (n 0) {return 1.0;} else if (…...
HG/T 6088-2022 透水道路用涂料检测
透水混凝土是指由水泥、矿物掺合料、骨料、外加剂及水等主要材料经拌合形成的,具有透水功能的混凝土材料,用于其表面的涂料称为透水道路用涂料。 HG/T 6088-2022透水道路用涂料检测项目: 测试指标 测试方法 有害物质限量 GB 38468 在容器…...
linux定时清理docker日志脚本
Linux 定时清理 Docker 日志的脚本与配置指南 在使用 Docker 容器化应用程序时,日志文件可能会迅速增长,占用大量磁盘空间。为了保持系统的稳定性和高效运行,定期清理 Docker 日志文件是必要的。本文将介绍如何编写一个 Linux 脚本来清理 Docker 日志文件,并通过 cron 定时…...

ROS学习笔记(16):夹缝循迹
0.前言 在笔记的第15期对巡墙驾驶的原理进行了简单讲解,而这期我们来讲一下夹缝循迹,也常被叫follow the gap,也更新一些概念。 1.探索式路径规划与避障 1.概念 无预先建图的路径规划叫探索式路径规划,例如巡墙循迹和夹缝循迹&…...
【MySQL精通之路】SQL语句(3)-锁和事务语句
目录 1.START TRANSACTION、COMMIT和ROLLBACK语句 2.无法回滚的语句 3.导致隐含COMMIT的语句 4.SAVEPOINT、ROLLBACK TO SAVEPOINT和RELEASE SAVEPOINT语句 5.LOCK INSTANCE FOR BACKUP和UNLOCK INSTANCE语句 6.LOCK TABLE和UNLOCK TABLES语句 6.1 表锁获取 6.2 表锁释放…...

211大学计算机专业不考408,新增的交叉专业却考408!南京农业大学计算机考研考情分析!
南京农业大学信息科技学院可追溯至1981年成立的计算中心和1985年筹建的农业图书情报专业。1987年设立了农业图书情报系,1993 年农业图书情报系更名为信息管理系,本科专业名称也于1999年更名为信息管理与信息系统专业。1994年计算中心开始招收计算机应用专…...

利用java8 的 CompletableFuture 优化 Flink 程序,性能提升 50%
你好,我是 shengjk1,多年大厂经验,努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注!你会有如下收益: 了解大厂经验拥有和大厂相匹配的技术等 希望看什么,评论或者私信告诉我! 文章目录 一…...

香橙派 AIpro综合体验及AI样例运行
香橙派 AIpro综合体验及AI样例运行 环境: 香橙派版本: AIpro(8TOPSINT8) OS : Ubuntu 22.04.3 LTS(GNU/Linux 5.10.0 aarch64) (2024-03-18) 远程服务端1:OpenSSH 8.9p1 远程服务端2:TightVNC Server 1.3.10 远程客户端…...

通过域名接口申请免费的ssl多域名证书
来此加密已顺利接入阿里云的域名接口,用户只需一键调用,便可轻松完成域名验证,从而更高效地申请证书。接下来,让我们详细解读一下整个操作过程。 来此加密官网 免费申请SSL证书 免费SSL多域名证书,泛域名证书。 首先&a…...

【JAVA WEB实用与优化技巧】如何自己封装一个自定义UI的Swagger组件,包含Swagger如何处理JWT无状态鉴权自动TOKEN获取
目录 一、Swagger 简介1. 什么是 Swagger?2. 如何使用 Swagger3. Springboot 中swagger的使用示例1. maven 引入安装2. java配置 二、Swagger UI存在的缺点1.不够方便直观2.请求的参数没有缓存3.不够美观4.如果是JWT 无状态登录,Swagger使用起来就没有那…...

理解大语言模型(二)——从零开始实现GPT-2
相关说明 这篇文章的大部分内容参考自我的新书《解构大语言模型:从线性回归到通用人工智能》,欢迎有兴趣的读者多多支持。 本文涉及到的代码链接如下:regression2chatgpt/ch11_llm/char_gpt.ipynb1 本文将讨论如何利用PyTorch从零开始搭建G…...
SSH远程登录时常见问题解决
SSH时出现WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! 问题解决——SSH时出现WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! 翻译过来就是 警告:远程主机标识已更改! 此报错是由于远程的…...

工业级3D开发引擎HOOPS:创新与效率的融合!
在当今这个技术日新月异的时代,3D技术已成为推动各行各业发展的重要力量。从工程设计到游戏开发,从虚拟现实到增强现实,3D技术的应用无处不在,它极大地丰富了我们的生活和工作。而在这样的背景下,HOOPS作为一个强大的3…...

IDEA创建Spring Boot项目
1 打开新建项目界面 如图1,打开IDEA,点击菜单栏的File->New->Project,打开新建项目界面。 图1 新建项目 2 填写项目信息 在新建项目界面点击左侧工具栏的Spring Initializr选项,进行Spring Boot项目信息的填写ÿ…...

mysql实战——xtrabackup全量备份/增量备份及恢复
一、测试前准备 mysql数据库 端口3306数据文件目录 /data/mysql/3306/data 安装目录/usr/lcoal/mysql配置文件/etc/my.cnf 创建数据库 testXtra 创建备份目录 备份目录/data/backup/备份恢复数据文件目录/data/mysql/3307/data备份恢复配置文件/etc/my_3307.cnf 二、开始…...

全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...

用docker来安装部署freeswitch记录
今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

在WSL2的Ubuntu镜像中安装Docker
Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

【Linux】Linux 系统默认的目录及作用说明
博主介绍:✌全网粉丝23W,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...

解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用
在工业制造领域,无损检测(NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统,以非接触式光学麦克风技术为核心,打破传统检测瓶颈,为半导体、航空航天、汽车制造等行业提供了高灵敏…...
Python常用模块:time、os、shutil与flask初探
一、Flask初探 & PyCharm终端配置 目的: 快速搭建小型Web服务器以提供数据。 工具: 第三方Web框架 Flask (需 pip install flask 安装)。 安装 Flask: 建议: 使用 PyCharm 内置的 Terminal (模拟命令行) 进行安装,避免频繁切换。 PyCharm Terminal 配置建议: 打开 Py…...

基于stm32F10x 系列微控制器的智能电子琴(附完整项目源码、详细接线及讲解视频)
注:文章末尾网盘链接中自取成品使用演示视频、项目源码、项目文档 所用硬件:STM32F103C8T6、无源蜂鸣器、44矩阵键盘、flash存储模块、OLED显示屏、RGB三色灯、面包板、杜邦线、usb转ttl串口 stm32f103c8t6 面包板 …...

二叉树-144.二叉树的前序遍历-力扣(LeetCode)
一、题目解析 对于递归方法的前序遍历十分简单,但对于一位合格的程序猿而言,需要掌握将递归转化为非递归的能力,毕竟递归调用的时候会调用大量的栈帧,存在栈溢出风险。 二、算法原理 递归调用本质是系统建立栈帧,而非…...