MySQL数据库——数据库的基本操作
目录
三、数据库的基本操作
1.数据库中库的操作
①创建数据库
②字符集和校验规则
③操纵数据库
④备份与恢复
2.数据库中表的操作
①创建表
②查看表
1> 查看表位于的数据库
2>查看所有表
3>查看表中的数据
4>查看创建表的时候的详细信息
③修改表
1>修改表的名字
2>修改表的内容,插入数据
3>修改表的Type属性
4>修改表的Field属性
5>删除表中某一列
④删除表
三、数据库的基本操作
1.数据库中库的操作
①创建数据库
CREATE DATABASE database_name; -- 最基本的写法CREATE [IF NOT EXISTS] DATABASE data
CHARACTER SET 'utf8mb4' -- 指定字符集
COLLATE 'utf8mb4_unicode_ci'; -- 指定校验规则[IF NOT EXISTS] -- 可选项,表示如果不存在就创建
说明:当我们创建数据库没有指定字符集和校验规则时
系统使用默认字符集:u8
校验规则是:utf8_general_ci创建一个使用utf8字符集的db2数据库
create database db2 charset=utf8;
创建一个使用utf8字符集,并带校对规则的db3数据库。
create database db3 charset=utf8 collate utf8_general_ci;
②字符集和校验规则
-- 查看系统默认字符集以及校验规则
show variables like 'character_set_database';
show variables like 'collation_database';-- 查看数据库支持的字符集
show charset;-- 查看数据库支持的字符集校验规则
show collation;
校验规则对数据库的影响:
- 使用
utf8_general_ci
校验规则
mysql> create database test1 collate utf8_general_ci;
Query OK, 1 row affected (0.00 sec)mysql> use test1;
Database changed
mysql> create table person(name varchar(20));
Query OK, 0 rows affected (0.01 sec)mysql> insert into person values('a');
Query OK, 1 row affected (0.00 sec)mysql> insert into person values('A');
Query OK, 1 row affected (0.00 sec)mysql> insert into person values('b');
Query OK, 1 row affected (0.01 sec)mysql> insert into person values('B');
Query OK, 1 row affected (0.01 sec)
- 使用
utf8_bin
校验规则
mysql> create database test2 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)mysql> use test2;
Database changed
mysql> create table person(name varchar(20));
Query OK, 0 rows affected (0.02 sec)mysql> insert into person values('a');
Query OK, 1 row affected (0.00 sec)mysql> insert into person values('A');
Query OK, 1 row affected (0.00 sec)mysql> insert into person values('b');
Query OK, 1 row affected (0.01 sec)mysql> insert into person values('B');
Query OK, 1 row affected (0.00 sec)
- 查询
-- utf8_general_ci
mysql> use test1;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -ADatabase changed
mysql> select * from person where name='a';
+------+
| name |
+------+
| a |
| A |
+------+
2 rows in set (0.00 sec)-- utf8_bin
mysql> use test2;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -ADatabase changed
mysql> select * from person where name='a';
+------+
| name |
+------+
| a |
+------+
1 row in set (0.00 sec)
- 结果排序
-- utf8_general_ci
mysql> use test1;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -ADatabase changed
mysql> select * from person order by name;
+------+
| name |
+------+
| a |
| A |
| b |
| B |
+------+
4 rows in set (0.00 sec)-- utf8_bin
mysql> use test2;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -ADatabase changed
mysql> select * from person order by name;
+------+
| name |
+------+
| A |
| B |
| a |
| b |
+------+
4 rows in set (0.00 sec)
-- utf8_general_ci 不区分大小写
-- utf8_bin 区分大小写
不同的校验规则在进行数据库操作的时候会产生不同的结果
③操纵数据库
-- 查看数据库
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| bookstore |
| helloworld |
| mysql |
| performance_schema |
| sys |
| test1 |
| test2 |
+--------------------+
8 rows in set (0.00 sec)-- 显示创建数据库语句
mysql> show create database test1;
+----------+----------------------------------------------------------------+
| Database | Create Database |
+----------+----------------------------------------------------------------+
| test1 | CREATE DATABASE `test1` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+----------------------------------------------------------------+
1 row in set (0.00 sec)-- 修改数据库,将 mytest 数据库字符集改成 gbk
mysql> alter database test1 charset=gbk;
Query OK, 1 row affected (0.00 sec)mysql> show create database test1;
+----------+---------------------------------------------------------------+
| Database | Create Database |
+----------+---------------------------------------------------------------+
| test1 | CREATE DATABASE `test1` /*!40100 DEFAULT CHARACTER SET gbk */ |
+----------+---------------------------------------------------------------+
1 row in set (0.00 sec)-- 删除数据库
mysql> DROP database test1;
Query OK, 1 row affected (0.01 sec)
④备份与恢复
1. 备份
mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径-- 示例:将mytest库备份到文件(退出连接)
mysqldump -P3306 -u root -p123456 -B mytest > D:/mytest.sql
-- 这时,可以打开看看 mytest.sql 文件里的内容,其实把我们整个创建数据库,建表,导入数据的语句
都装载这个文件中。
2. 还原
source 备份数据库的路径
mysql> source D:/mysql-5.7.22/mytest.sql;
3. 备份一张表
mysqldump -u root -p 数据库名 表名1 表名2 > D:/mytest.sql
4. 同时备份多个数据库
mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径
如果备份一个数据库时,没有带上-B参数,在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用source
来还原。
5. 查看数据库连接情况
mysql> show processlist;
+----+------+-----------+------+---------+------+----------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+-----------+------+---------+------+----------+------------------+
| 15 | root | localhost | NULL | Query | 0 | starting | show processlist |
+----+------+-----------+------+---------+------+----------+------------------+
1 row in set (0.00 sec)
2.数据库中表的操作
①创建表
mysql> create database user_db;
Query OK, 1 row affected (0.00 sec)mysql> use user_db;
Database changed-- 两张表使用不同的存储引擎,user1使用MyIsam,user2使用InnoDB
mysql> create table user1(-> id int,-> name varchar(20) comment '用户名',-> password char(32) comment '用户密码',-> birthday date comment '用户生日'-> )character set utf8 collate utf8_general_ci engine MyIsam;
Query OK, 0 rows affected (0.00 sec)mysql> create table user2(-> id int,-> name varchar(20) comment '用户名',-> password char(32) comment '用户密码',-> birthday date comment '用户生日'-> )character set utf8 collate utf8_general_ci engine InnoDB;
Query OK, 0 rows affected (0.01 sec)
因为使用不同的存储引擎,所以表结构不同
如果直接创建而不制定存储引擎:
mysql> create table user3(name char(32));
Query OK, 0 rows affected (0.02 sec)
因为在配置mysql的时候配置了默认的存储引擎(vim /etc/my.cnf
查看配置)
②查看表
1> 查看表位于的数据库
-- 查看当前位于的数据库
mysql> select database();
+------------+
| database() |
+------------+
| user_db |
+------------+
1 row in set (0.00 sec)
2>查看所有表
-- 查看所有表
mysql> show tables;
+-------------------+
| Tables_in_user_db |
+-------------------+
| user1 |
| user2 |
| user3 |
+-------------------+
3 rows in set (0.00 sec)
3>查看表中的数据
-- 查看表中的数据
mysql> desc user1;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
| password | char(32) | YES | | NULL | |
| birthday | date | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)mysql> desc user2;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
| password | char(32) | YES | | NULL | |
| birthday | date | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)mysql> desc user3;
+-------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| name | char(32) | YES | | NULL | |
+-------+----------+------+-----+---------+-------+
1 row in set (0.00 sec)
4>查看创建表的时候的详细信息
-- 查看创建表的时候的详细信息
mysql> show create table user1 \G
*************************** 1. row ***************************Table: user1
Create Table: CREATE TABLE `user1` (`id` int(11) DEFAULT NULL,`name` varchar(20) DEFAULT NULL COMMENT '用户名',`password` char(32) DEFAULT NULL COMMENT '用户密码',`birthday` date DEFAULT NULL COMMENT '用户生日'
) ENGINE=MyISAM DEFAULT CHARSET=utf8
1 row in set (0.00 sec)
③修改表
1>修改表的名字
-- 显示当前表信息
mysql> desc user1;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
| password | char(32) | YES | | NULL | |
| birthday | date | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)-- 更改表的名字
mysql> alter table user1 rename to user;
Query OK, 0 rows affected (0.00 sec)-- 显示更改后的表的名字
mysql> show tables;
+-------------------+
| Tables_in_user_db |
+-------------------+
| user |
+-------------------+
1 row in set (0.00 sec)
2>修改表的内容,插入数据
-- 显示表的信息
mysql> desc user;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
| password | char(32) | YES | | NULL | |
| birthday | date | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)-- 向表中插入第一条数据
mysql> insert into user values(1,'张三','12345','2010-10-1');
Query OK, 1 row affected (0.00 sec)-- 向表中插入第二条数据
mysql> insert into user values(1,'李四','23456','2015-1-1');
Query OK, 1 row affected (0.00 sec)-- 查询表中所有内容
mysql> select * from user;
+------+--------+----------+------------+
| id | name | password | birthday |
+------+--------+----------+------------+
| 1 | 张三 | 12345 | 2010-10-01 |
| 1 | 李四 | 23456 | 2015-01-01 |
+------+--------+----------+------------+
2 rows in set (0.00 sec)-- 新增一列,且在birthday一列之后
mysql> alter table user add image_path varchar(128) comment '用户的头像路径' after birthday;
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0mysql> select * from user;
+------+--------+----------+------------+------------+
| id | name | password | birthday | image_path |
+------+--------+----------+------------+------------+
| 1 | 张三 | 12345 | 2010-10-01 | NULL |
| 1 | 李四 | 23456 | 2015-01-01 | NULL |
+------+--------+----------+------------+------------+
2 rows in set (0.00 sec)
3>修改表的Type属性
-- 当前表的属性
mysql> desc user;
+------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
| password | char(32) | YES | | NULL | |
| birthday | date | YES | | NULL | |
| image_path | varchar(128) | YES | | NULL | |
+------------+--------------+------+-----+---------+-------+
5 rows in set (0.00 sec)-- 修改某一属性,如name的Type
mysql> alter table user modify name varchar(60);
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0-- 查看修改后的表的属性
mysql> desc user;
+------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(60) | YES | | NULL | |
| password | char(32) | YES | | NULL | |
| birthday | date | YES | | NULL | |
| image_path | varchar(128) | YES | | NULL | |
+------------+--------------+------+-----+---------+-------+
5 rows in set (0.00 sec)
4>修改表的Field属性
-- 当前表的属性
mysql> desc user;
+------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(60) | YES | | NULL | |
| birthday | date | YES | | NULL | |
| image_path | varchar(128) | YES | | NULL | |
+------------+--------------+------+-----+---------+-------+
4 rows in set (0.00 sec)-- 修改某一属性,如name改为xingming
mysql> alter table user change name xingming varchar(60) DEFAULT NULL;
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0-- 查看修改后的表的属性
mysql> desc user;
+------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| xingming | varchar(60) | YES | | NULL | |
| birthday | date | YES | | NULL | |
| image_path | varchar(128) | YES | | NULL | |
+------------+--------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
5>删除表中某一列
-- 查看当前表的属性
mysql> desc user;
+------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(60) | YES | | NULL | |
| password | char(32) | YES | | NULL | |
| birthday | date | YES | | NULL | |
| image_path | varchar(128) | YES | | NULL | |
+------------+--------------+------+-----+---------+-------+
5 rows in set (0.00 sec)-- 查看当前表的内容
mysql> select * from user;
+------+--------+----------+------------+------------+
| id | name | password | birthday | image_path |
+------+--------+----------+------------+------------+
| 1 | 张三 | 12345 | 2010-10-01 | NULL |
| 1 | 李四 | 23456 | 2015-01-01 | NULL |
+------+--------+----------+------------+------------+
2 rows in set (0.00 sec)-- 修改表,删除其中的password列
mysql> alter table user drop password;
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0-- 查看修改后的表的属性
mysql> desc user;
+------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(60) | YES | | NULL | |
| birthday | date | YES | | NULL | |
| image_path | varchar(128) | YES | | NULL | |
+------------+--------------+------+-----+---------+-------+
4 rows in set (0.00 sec)-- 查看修改后的表的内容
mysql> select * from user;
+------+--------+------------+------------+
| id | name | birthday | image_path |
+------+--------+------------+------------+
| 1 | 张三 | 2010-10-01 | NULL |
| 1 | 李四 | 2015-01-01 | NULL |
+------+--------+------------+------------+
2 rows in set (0.00 sec)
④删除表
-- 显示所有的表
mysql> show tables;
+-------------------+
| Tables_in_user_db |
+-------------------+
| user |
+-------------------+
1 row in set (0.00 sec)-- 删除表
mysql> drop table user;
Query OK, 0 rows affected (0.00 sec)-- 显示更改后所有的表
mysql> show tables;
Empty set (0.00 sec)
相关文章:

