【MySQL】MySQL 使用全教程
MySQL 使用全教程
介绍
MySQL 是一种广泛使用的开源关系型数据库管理系统(Relational Database Management System),它基于 Structured Query Language(SQL)进行数据管理,允许用户存储、检索、更新和删除数据库中的数据。通过提供高性能、可扩展性以及可靠性,MySQL 被广泛应用于各种规模的数据驱动网站和应用,支持多线程、多用户操作,并能够处理大型数据库,是构建动态网站和应用程序的重要后端组件。
一个关系型数据库由一个或数个表格组成,如下所示的一个表格
name ▼ 键 ▼ 列(col)
┌┈┈┈┈┬┈┈┈┈┈┈┈┈┬┈┈┈┈┈┈┬┈┈┈┈┈┈┈┐
┆ id ┆ name ┆ uid ┆ level ┆ ◀ 表头header
├┈┈┈┈┼┈┈┈┈┈┈┈┈┤┈┈┈┈┈┈┤┈┈┈┈┈┈┈┤
┆ 1 ┆ mysql ┆ 0 ┆ 3 ┆
├┈┈┈┈┼┈┈┈┈┈┈┈┈┤┈┈┈┈┈┈┤┈┈┈┈┈┈┈┤
┆ 2 ┆ redis ┆ 12 ┆ 1 ┆ ◀ 行 row
└┈┈┈┈┴┈┈┈┈┈┈┈┈┴┈┈┈┈┈┈┴┈┈┈┈┈┈┈┘
redis ▲ 值
表头(header)
每一列的名称列(col)
具有相同数据类型的数据的集合行(row)
每一行用来描述某个人/物的具体信息值(value)
行的具体信息,每个值与该列数据类型相同键(key)
用来识别某个特定的人/物的方法,有唯一性
登录 MySQL
# 默认用户名<root>,-p 是密码,
# ⚠️参数后面不需要空格
mysql -h 127.0.0.1 -u <用户名> -p<密码>
mysql -D 数据库名 -h 主机名 -u 用户名 -p
mysql -h <host> -P <端口号> -u <user> -p [db_name]
mysql -h <host> -u <user> -p [db_name]
常用的
数据库 Database
:- | :- |
---|---|
CREATE DATABASE db ; | 创建 数据库 |
SHOW DATABASES; | 列出 数据库 |
USE db; | 切换 到数据库 |
CONNECT db ; | 切换 到数据库 |
DROP DATABASE db; | 删除 数据库 |
表 Table
:- | :- |
---|---|
SHOW TABLES; | 列出当前数据库的表 |
SHOW FIELDS FROM t; | 表的列表字段 |
DESC t; | 显示表格结构 |
SHOW CREATE TABLE t; | 显示创建表sql |
TRUNCATE TABLE t; | 删除表中的所有数据 |
DROP TABLE t; | 删除表格 |
Proccess
:- | :- |
---|---|
show processlist; | 列出进程 |
kill pid; | 杀死进程 |
查看 MySQL 信息
# 显示当前mysql的version的各种信息
mysql> status;
# 显示当前mysql的version信息
mysql> select version();
# 查看 MySQL 端口号
mysql> show global variables like 'port';
退出 MySQL 会话
mysql> exit
退出 quit;
或 \q;
一样的效果
备份
创建备份
mysqldump -u user -p db_name > db.sql
导出不带架构的数据库
mysqldump -u user -p db_name --no-data=true --add-drop-table=false > db.sql
恢复备份
mysql -u user -p db_name < db.sql
MySQL 示例
管理表格
创建一个包含三列的新表
CREATE TABLE t (
id INT,
name VARCHAR DEFAULT NOT NULL,
price INT DEFAULT 0
PRIMARY KEY(id)
);
从数据库中删除表 t
DROP TABLE t ;
向表中添加新列
ALTER TABLE t ADD column;
从表中删除列 c
ALTER TABLE t DROP COLUMN c ;
添加约束
ALTER TABLE t ADD constraint;
删除约束
ALTER TABLE t DROP constraint;
将表从 t1 重命名为 t2
ALTER TABLE t1 RENAME TO t2;
将列 c1 重命名为 c2
ALTER TABLE t1 CHANGE c1 c2 datatype;
ALTER TABLE table_name RENAME COLUMN c1 TO c2;
将列 c1 的数据类型改为 datatype
ALTER TABLE t1 MODIFY c1 datatype;
删除表中的所有数据
TRUNCATE TABLE t;
从表中查询数据
从表中查询列 c1、c2 中的数据
SELECT c1, c2 FROM t
查询表 t 中的所有行和列
SELECT * FROM t
查询数据并使用条件筛选行
SELECT c1, c2 FROM t
WHERE condition
查询表中的不同行
SELECT DISTINCT c1 FROM t
WHERE condition
按升序或降序对结果集排序
SELECT c1, c2 FROM t
ORDER BY c1 ASC [DESC]
跳过行的偏移并返回下 n 行
SELECT c1, c2 FROM t
ORDER BY c1
LIMIT n OFFSET offset
使用聚合函数对行进行分组
SELECT c1, aggregate(c2)
FROM t
GROUP BY c1
使用 HAVING 子句筛选组
SELECT c1, aggregate(c2)
FROM t
GROUP BY c1
HAVING condition
从多个表查询
内部连接 t1 和 t2
SELECT c1, c2
FROM t1
INNER JOIN t2 ON condition
左连接t1和t1
SELECT c1, c2
FROM t1
LEFT JOIN t2 ON condition
右连接 t1 和 t2
SELECT c1, c2
FROM t1
RIGHT JOIN t2 ON condition
执行完全外部连接
SELECT c1, c2
FROM t1
FULL OUTER JOIN t2 ON condition
生成表中行的笛卡尔积
SELECT c1, c2
FROM t1
CROSS JOIN t2
执行交叉连接的另一种方法
SELECT c1, c2
FROM t1, t2
使用 INNER Join 子句将 t1 连接到自身
SELECT c1, c2
FROM t1 A
INNER JOIN t1 B ON condition
使用 SQL 运算符,合并两个查询中的行
SELECT c1, c2 FROM t1
UNION [ALL]
SELECT c1, c2 FROM t2
返回两个查询的交集
SELECT c1, c2 FROM t1
INTERSECT
SELECT c1, c2 FROM t2
从另一个结果集中减去一个结果集
SELECT c1, c2 FROM t1
MINUS
SELECT c1, c2 FROM t2
使用模式匹配 % 查询行_
SELECT c1, c2 FROM t1
WHERE c1 [NOT] LIKE pattern
查询列表中的行
SELECT c1, c2 FROM t
WHERE c1 [NOT] IN value_list
查询两个值之间的行
SELECT c1, c2 FROM t
WHERE c1 BETWEEN low AND high
检查表中的值是否为 NULL
SELECT c1, c2 FROM t
WHERE c1 IS [NOT] NULL
使用 SQL 约束
将 c1 和 c2 设置为主键
CREATE TABLE t(
c1 INT, c2 INT, c3 VARCHAR,
PRIMARY KEY (c1,c2)
);
将 c2 列设置为外键
CREATE TABLE t1(
c1 INT PRIMARY KEY,
c2 INT,
FOREIGN KEY (c2) REFERENCES t2(c2)
);
使列 c1 和 c2 中的值唯一
CREATE TABLE t(
c1 INT, c2 INT,
UNIQUE(c1,c2)
);
确保 c1>0 和 c1>=c2 中的值
CREATE TABLE t(
c1 INT, c2 INT,
CHECK(c1> 0 AND c1 >= c2)
);
c2 列中的设置值不为 NULL
CREATE TABLE t(
c1 INT PRIMARY KEY,
c2 VARCHAR NOT NULL
);
修改数据
在表格中插入一行
INSERT INTO t(column_list)
VALUES(value_list);
在表格中插入多行
INSERT INTO t(column_list)
VALUES (value_list),
(value_list), …;
将行从 t2 插入 t1
INSERT INTO t1(column_list)
SELECT column_list
FROM t2;
更新列 c1 中所有行的新值
UPDATE t
SET c1 = new_value;
更新列 c1、c2 中与条件匹配的值
UPDATE t
SET c1 = new_value,
c2 = new_value
WHERE condition;
删除表中的所有数据
DELETE FROM t;
删除表中的行子集
DELETE FROM t
WHERE condition;
管理视图
创建由 c1 和 c2 组成的新视图
CREATE VIEW v(c1,c2)
AS
SELECT c1, c2
FROM t;
使用选中选项创建新视图
CREATE VIEW v(c1,c2)
AS
SELECT c1, c2
FROM t;
WITH [CASCADED | LOCAL] CHECK OPTION;
创建递归视图
CREATE RECURSIVE VIEW v
AS
select-statement -- anchor part
UNION [ALL]
select-statement; -- recursive part
创建临时视图
CREATE TEMPORARY VIEW v
AS
SELECT c1, c2
FROM t;
删除视图
DROP VIEW view_name;
管理触发器
创建或修改触发器
CREATE OR MODIFY TRIGGER trigger_name
WHEN EVENT
ON table_name TRIGGER_TYPE
EXECUTE stored_procedure;
WHEN
:- | :- |
---|---|
BEFORE | 在事件发生前调用 |
AFTER | 事件发生后调用 |
EVENT
:- | :- |
---|---|
INSERT | 为INSERT调用 |
UPDATE | 调用UPDATE |
DELETE | 调用DELETE |
TRIGGER_TYPE
:- | :- |
---|---|
FOR EACH ROW | - |
FOR EACH STATEMENT | - |
管理索引
在表 t 的 c1 和 c2 上创建索引
CREATE INDEX idx_name
ON t(c1,c2);
在表 t 的 c3、c4 上创建唯一索引
CREATE UNIQUE INDEX idx_name
ON t(c3,c4)
删除索引
DROP INDEX idx_name ON t;
MySQL 数据类型
Strings
- | - |
---|---|
CHAR | String (0 - 255) |
VARCHAR | String (0 - 255) |
TINYTEXT | String (0 - 255) |
TEXT | String (0 - 65535) |
BLOB | String (0 - 65535) |
MEDIUMTEXT | String (0 - 16777215) |
MEDIUMBLOB | String (0 - 16777215) |
LONGTEXT | String (0 - 4294967295) |
LONGBLOB | String (0 - 4294967295) |
ENUM | One of preset options |
SET | Selection of preset options |
Date & time
Data Type | Format |
---|---|
DATE | yyyy-MM-dd |
TIME | hh:mm:ss |
DATETIME | yyyy-MM-dd hh:mm:ss |
TIMESTAMP | yyyy-MM-dd hh:mm:ss |
YEAR | yyyy |
Numeric
- | - |
---|---|
TINYINT x | Integer (-128 to 127) |
SMALLINT x | Integer (-32768 to 32767) |
MEDIUMINT x | Integer (-8388608 to 8388607) |
INT x | Integer (-2147483648 to 2147483647) |
BIGINT x | Integer (-9223372036854775808 to 9223372036854775807) |
FLOAT | Decimal (precise to 23 digits) |
DOUBLE | Decimal (24 to 53 digits) |
DECIMAL | "DOUBLE" stored as string |
函数
聚合函数
函数 | 解释 |
---|---|
SUM() | 计算一列值的总和 |
AVG() | 计算一列值的平均值 |
COUNT() | 计算行数,可选择性地忽略NULL值 |
MAX() | 找出一列的最大值 |
MIN() | 找出一列的最小值 |
数学函数
函数 | 解释 | 示例语法 | 结果 |
---|---|---|---|
ABS(x) | 返回数值的绝对值 | ABS(-5) | 5 |
ROUND(x,y) | 四舍五入到指定的小数位数,y为小数位数,默认为0 | ROUND(3.1415,2) | 3.14 |
FLOOR(x) | 向下取整至最接近的整数 | FLOOR(3.7) | 3 |
CEIL(x) | 向上取整至最接近的整数 | CEIL(3.3) | 4 |
SQRT(x) | 返回一个数的平方根 | SQRT(16) | 4 |
MOD(x,y) | 返回x除以y的余数 | MOD(10,3) | 1 |
RAND([seed]) | 返回0到1之间的随机数,可选种子值 | RAND() 或 RAND(123) | 0.345... |
日期和时间函数
函数 | 解释 |
---|---|
NOW() | 返回当前日期和时间 |
CURDATE() | 返回当前日期 |
CURTIME() | 返回当前时间 |
DATE_FORMAT() | 格式化日期时间输出 |
DATEDIFF() | 计算两个日期之间相差的天数 |
STR_TO_DATE() | 将字符串转换为日期格式 |
字符串函数
函数 | 解释 | 示例语法 | 结果 |
---|---|---|---|
CONCAT(s1,s2,...) | 连接两个或更多字符串 | CONCAT('Hello, ','World!') | 'Hello, World!' |
LOWER(str) | 转换为小写 | LOWER('HELLO') | 'hello' |
UPPER(str) | 转换为大写 | UPPER('world') | 'WORLD' |
TRIM(str) | 去除字符串两端空格 | TRIM(' Hello ') | 'Hello' |
LEFT(str,len) | 提取字符串左侧的若干字符 | LEFT('Hello', 3) | 'Hel' |
RIGHT(str,len) | 提取字符串右侧的若干字符 | RIGHT('Hello', 2) | 'lo' |
SUBSTR(str,pos,len) | 提取字符串中的一部分 | SUBSTR('Hello', 2, 3) | 'ell' |
REPLACE(str,from_str,to_str) | 替换字符串中的部分文本 | REPLACE('Hello', 'l', 'L') | 'HeLLo' |
高级函数
函数 | 解释 | 示例语法 | 结果 |
---|---|---|---|
BIN(x) | 返回 x 的二进制编码,x 为十进制数。 | BIN(2) | 10 |
BINARY(s) | 将字符串 s 转换为二进制字符串。 | BINARY 'RUNOOB' | 'RUNOOB' (显示效果,实际存储为二进制) |
CASE | 复合条件函数,根据条件返回不同结果。 | CASE WHEN 1 > 0 THEN '1 > 0' WHEN 2 > 0 THEN '2 > 0' ELSE '3 > 0' END | '1 > 0' |
CAST(x AS type) | 转换数据类型。 | CAST('2017-08-29' AS DATE) | 2017-08-29 |
COALESCE(expr1, expr2, ..., expr_n) | 返回第一个非空表达式的值。 | COALESCE(NULL, NULL, 'runoob.com', NULL, 'google.com') | 'runoob.com' |
CONNECTION_ID() | 返回当前连接的唯一ID。 | CONNECTION_ID() | 4292835 (示例值) |
CONV(x, f1, f2) | 将 f1 进制数转换为 f2 进制数。 | CONV(15, 10, 2) | 1111 |
CONVERT(s USING cs) | 转换字符串 s 的字符集为 cs。 | CHARSET(CONVERT('ABC' USING gbk)) | gbk |
CURRENT_USER() | 返回当前用户。 | CURRENT_USER() | guest@% |
DATABASE() | 返回当前数据库名。 | DATABASE() | runoob |
IF(expr, v1, v2) | 条件表达式,expr 为真则 v1,否则 v2。 | IF(1 > 0, '正确', '错误') | '正确' |
IFNULL(v1, v2) | 如果 v1 不为 NULL,则返回 v1,否则返回 v2。 | IFNULL(NULL, 'Hello Word') | 'Hello Word' |
ISNULL(expression) | 判断表达式是否为 NULL。 | ISNULL(NULL) | 1 |
LAST_INSERT_ID() | 返回最近生成的 AUTO_INCREMENT 值。 | LAST_INSERT_ID() | 6 (示例值) |
NULLIF(expr1, expr2) | 若 expr1 等于 expr2,则返回 NULL,否则返回 expr1。 | NULLIF(25, 25) | NULL |
相关文章:
【MySQL】MySQL 使用全教程
MySQL 使用全教程 介绍 MySQL 是一种广泛使用的开源关系型数据库管理系统(Relational Database Management System),它基于 Structured Query Language(SQL)进行数据管理,允许用户存储、检索、更新和删除数据库中的数据。通过提供…...
油猴脚本-GPT问题导航侧边栏增强版
为 GPT官网和相关网站提供了一个便捷的侧边栏目录,能够自动搜集当前会话页面的问题,展示在侧边栏上,可快速导航到问题的位置。 安装使用地址:https://scriptcat.org/zh-CN/script-show-page/1972 安装前请确保浏览器有油猴,没有…...
Java Lock ConditionObject 总结
前言 相关系列 《Java & Lock & 目录》(持续更新)《Java & Lock & ConditionObject & 源码》(学习过程/多有漏误/仅作参考/不再更新)《Java & Lock & ConditionObject & 总结》(学习…...
模块化主动隔振系统市场规模:2023年全球市场规模大约为220.54百万美元
模块化主动隔振系统是一种用于精密设备和实验装置的隔振解决方案,通过主动控制技术消除振动干扰,提供稳定的环境。目前,随着微纳制造和精密测量技术的发展,对隔振系统的要求越来越高。模块化设计使得系统能够灵活适应不同负载和工…...
SpringAOP:对于同一个切入点,不同切面不同通知的执行顺序
目录 1. 问题描述2. 结论结论1:"对于同一个切入点,同一个切面不同类型的通知的执行顺序"结论2:"对于同一个切入点,不同切面不同类型通知的执行顺序" 3. 测试环境:SpringBoot 2.3.4.RELEASE测试集合…...
unique_ptr初始化
std::unique_ptr 是 C11 引入的智能指针,用于管理动态分配的对象的生命周期。unique_ptr 确保每个动态分配的对象有且仅有一个所有者,当 unique_ptr 超出作用域时,它会自动释放其管理的对象。以下是 std::unique_ptr 的一些常见初始化方法。 …...
HelloCTF [RCE-labs] Level 8 - 文件描述和重定向
开启靶场,打开链接: GET传参cmd system($cmd.">/dev/null 2>&1"); 这行代码将执行命令 $cmd,并且将其标准输出和标准错误输出都重定向到 /dev/null,这意味着无论命令的输出还是可能产生的错误信息都不会显示…...
DEVOPS: 集群伸缩原理
概述 阿里云 K8S 集群的一个重要特性,是集群的节点可以动态的增加或减少有了这个特性,集群才能在计算资源不足的情况下扩容新的节点,同时也可以在资源利用 率降低的时候,释放节点以节省费用理解实现原理,在遇到问题的…...
什么是SMO算法
SMO算法(Sequential Minimal Optimization) 是一种用于求解 支持向量机(SVM) 二次规划对偶问题的优化算法。它由 John Platt 在 1998 年提出,目的是快速解决 SVM 的优化问题,特别是当数据集较大时ÿ…...
MySQL根据.idb数据恢复脚本,做成了EXE可执行文件
文章目录 1.代码2.Main方法打包3.Jar包打成exe可执行文件4.使用(1.)准备一个表结构一样得数据库(2.)打开软件(3.)输入路径 5.恢复成功 本文档只是为了留档方便以后工作运维,或者给同事分享文档内…...
Spring Boot面试题
1.什么是SpringBoot?它的主要特点是什么? Spring Boot 是一个基于 Spring 框架的开发和构建应用程序的工具,它旨在简化 Spring 应用的初始搭建和开发过程。Spring Boot 提供了一种约定优于配置的方式,通过自动配置和默认值&#…...
原生页面引入Webpack打包JS
Webpack简介 概述: Webpack是一个现代JavaScript应用程序的静态模块打包器。它将应用程序中的每个文件视为一个模块,并通过配置规则来解析这些模块之间的依赖关系,最终将其打包成一个或多个浏览器可以执行的文件。动态加载(Code …...
健康之路押注医药零售:毛利率下滑亏损扩大,医疗咨询人次大幅减少
《港湾商业观察》黄懿 2024年9月13日,健康之路股份有限公司(下称“健康之路”)再次递表港交所,建银国际为独家保荐人。健康之路国内运营主体为健康之路(中国)信息技术有限公司和福建健康之路信息技术有限公…...
【人工智能-初级】第7章 聚类算法K-Means:理论讲解与代码示例
文章目录 一、K-Means聚类简介二、K-Means 聚类的工作原理2.1 初始化簇中心2.2 分配簇标签2.3 更新簇中心2.4 迭代重复2.5 K-Means 算法的目标三、K-Means 聚类的优缺点3.1 优点3.2 缺点四、K 值的选择五、Python 实现 K-Means 聚类5.1 导入必要的库5.2 生成数据集并进行可视化…...
HOT 100 技巧题(136/169/75/31/287)
136. 只出现一次的数字 技巧类型题目,通过异或运算实现 169. 多数元素 三种常见解法:1. 哈希2. 排序3. 投票法 75. 颜色分类 单指针 两次遍历:第一次遍历把所有0都交换到前面,记录最后一个0的位置index,第二次遍…...
什么是时间戳?怎么获取?有什么用?
在 JavaScript 中,时间戳通常表示为自 1970 年 1 月 1 日 00:00:00 UTC 以来的毫秒数。我们可以使用 Date 对象来获取当前时间的时间戳,或者将特定的日期转换为时间戳。在JavaScript中,时间戳通常以毫秒为单位表示。 如何获取时间戳 在Java…...
LeetCode:459重复的子字符串
给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。 示例 1: 输入: s "abab" 输出: true 解释: 可由子串 "ab" 重复两次构成。示例 2: 输入: s "aba" 输出: false示例 3: 输入: s "abcabcabcabc" 输…...
【含开题报告+文档+PPT+源码】基于SSM的旅游与自然保护平台开发与实现
开题报告 围场县拥有丰富的自然景观和野生动植物资源,同时面临着旅游业发展和自然保护之间的平衡问题,通过强调自然保护,这个平台可以教育游客如何尊重和保护当地的生态环境。同时,平台还可以提供关于生态保护的信息,…...
【ANTs】医疗影像工具ANTs多种安装方式教程
介绍ANTs的几种简单的安装教程 基于Releases的安装 Github上选择适配自己操作系统的安装包,链接: link 一般使用最新版本。这里官方操作说明,支持Ubuntu、MacOS、CentOS,但是windows有安装包,不知道怎么用。。。 下载后有两个文件夹,bin和lib,bin里面长这样(图示wind…...
想要音频里的人声,怎么把音频里的人声和音乐分开?
在音频处理领域,将音频中的人声和音乐分开是一个常见需求,尤其对于音乐制作、影视后期以及个人娱乐应用来说,这种分离技术显得尤为重要。随着科技的发展,现在已经有多种方法可以实现这一目的。 一、使用专业音频处理软件 市面上有…...
python代码中通过pymobiledevice3访问iOS沙盒目录获取app日志
【背景】 在进行业务操作过程中,即在app上的一些操作,在日志中会有对应的节点,例如,下面是查看设备实时视频过程对应的一些关键节点: 1、TxDeviceAwakeLogicHelper:wakeStart deviceId CxD2BA11000xxxx …...
Spring AOP 使用方法总结
AOP切面编程的最佳应用场景 记录日志性能监控事务管理处理异常数据验证,验证传入参数的正确性(一般不用这个方法做,而是用拦截器) spring提供了以下注解供开发者使用,编写AOP程序 Aspect 申明切面Pointcut 切点&#…...
LeetCode 每日一题 2024/10/21-2024/10/27
记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步 目录 10/21 910. 最小差值 II10/22 3184. 构成整天的下标对数目 I10/23 3185. 构成整天的下标对数目 II10/24 3175. 找到连续赢 K 场比赛的第一位玩家10/25 3180. 执行操作可获得…...
不到1500元的I卡可以玩转3A大作吗?撼与科技Intel Arc A750显卡游戏性能实
一、前言 还记得2022年10月的时候,英特尔发布了Arc A750和A770显卡,和此前所发布的DG1、A380不同,这两张显卡可以说是真正意义上的游戏显卡。不知不觉间,两年已经过去了,在这两年期间,英特尔不仅在积极地打…...
STK与MATLAB互联——仿真导航卫星与地面用户间距离和仰角参数
文章目录 构建GPS星座创建单个PRN的GPS卫星创建GPS星座,并为其添加发射机 北斗星座构建搭建低轨铱星星座构建一颗轨道高度为800km/1000km/1200km的低轨卫星构建一颗轨道高度为800km/1000km/1200km的低轨卫星建立地面站,可见性分析确定地面站坐标分析单颗…...
js面试问题笔记(一)
一.热门js面试 1.简述同步和异步的区别? 同步: 浏览器访问服务器请求,用户看到页面刷新 ,重新发请求,等请求完,页面刷新,新内容出现,用户看到新内容,进行下一步操作 异步: 浏览器访问服务器请求,用户正常操作,浏览器后端进行请求,等请求完,页面不刷新,新内容也会出现,用户看到…...
pip 和 pipx 的主要区别?
特性pippipx用途用于安装Python库或命令行应用程序,可以安装带entry points的库专门用于安装和管理Python命令行工具,每个工具都在隔离的虚拟环境中运行虚拟环境不自动创建虚拟环境,需要手动使用 venv 或 virtualenv 创建自动为每个安装的工具…...
4457M数字示波器
_XLT新利通_ 4457M数字示波器 带宽500MHz到3GHz 4457M系列数字示波器产品,包含4457DM/EM/FM/GM四个产品型号,模拟通道数4、8个,带宽500MHz到3GHz,最高采样率10GSa/s,垂直分辨率8bit,最大存储深度2Gpts。…...
【永中软件-注册/登录安全分析报告】
前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…...
Tomcat作为web的优缺点
文章目录 优点缺点 优点 开源:Tomcat是Apache软件基金会的一个项目,这意味着它是免费且开放源代码的。这为开发者提供了高度的自由度来修改和扩展其功能。 轻量级:与一些全功能的Java EE应用服务器(如IBM WebSphere, Oracle WebL…...
跟网站开发公司签合同主要要点/网站维护费一年多少钱
一、下载mysql压缩包文件。下载地址:http://dev.mysql.com/downloads/mysql/二、压缩包解压安装。可以安装在任意一个系统盘,解压到D盘目录结构:D:\mysql\mysql-5.6.33-winx64。1、配置my.ini文件。在D:\mysql\mysql-5.6.33-winx64\(注意这个…...
做B2C独立网站的话需要做海外仓吗/十大免费软文推广平台
电脑用久了,C盘难免会积累很多无用的文件,致使C盘飘红。老毛桃相信遇到这问题的用户数不胜数,但他们几乎浑身解数也是拿它没办法的。针对这个问题,我们有什么办法呢?那么今天“如何科学清理C盘防止飘红?”就…...
做网站接私单/seox
def get_tags_list(input_file):#统计NER数据集中标签的种类with open(input_file, r, encodingutf-8) as f:tags_list []lines f.readlines()seq_sum 0word_sum 0for line in lines:#对每一行if line.isspace() False:for i,word in enumerate(line):if word.isspace()Tr…...
微博营销案例/seo网站自动推广
刚开始开发项目的时候,我一直都在用火狐,因为它有一个fireBug插件,特别好用(目前已不支持),也不知道什么时候,就一直用起来Chrome浏览器了,可能是因为它有强大的插件作为后盾吧。开发了这么多年,…...
要加强县门户网站的建设管理办法/黑帽seo排名技术
程序员在为某个应用系统编写接入其它应用系统的程序代码的时候,常常为了用户认证大伤脑筋:1) 让最终用户频繁登录? 似乎是一个让用户很难接受的解决方案。2) 在代码中内置用户名和密码? 代码需要随用户和密码的变化经常维护,同时在很多场合…...
网监要求网站备案/泰州百度关键词优化
事事皆项目的时代,项目管理已经成为企业得以持续发展的根本,随着市场和商业模式的日新月异,项目管理的难度也在逐渐加大。因此,不少项目经理都有这种感觉:学了不少项目管理的理论知识,但项目仍然很难落地。…...