MySQL数据库——数据库的基本操作
目录 三、数据库的基本操作 1.数据库中库的操作 ①创建数据库 ②字符集和校验规则 ③操纵数据库 ④备份与恢复 2.数据库中表的操作 ①创建表 ②查看表 1> 查看表位于的数据库 2>查看所有表 3>查看表中的数据 4>查看创建表的时候的详细信息 ③修改表 …...

SQL数据库语句练习
1、mysql常用的数据类型是_整数(int)__、_小数(decimal)__、_字符串(varchar)__、_日期时间(datetime)___。 2、mysql的约束有__主键(primary key)_、_非空&…...

【Python】常用的pdf提取库介绍对比
提取PDF内容的Python库有多种选择,每个库都有其独特的优缺点。以下是一些常用的库以及它们的优缺点和示例代码: pdfplumberPyMuPDF (fitz)PyPDF2PDFMinerCamelot 1. pdfplumber 优点: 易于使用,提供简单直观的API。能提取文本…...

sbatch提交并行作业 运行python程序 指定输入参数从1到100
#!/bin/bash #SBATCH --job-namemy_python_job #SBATCH --outputmy_python_job_%j.out #SBATCH --errormy_python_job_%j.err #SBATCH --ntasks100# 载入所需模块 # module load python/3.8.5# 执行Python脚本并传递任务ID作为参数 for i in {1..100}; dosrun python my_script…...

OD C卷 - 中庸行者
中庸行者 (200) 给一个m*n的整数矩阵作为地图,矩阵数值为地形的高度,选择图中任意一点作为起点,向左右上下四个方向移动: 只能上坡、下坡,不能走相同高度的点;不允许连续上坡 或者连…...

最新CSS3横向菜单的实现
横向菜单 原始代码: <nav class"list1"><ul><li><a href"#">Shirts</a></li><li><a href"#">Pants</a></li><li><a href"#">Dresses</a>…...

(2024,LlamaGen,Llama,自回归下一token预测,模型扩展)自回归模型优于扩散:Llama 用于可扩展图像生成
Autoregressive Model Beats Diffusion: Llama for Scalable Image Generation 目录 0. 摘要 1. 引言 2. 自回归模型在图像生成中的应用 2.1 概述 2.2 图像 tokenizer 2.3 自回归模型生成图像 2.4 规模扩展 2.5 服务 3. 实验 5. 结论 0. 摘要 我们介绍 LlamaGen&…...

重新安装操作系统的软件都有哪些?
重新安装操作系统关键步骤 重新安装操作系统通常涉及到几个关键步骤:创建可启动媒体、备份现有数据、安装操作系统、以及系统初始化和配置。以下是一些常用工具和软件,它们可以帮助你完成这些步骤: 创建可启动媒体 Rufus:用于W…...

深圳水务展|2025深圳国际水务科技博览会
2025深圳国际水务科技博览会 展会主题: 新质生产力赋能水务产业高质量发展 展会时间:2025年7月24-26日 展会地点:深圳会展中心(福田) 主办单位: 广东省水利学会 深圳市水务学会 协办单位: 中国水利…...

OpenAI not returning a result?
题意:OpenAI 没有返回结果吗? 问题背景: Im trying to use the OpenAI beta but I cant seem to get a result. Im accessing the API via an NPM package (openai-api - npm). I have that setup and working but when I make a request th…...

[Windows]_[初级]_[GetVersionEx获取系统版本错误的原因]
场景 开发WTL/ATL/Win32程序时, 有时候需要获取系统版本号,以便判断用户在使用软件时的系统。在某一天突然发现获取的系统版本号是错的, 一直是版本号6.2.x,什么情况? 说明 如果软件没有针对Win8.1或Win10以上的系统做兼容处理,返回的是Wi…...

2024,Java开发在中国市场还有发展前景吗?
随着2024年的到来,Java作为一种经典而强大的编程语言,依然在中国的软件开发市场中扮演着重要角色。然而,许多人对Java的未来发展前景持有不同的看法。让我们来探讨一下当前情况和未来的走向。 Java程序员真的过剩了吗? 2023年, 各…...

gcc: string.c_str gcc-8.5的一个问题
https://en.cppreference.com/w/cpp/string/basic_string/c_str https://sourceforge.net/p/cppcheck/wiki/ListOfChecks/ common mistakes when using string::c_str()string的这个成员是返回c类型的一个字符数组指针。但是这个指针所对应的地址有赖于string对象的生命周期。所…...

一道笔试题 - 无重复字符的最长子串
老生常谈的一道题,常见并 文章目录 描述预期结果Java代码 描述 给定一个字符串 s ,请你找出其中不含有重复字符的最长子串的长度。 预期结果 Java代码 import java.util.HashSet; import java.util.Set;public class Demo2 {public static void main(S…...

C#反射的NullReferenceException
背景 xml文件中有些元素的属性被删除,导致文件无法被读取(C#)。 调试之后发现,因为属性被删除,读进来会保持默认值null,在后续的反射中如果用这个null给字符串属性赋值,会抛异常。 另外发现前面…...

100道C/C++面试题
1. static的作用2. 引用与指针的区别3. .h头文件中的ifndef/define/endif 的作用4 #include<file.h>与#include"file.h"的区别?5 描述实时系统的基本特性6 全局变量和局部变量在内存中是否有区别?如果有,是什么区别?7 什么是平衡二叉树?8 堆栈溢…...

Python(模块)
模块编写完成就可以被其他模块进行调用并使用被调用模块的功能。 import导入方式的语法结构: import模块名称【as别名】 from……import导入方式的语法结构: from模块名称,import变量/函数/类/*(*是通配符) impor…...

【八股文】Java基础篇
1. 和 equals的区别是什么? 判断两个变量或者实例是否都指向同一内存空间的值(不仅值相同,地址也要相同)equals是判断两个变量执行的内存空间的值是否相同(值相同,地址可以不同),所…...

python rsa如何安装
Python中的一些模块是用一个包管理器来发布的,RSA模块就是,所以首先需要安装setup tools工具。 1、下载文件:ez_setup.py 2、安装: sudo python ez_setup.py 3、下载RSA安装包:rsa-3.1.1-py2.7.egg 4、安装RSA&…...

P10289 [GESP样题 八级] 小杨的旅游
Description 给定一棵 n n n 个点的树,每条边权值均为 1 1 1,树上有 k k k 个关键点,关键点们在 0 0 0 的时间内相互可达, q q q 次询问,求 s → t s\to t s→t 的最短路。 Analysis 考虑暴力建图,…...

网络编程 ----------- 4、组播与广播
1、广播 broadcast 广播是指向同一个网络中所有的主机传输数据只有传输层协议为 UDP协议时,才支持广播 TCP是端对端,广播是一对多 ,所以无法符合其要求。 1)广播地址 广播地址的计算: 子网掩码…...

最短路径算法:Bellman-Ford算法
引言 在图论中,Bellman-Ford算法是一种用于计算单源最短路径的算法。与Dijkstra算法不同,Bellman-Ford算法可以处理带有负权边的图,并且可以检测图中是否存在负权环。本文将详细介绍Bellman-Ford算法的定义、步骤及其实现。 Bellman-Ford算…...

爬虫:xpath模块及昵图网实例
xpath模块 from lxml import etreestr1 """ <div><ul><li class"item-0"><a href"link1.html">first item</a></li><li class"item-1"><a href"link2.html">second…...

高级java每日一道面试题-2024年8月03日-web篇-forward和redirect有什么区别?
如果有遗漏,评论区告诉我进行补充 面试官: forward和redirect有什么区别? 我回答: 在Java Web开发中,forward和redirect是Servlet容器提供的两种用于页面跳转的技术。它们的主要区别在于客户端感知的方式、URL地址的变化、请求对象的共享等方面。下面详细介绍两…...

如何让你的网站拥有更好的体验
在HTML中,属性是用于提供关于HTML元素的额外信息。接下来我们将讲解13个可以让用户拥有更好体验的HTML属性。 Accept 属性 我们可以在<input>元素(仅适用于文件类型)中使用accept属性来指定服务器可以接受的文件类型。 <input ty…...

opencascade AIS_TypeFilter AIS_XRTrackedDevice源码学习
opencascade AIS_TypeFilter 前言 通过它们的类型选择交互对象。该过滤器会对本地上下文中的每个交互对象提出问题, 以确定它是否具有非空的所有者,并且如果是,则检查它是否是所需类型。 如果对象在每种情况下都返回 true,则保留…...

使用Spring AOP监控指定方法执行时间
文章目录 一、加入pom依赖二、切面类和注解三、执行方法 一、加入pom依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId></dependency>二、切面类和注解 import java.lang.…...

最新CSS3纵向菜单的实现
纵向菜单 通过下面例子,你会知道把列表转换成菜单的关键技术 a中的#是URL的占位符可以点击,真正用途中写实际URL <nav class"list1"><ul><li><a href"#">Alternative</a></li><li><…...

GooLeNet模型搭建
一、model import torch from torch import nn from torchsummary import summaryclass Inception(nn.Module):def __init__(self, in_channels, c1, c2 , c3 , c4):super(Inception, self).__init__()self.ReLU nn.ReLU()#路线1:1x1卷积self.p1_1 nn.Conv2d(in_channels i…...

使用ThreadLocal来存取单线程内的数据
一.什么是ThreadLocal? ThreadLocal,即线程本地变量。如果你创建了一个 ThreadLocal变量,那么访问这个变量的每个线程都会有这个变量的一个本地拷贝,多个线程操作这个变量的时候,实际是在操作自己本地内存里面的变量&…...