1、数据库-MySql

article/2025/10/15 7:07:13

什么是数据库

数据库(DataBase,简称DB)

概念:长期存放在计算机内,有组织,可共享的大量数据的集合,是一个数据"仓库"

作用:保存,并能安全管理数据(如:增删改查等),减少冗余…

数据库总览 :

关系型数据库 (SQL)
MySQL , Oracle , SQL Server , SQLite , DB2 , …
关系型数据库通过外键关联来建立表与表之间的关系
非关系型数据库(NOSQL)
Redis , MongoDB , …
非关系型数据库通常指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定

DBMS
数据库管理系统 ( DataBase Management System ):数据库管理软件 , 科学组织和存储数据 , 高效地获取和维护数据
在这里插入图片描述
Mysqly也算是数据库管理系统,这里主要介绍Mysql的安装和使用

安装Mysql

建议参考此篇博客:https://www.cnblogs.com/hellokuangshen/p/10242958.html 进行安装

安装Mysql常见问题

  • 缺少一个.dll组件
    去百度上下载相关组件
  • 发现net命名不存在 需要配置path环境变量:$SystemRoot%\system32s

Mysql常用控制台命令

在管理员模式下:

  • 启动Mysql服务:net start mysql
    若提示拒绝访问(发生系统错误5),说明没有管理员权限
  • 关闭Mysql服务:net stop mysql
  • 卸载Mysql:sc delete mysql
  • 登录(以root的身份初次登录,会进入MySql管理页面):user -uroot -p123456
    MySql初始密码为123456

在MySql管理页面下:

  • 创建名字为name的数据库:create database name;
  • 删除名字为name的数据库:drop database name;
  • 查看所有数据库:show databases;
  • 使用数据库:use database;
  • 查看数据库下的所有表:show tables;
  • 刷新数据库:flush privileges;
  • 查询名为use的命令的使用方法:? use;
  • 退出MySql管理页面:exit;

注意:
1.sql语句不区分大小写
2.每行sql语句都要以分号结尾(可以没有分号,但最好加上)

SQLyog

SQLyog,可手动操作,管理MySQL数据库的软件,建议在安装Mysql后安装此软件。
该工具特点 : 简洁 , 易用 , 图形化

打开SQLyog后,新建连接,如下图所示:
在这里插入图片描述
单击“测试连接”,出现如下图所示的弹窗,说明连接成功,再次点击“连接”即可:
在这里插入图片描述
使用SQLyog管理工具自己完成以下操作 :

  • 连接本地MySQL数据库

  • 新建MySchool数据库

    • 数据库名称myschool
      在这里插入图片描述
  • 新建数据库表(grade)
    在这里插入图片描述

    • 字段
      • gradeID:int(11) ,Primary Key (pk)
      • gradeName:varchar(50)
        在这里插入图片描述
  • 在历史记录中可以看到相对应的数据库操作的语句
    在这里插入图片描述

创建数据库、表

根据上一小节的例子,可以在“信息”选项卡中查看创建此表(grade)的sql语句
在这里插入图片描述
创建grade表的sql语句如下:

CREATE TABLE grade (gradeId int(11) NOT NULL COMMENT '年级Id',gradeName varchar(50) DEFAULT NULL COMMENT '年级名字',PRIMARY KEY (gradeId)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

根据此段代码,创建表的sql语句如下:

#创建表格式
CREATE TABLE 表名(字段名 数据类型(长度) 修饰符,字段名 数据类型(长度) 修饰符,字段名 数据类型(长度) 修饰符
)

而创建数据库的sql语句如下:

#创建数据库
CREATE DATABASE 数据库名;

结构化查询语句SQL

结构化查询语句分类:

名称解释命令
DDL(数据定义语言)定义和管理数据对象,如数据库,数据表等CREATE、DROP、ALTER
DML(数据操作语言)用于操作数据库对象中所包含的数据INSERT、UPDATE、DELETE
DQL(数据查询语言)用于查询数据库数据SELECT
DCL(数据控制语言用来管理数据库的语言,包括管理权限及数据更改GRANT、COMMIT、ROLLBACK

数据值和列类型

  • 数值类型
类型说明取值范围存储需求
tinyint非常小的数据有符号值 -27 ~ 27;无符号值 0~281字节
smallint较小的数据有符号值 -215 ~215-1;无符号值 0~216-12字节
mediumint中等大小的数据有符号值 -223 ~223-1;无符号值 0~224-13字节
int标准整数有符号值 -221 ~221-1;无符号值 0~222-14字节
bigint较大的整数有符号值 -243 ~243-1;无符号值 0~244-18字节
float单精度浮点数±1.1754351e-384字节
double双精度浮点数±2.22507e-3068字节
decimal字符串形式的浮点数decimal(m,d)m字节
  • 字符串类型

类型
说明
最大长度

char
固定长字符串,检索快但浪费空间 0 <= M <= 255
M字符

varchar
可变字符串 0 <= M <= 65535
变长度

tinytext
微型文本串
28-1 字节

text
文本串
216-1 字节

日期和时间型数值类型

类型
说明
取值范围

DATE
YYYY-MM-DD,日期格式
1000-01-01~9999-12-31

TIME
Hh:mm:ss,时间格式
-838:59:59~838:59:59

DATETIME
YY-MM-DD hh:mm:ss
1000-01-01 00:00:00 至 9999-12-31 23:59:59

TIMESTAMP
YYYYMMDDhhmmss格式表示的时间戳
197010101000000~2037年的某个时刻

YEAR
YYYY格式的年份值
1901~2155

NULL值

  • 理解为"没有值"或"未知值"
  • 不要用NULL进行算术运算 , 结果仍为NULL

数据字段属性
结构化查询语句分类:
UnSigned :

无符号的
声明该数据列不允许负数

ZEROFILL :

0填充的
不足位数的用0来填充 , 如int(3),5则为005

Auto_InCrement :

自动增长的 , 每添加一条数据 , 自动在上一个记录数上加 1(默认)
通常用于设置主键 , 且为整数类型
可定义起始值和步长

  • 当前表设置步长(AUTO_INCREMENT=100):只影响当前表
  • SET @@auto_increment_increment=5:影响所有使用自增的表(全局)

NULL 和 NOT NULL :

默认为NULL , 即没有插入该列的数值
如果设置为NOT NULL,则该列必须有值

DEFAULT :

默认的
用于设置默认值

  • 例如,性别字段,默认为"男" , 否则为 “女” ; 若无指定该列的值 , 则默认值为"男"的值

修改数据表

修改表名 :

ALTER TABLE 旧表名 RENAME AS 新表名
1

添加字段 :

ALTER TABLE 表名 ADD字段名 列属性[属性]
1

修改字段 :

ALTER TABLE 表名 MODIFY 字段名 列类型[属性]
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 列属性[属性]
12

删除字段 :

ALTER TABLE 表名 DROP 字段名
1
外键
概念:如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。
在实际操作中,将一个表的值放入第二个表来表示关联,所使用的值是第一个表的主键值(在必要时可包括复合主键值)。此时,第二个表中保存这些值的属性称为外键(foreign key)。
作用:保持数据一致性,完整性,主要目的是控制存储在外键表中的数据,约束。 使两张表形成关联,外键只能引用外表中的列的值或使用空值。
创建外键有两种方式:

建表时指定外键约束

创建外键的方式一 : 创建子表同时创建外键

年级表(id\年级名称)

CREATE TABLE grade (
gradeid INT(10) NOT NULL AUTO_INCREMENT COMMENT ‘年级ID’,
gradename VARCHAR(50) NOT NULL COMMENT ‘年级名称’,
PRIMARY KEY (gradeid)
) ENGINE=INNODB DEFAULT CHARSET=utf8

学生信息表

#(学号,姓名,性别,年级,手机,地址,出生日期,邮箱,身份证号)

CREATE TABLE student (
studentno INT(4) NOT NULL COMMENT ‘学号’,
studentname VARCHAR(20) NOT NULL DEFAULT ‘匿名’ COMMENT ‘姓名’,
sex TINYINT(1) DEFAULT ‘1’ COMMENT ‘性别’,
gradeid INT(10) DEFAULT NULL COMMENT ‘年级’,
phoneNum VARCHAR(50) NOT NULL COMMENT ‘手机’,
address VARCHAR(255) DEFAULT NULL COMMENT ‘地址’,
borndate DATETIME DEFAULT NULL COMMENT ‘生日’,
email VARCHAR(50) DEFAULT NULL COMMENT ‘邮箱’,
idCard VARCHAR(18) DEFAULT NULL COMMENT ‘身份证号’,
PRIMARY KEY (studentno),
KEY FK_gradeid (gradeid),
CONSTRAINT FK_gradeid FOREIGN KEY (gradeid) REFERENCES grade (gradeid)
) ENGINE=INNODB DEFAULT CHARSET=utf8
1234567891011121314151617181920212223242526

建表后修改

创建外键方式二 : 创建子表完毕后,修改子表添加外键

ALTER TABLE student
ADD CONSTRAINT FK_gradeid FOREIGN KEY (gradeid) REFERENCES grade (gradeid);
123
增删查改

增加

INSERT INTO 表名[(字段1,字段2,字段3,…)] VALUES(‘值1’,‘值2’,‘值3’)
1
注意 :

字段或值之间用英文逗号隔开.
'字段1,字段2…'该部分可省略 , 但添加的值务必与表结构、数据列、顺序相对应,且数量一致
可同时插入多条数据,values 后用英文逗号隔开

语法 : INSERT INTO 表名[(字段1,字段2,字段3,…)] VALUES(‘值1’,‘值2’,‘值3’)

INSERT INTO grade(gradename) VALUES (‘大一’);

主键自增,那能否省略呢?

INSERT INTO grade VALUES (‘大二’);

查询:INSERT INTO grade VALUE (‘大二’)错误代码: 1136

Column count doesn`t match value count at row 1

得出结论:'字段1,字段2…'该部分可省略 , 但添加的值务必与表结构,数据列,顺序相对应,且数量一致.

一次插入多条数据

INSERT INTO grade(gradename) VALUES (‘大三’),(‘大四’);
12345678910111213

删除

DELETE FROM 表名 [WHERE condition];
1
注意 : condition为筛选条件 , 如不指定则删除该表的所有列数据
或者
TRUNCATE [TABLE] table_name;
1
用于完全清空表数据 , 但表结构 , 索引 , 约束等不变 ;
注意 : 区别于DELETE命令

相同 : 都能删除数据 , 不删除表结构 , 但TRUNCATE速度更快

不同 :

  • 使用TRUNCATE TABLE 重新设置AUTO_INCREMENT计数器
  • 使用TRUNCATE TABLE不会对事务有影响

创建一个测试表

CREATE TABLE test (
id INT(4) NOT NULL AUTO_INCREMENT,
coll VARCHAR(20) NOT NULL,
PRIMARY KEY (id)
) ENGINE=INNODB DEFAULT CHARSET=utf8

插入几个测试数据

INSERT INTO test(coll) VALUES(‘row1’),(‘row2’),(‘row3’);

删除表数据(不带where条件的delete)

DELETE FROM test;

结论:如不指定Where则删除该表的所有列数据,自增当前值依然从原来基础上进行,会记录日志.

删除表数据(truncate)

TRUNCATE TABLE test;

结论:truncate删除数据,自增当前值会恢复到初始值重新开始;不会记录日志.

同样使用DELETE清空不同引擎的数据库表数据.重启数据库服务后

InnoDB : 自增列从初始值重新开始 (因为是存储在内存中,断电即失)

MyISAM : 自增列依然从上一个自增数据基础上开始 (存在文件中,不会丢失)

123456789101112131415161718192021

修改

UPDATE 表名 SET column_name=value [,column_name2=value2,…] [WHERE condition];
1
注意 :

column_name:为要更改的数据列

value:为修改后的数据 , 可以为变量 , 具体指 , 表达式或者嵌套的SELECT结果

condition:为筛选条件 , 如不指定则修改该表的所有列数据

查询

SELECT [ALL | DISTINCT]
{* | table.* | [table.field1[as alias1][,table.field2[as alias2]][,…]]}
FROM table_name [as table_alias]
[left | right | inner join table_name2] #联合查询
[WHERE …] #指定结果需满足的条件
[GROUP BY …] #指定结果按照哪几个字段来分组
[HAVING] #过滤分组的记录必须满足的次要条件
[ORDER BY …] #指定查询记录按一个或多个条件排序
[LIMIT {[offset,]row_count | row_countOFFSET offset}];
# 指定查询的记录从哪条至哪条
1234567891011
以接下来的sql语句作为模板,运用select可以实现三种功能:
/*
SQLyog Ultimate v10.00 Beta1
MySQL - 5.7.19 : Database - school


*/

/*!40101 SET NAMES utf8 */;

/!40101 SET SQL_MODE=’’/;

/!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 /;
/
!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 /;
/
!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE=‘NO_AUTO_VALUE_ON_ZERO’ /;
/
!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 /;
CREATE DATABASE /
!32312 IF NOT EXISTS
/school /*!40100 DEFAULT CHARACTER SET utf8 */;

USE school;

/*Table structure for table grade */

DROP TABLE IF EXISTS grade;

CREATE TABLE grade (
GradeID INT(11) NOT NULL AUTO_INCREMENT COMMENT ‘年级编号’,
GradeName VARCHAR(50) NOT NULL COMMENT ‘年级名称’,
PRIMARY KEY (GradeID)
) ENGINE=INNODB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

/*Data for the table grade */

INSERT INTO grade(GradeID,GradeName) VALUES (1,‘大一’),(2,‘大二’),(3,‘大三’),(4,‘大四’),(5,‘预科班’);

/*Table structure for table result */

DROP TABLE IF EXISTS result;

CREATE TABLE result (
StudentNo INT(4) NOT NULL COMMENT ‘学号’,
SubjectNo INT(4) NOT NULL COMMENT ‘课程编号’,
ExamDate DATETIME NOT NULL COMMENT ‘考试日期’,
StudentResult INT(4) NOT NULL COMMENT ‘考试成绩’,
KEY SubjectNo (SubjectNo)
) ENGINE=INNODB DEFAULT CHARSET=utf8;

/*Data for the table result */

INSERT INTO result(StudentNo,SubjectNo,ExamDate,StudentResult) VALUES (1000,1,‘2013-11-11 16:00:00’,94),(1000,2,‘2012-11-10 10:00:00’,75),(1000,3,‘2011-12-19 10:00:00’,76),(1000,4,‘2010-11-18 11:00:00’,93),(1000,5,‘2013-11-11 14:00:00’,97),(1000,6,‘2012-09-13 15:00:00’,87),(1000,7,‘2011-10-16 16:00:00’,79),(1000,8,‘2010-11-11 16:00:00’,74),(1000,9,‘2013-11-21 10:00:00’,69),(1000,10,‘2012-11-11 12:00:00’,78),(1000,11,‘2011-11-11 14:00:00’,66),(1000,12,‘2010-11-11 15:00:00’,82),(1000,13,‘2013-11-11 14:00:00’,94),(1000,14,‘2012-11-11 15:00:00’,98),(1000,15,‘2011-12-11 10:00:00’,70),(1000,16,‘2010-09-11 10:00:00’,74),(1001,1,‘2013-11-11 16:00:00’,76),(1001,2,‘2012-11-10 10:00:00’,93),(1001,3,‘2011-12-19 10:00:00’,65),(1001,4,‘2010-11-18 11:00:00’,71),(1001,5,‘2013-11-11 14:00:00’,98),(1001,6,‘2012-09-13 15:00:00’,74),(1001,7,‘2011-10-16 16:00:00’,85),(1001,8,‘2010-11-11 16:00:00’,69),(1001,9,‘2013-11-21 10:00:00’,63),(1001,10,‘2012-11-11 12:00:00’,70),(1001,11,‘2011-11-11 14:00:00’,62),(1001,12,‘2010-11-11 15:00:00’,90),(1001,13,‘2013-11-11 14:00:00’,97),(1001,14,‘2012-11-11 15:00:00’,89),(1001,15,‘2011-12-11 10:00:00’,72),(1001,16,‘2010-09-11 10:00:00’,90),(1002,1,‘2013-11-11 16:00:00’,61),(1002,2,‘2012-11-10 10:00:00’,80),(1002,3,‘2011-12-19 10:00:00’,89),(1002,4,‘2010-11-18 11:00:00’,88),(1002,5,‘2013-11-11 14:00:00’,82),(1002,6,‘2012-09-13 15:00:00’,91),(1002,7,‘2011-10-16 16:00:00’,63),(1002,8,‘2010-11-11 16:00:00’,84),(1002,9,‘2013-11-21 10:00:00’,60),(1002,10,‘2012-11-11 12:00:00’,71),(1002,11,‘2011-11-11 14:00:00’,93),(1002,12,‘2010-11-11 15:00:00’,96),(1002,13,‘2013-11-11 14:00:00’,83),(1002,14,‘2012-11-11 15:00:00’,69),(1002,15,‘2011-12-11 10:00:00’,89),(1002,16,‘2010-09-11 10:00:00’,83),(1003,1,‘2013-11-11 16:00:00’,91),(1003,2,‘2012-11-10 10:00:00’,75),(1003,3,‘2011-12-19 10:00:00’,65),(1003,4,‘2010-11-18 11:00:00’,63),(1003,5,‘2013-11-11 14:00:00’,90),(1003,6,‘2012-09-13 15:00:00’,96),(1003,7,‘2011-10-16 16:00:00’,97),(1003,8,‘2010-11-11 16:00:00’,77),(1003,9,‘2013-11-21 10:00:00’,62),(1003,10,‘2012-11-11 12:00:00’,81),(1003,11,‘2011-11-11 14:00:00’,76),(1003,12,‘2010-11-11 15:00:00’,61),(1003,13,‘2013-11-11 14:00:00’,93),(1003,14,‘2012-11-11 15:00:00’,79),(1003,15,‘2011-12-11 10:00:00’,78),(1003,16,‘2010-09-11 10:00:00’,96),(1004,1,‘2013-11-11 16:00:00’,84),(1004,2,‘2012-11-10 10:00:00’,79),(1004,3,‘2011-12-19 10:00:00’,76),(1004,4,‘2010-11-18 11:00:00’,78),(1004,5,‘2013-11-11 14:00:00’,81),(1004,6,‘2012-09-13 15:00:00’,90),(1004,7,‘2011-10-16 16:00:00’,63),(1004,8,‘2010-11-11 16:00:00’,89),(1004,9,‘2013-11-21 10:00:00’,67),(1004,10,‘2012-11-11 12:00:00’,100),(1004,11,‘2011-11-11 14:00:00’,94),(1004,12,‘2010-11-11 15:00:00’,65),(1004,13,‘2013-11-11 14:00:00’,86),(1004,14,‘2012-11-11 15:00:00’,77),(1004,15,‘2011-12-11 10:00:00’,82),(1004,16,‘2010-09-11 10:00:00’,87),(1005,1,‘2013-11-11 16:00:00’,82),(1005,2,‘2012-11-10 10:00:00’,92),(1005,3,‘2011-12-19 10:00:00’,80),(1005,4,‘2010-11-18 11:00:00’,92),(1005,5,‘2013-11-11 14:00:00’,97),(1005,6,‘2012-09-13 15:00:00’,72),(1005,7,‘2011-10-16 16:00:00’,84),(1005,8,‘2010-11-11 16:00:00’,79),(1005,9,‘2013-11-21 10:00:00’,76),(1005,10,‘2012-11-11 12:00:00’,87),(1005,11,‘2011-11-11 14:00:00’,65),(1005,12,‘2010-11-11 15:00:00’,67),(1005,13,‘2013-11-11 14:00:00’,63),(1005,14,‘2012-11-11 15:00:00’,64),(1005,15,‘2011-12-11 10:00:00’,99),(1005,16,‘2010-09-11 10:00:00’,97),(1006,1,‘2013-11-11 16:00:00’,82),(1006,2,‘2012-11-10 10:00:00’,73),(1006,3,‘2011-12-19 10:00:00’,79),(1006,4,‘2010-11-18 11:00:00’,63),(1006,5,‘2013-11-11 14:00:00’,97),(1006,6,‘2012-09-13 15:00:00’,83),(1006,7,‘2011-10-16 16:00:00’,78),(1006,8,‘2010-11-11 16:00:00’,88),(1006,9,‘2013-11-21 10:00:00’,89),(1006,10,‘2012-11-11 12:00:00’,82),(1006,11,‘2011-11-11 14:00:00’,70),(1006,12,‘2010-11-11 15:00:00’,69),(1006,13,‘2013-11-11 14:00:00’,64),(1006,14,‘2012-11-11 15:00:00’,80),(1006,15,‘2011-12-11 10:00:00’,90),(1006,16,‘2010-09-11 10:00:00’,85),(1007,1,‘2013-11-11 16:00:00’,87),(1007,2,‘2012-11-10 10:00:00’,63),(1007,3,‘2011-12-19 10:00:00’,70),(1007,4,‘2010-11-18 11:00:00’,74),(1007,5,‘2013-11-11 14:00:00’,79),(1007,6,‘2012-09-13 15:00:00’,83),(1007,7,‘2011-10-16 16:00:00’,86),(1007,8,‘2010-11-11 16:00:00’,76),(1007,9,‘2013-11-21 10:00:00’,65),(1007,10,‘2012-11-11 12:00:00’,87),(1007,11,‘2011-11-11 14:00:00’,69),(1007,12,‘2010-11-11 15:00:00’,69),(1007,13,‘2013-11-11 14:00:00’,90),(1007,14,‘2012-11-11 15:00:00’,84),(1007,15,‘2011-12-11 10:00:00’,95),(1007,16,‘2010-09-11 10:00:00’,92),(1008,1,‘2013-11-11 16:00:00’,96),(1008,2,‘2012-11-10 10:00:00’,62),(1008,3,‘2011-12-19 10:00:00’,97),(1008,4,‘2010-11-18 11:00:00’,84),(1008,5,‘2013-11-11 14:00:00’,86),(1008,6,‘2012-09-13 15:00:00’,72),(1008,7,‘2011-10-16 16:00:00’,67),(1008,8,‘2010-11-11 16:00:00’,83),(1008,9,‘2013-11-21 10:00:00’,86),(1008,10,‘2012-11-11 12:00:00’,60),(1008,11,‘2011-11-11 14:00:00’,61),(1008,12,‘2010-11-11 15:00:00’,68),(1008,13,‘2013-11-11 14:00:00’,99),(1008,14,‘2012-11-11 15:00:00’,77),(1008,15,‘2011-12-11 10:00:00’,73),(1008,16,‘2010-09-11 10:00:00’,78),(1009,1,‘2013-11-11 16:00:00’,67),(1009,2,‘2012-11-10 10:00:00’,70),(1009,3,‘2011-12-19 10:00:00’,75),(1009,4,‘2010-11-18 11:00:00’,92),(1009,5,‘2013-11-11 14:00:00’,76),(1009,6,‘2012-09-13 15:00:00’,90),(1009,7,‘2011-10-16 16:00:00’,62),(1009,8,‘2010-11-11 16:00:00’,68),(1009,9,‘2013-11-21 10:00:00’,70),(1009,10,‘2012-11-11 12:00:00’,83),(1009,11,‘2011-11-11 14:00:00’,88),(1009,12,‘2010-11-11 15:00:00’,65),(1009,13,‘2013-11-11 14:00:00’,91),(1009,14,‘2012-11-11 15:00:00’,99),(1009,15,‘2011-12-11 10:00:00’,65),(1009,16,‘2010-09-11 10:00:00’,83),(1010,1,‘2013-11-11 16:00:00’,83),(1010,2,‘2012-11-10 10:00:00’,87),(1010,3,‘2011-12-19 10:00:00’,89),(1010,4,‘2010-11-18 11:00:00’,99),(1010,5,‘2013-11-11 14:00:00’,91),(1010,6,‘2012-09-13 15:00:00’,96),(1010,7,‘2011-10-16 16:00:00’,72),(1010,8,‘2010-11-11 16:00:00’,72),(1010,9,‘2013-11-21 10:00:00’,98),(1010,10,‘2012-11-11 12:00:00’,73),(1010,11,‘2011-11-11 14:00:00’,68),(1010,12,‘2010-11-11 15:00:00’,62),(1010,13,‘2013-11-11 14:00:00’,67),(1010,14,‘2012-11-11 15:00:00’,69),(1010,15,‘2011-12-11 10:00:00’,71),(1010,16,‘2010-09-11 10:00:00’,66),(1011,1,‘2013-11-11 16:00:00’,62),(1011,2,‘2012-11-10 10:00:00’,72),(1011,3,‘2011-12-19 10:00:00’,96),(1011,4,‘2010-11-18 11:00:00’,64),(1011,5,‘2013-11-11 14:00:00’,89),(1011,6,‘2012-09-13 15:00:00’,91),(1011,7,‘2011-10-16 16:00:00’,95),(1011,8,‘2010-11-11 16:00:00’,96),(1011,9,‘2013-11-21 10:00:00’,89),(1011,10,‘2012-11-11 12:00:00’,73),(1011,11,‘2011-11-11 14:00:00’,82),(1011,12,‘2010-11-11 15:00:00’,98),(1011,13,‘2013-11-11 14:00:00’,66),(1011,14,‘2012-11-11 15:00:00’,69),(1011,15,‘2011-12-11 10:00:00’,91),(1011,16,‘2010-09-11 10:00:00’,69),(1012,1,‘2013-11-11 16:00:00’,86),(1012,2,‘2012-11-10 10:00:00’,66),(1012,3,‘2011-12-19 10:00:00’,97),(1012,4,‘2010-11-18 11:00:00’,69),(1012,5,‘2013-11-11 14:00:00’,70),(1012,6,‘2012-09-13 15:00:00’,74),(1012,7,‘2011-10-16 16:00:00’,91),(1012,8,‘2010-11-11 16:00:00’,97),(1012,9,‘2013-11-21 10:00:00’,84),(1012,10,‘2012-11-11 12:00:00’,82),(1012,11,‘2011-11-11 14:00:00’,90),(1012,12,‘2010-11-11 15:00:00’,91),(1012,13,‘2013-11-11 14:00:00’,91),(1012,14,‘2012-11-11 15:00:00’,97),(1012,15,‘2011-12-11 10:00:00’,85),(1012,16,‘2010-09-11 10:00:00’,90),(1013,1,‘2013-11-11 16:00:00’,73),(1013,2,‘2012-11-10 10:00:00’,69),(1013,3,‘2011-12-19 10:00:00’,91),(1013,4,‘2010-11-18 11:00:00’,72),(1013,5,‘2013-11-11 14:00:00’,76),(1013,6,‘2012-09-13 15:00:00’,87),(1013,7,‘2011-10-16 16:00:00’,61),(1013,8,‘2010-11-11 16:00:00’,77),(1013,9,‘2013-11-21 10:00:00’,83),(1013,10,‘2012-11-11 12:00:00’,99),(1013,11,‘2011-11-11 14:00:00’,91),(1013,12,‘2010-11-11 15:00:00’,84),(1013,13,‘2013-11-11 14:00:00’,98),(1013,14,‘2012-11-11 15:00:00’,74),(1013,15,‘2011-12-11 10:00:00’,92),(1013,16,‘2010-09-11 10:00:00’,90),(1014,1,‘2013-11-11 16:00:00’,64),(1014,2,‘2012-11-10 10:00:00’,81),(1014,3,‘2011-12-19 10:00:00’,79),(1014,4,‘2010-11-18 11:00:00’,74),(1014,5,‘2013-11-11 14:00:00’,65),(1014,6,‘2012-09-13 15:00:00’,88),(1014,7,‘2011-10-16 16:00:00’,86),(1014,8,‘2010-11-11 16:00:00’,77),(1014,9,‘2013-11-21 10:00:00’,86),(1014,10,‘2012-11-11 12:00:00’,85),(1014,11,‘2011-11-11 14:00:00’,86),(1014,12,‘2010-11-11 15:00:00’,75),(1014,13,‘2013-11-11 14:00:00’,89),(1014,14,‘2012-11-11 15:00:00’,79),(1014,15,‘2011-12-11 10:00:00’,73),(1014,16,‘2010-09-11 10:00:00’,68),(1015,1,‘2013-11-11 16:00:00’,99),(1015,2,‘2012-11-10 10:00:00’,60),(1015,3,‘2011-12-19 10:00:00’,60),(1015,4,‘2010-11-18 11:00:00’,75),(1015,5,‘2013-11-11 14:00:00’,78),(1015,6,‘2012-09-13 15:00:00’,78),(1015,7,‘2011-10-16 16:00:00’,84),(1015,8,‘2010-11-11 16:00:00’,95),(1015,9,‘2013-11-21 10:00:00’,93),(1015,10,‘2012-11-11 12:00:00’,79),(1015,11,‘2011-11-11 14:00:00’,74),(1015,12,‘2010-11-11 15:00:00’,65),(1015,13,‘2013-11-11 14:00:00’,63),(1015,14,‘2012-11-11 15:00:00’,74),(1015,15,‘2011-12-11 10:00:00’,67),(1015,16,‘2010-09-11 10:00:00’,65),(1016,1,‘2013-11-11 16:00:00’,97),(1016,2,‘2012-11-10 10:00:00’,90),(1016,3,‘2011-12-19 10:00:00’,77),(1016,4,‘2010-11-18 11:00:00’,75),(1016,5,‘2013-11-11 14:00:00’,75),(1016,6,‘2012-09-13 15:00:00’,97),(1016,7,‘2011-10-16 16:00:00’,96),(1016,8,‘2010-11-11 16:00:00’,92),(1016,9,‘2013-11-21 10:00:00’,62),(1016,10,‘2012-11-11 12:00:00’,83),(1016,11,‘2011-11-11 14:00:00’,98),(1016,12,‘2010-11-11 15:00:00’,94),(1016,13,‘2013-11-11 14:00:00’,62),(1016,14,‘2012-11-11 15:00:00’,97),(1016,15,‘2011-12-11 10:00:00’,76),(1016,16,‘2010-09-11 10:00:00’,82),(1017,1,‘2013-11-11 16:00:00’,100),(1017,2,‘2012-11-10 10:00:00’,88),(1017,3,‘2011-12-19 10:00:00’,86),(1017,4,‘2010-11-18 11:00:00’,73),(1017,5,‘2013-11-11 14:00:00’,96),(1017,6,‘2012-09-13 15:00:00’,64),(1017,7,‘2011-10-16 16:00:00’,81),(1017,8,‘2010-11-11 16:00:00’,66),(1017,9,‘2013-11-21 10:00:00’,76),(1017,10,‘2012-11-11 12:00:00’,95),(1017,11,‘2011-11-11 14:00:00’,73),(1017,12,‘2010-11-11 15:00:00’,82),(1017,13,‘2013-11-11 14:00:00’,85),(1017,14,‘2012-11-11 15:00:00’,68),(1017,15,‘2011-12-11 10:00:00’,99),(1017,16,‘2010-09-11 10:00:00’,76);

/*Table structure for table student */

DROP TABLE IF EXISTS student;

CREATE TABLE student (
StudentNo INT(4) NOT NULL COMMENT ‘学号’,
LoginPwd VARCHAR(20) DEFAULT NULL,
StudentName VARCHAR(20) DEFAULT NULL COMMENT ‘学生姓名’,
Sex TINYINT(1) DEFAULT NULL COMMENT ‘性别,取值0或1’,
GradeId INT(11) DEFAULT NULL COMMENT ‘年级编号’,
Phone VARCHAR(50) NOT NULL COMMENT ‘联系电话,允许为空,即可选输入’,
Address VARCHAR(255) NOT NULL COMMENT ‘地址,允许为空,即可选输入’,
BornDate DATETIME DEFAULT NULL COMMENT ‘出生时间’,
Email VARCHAR(50) NOT NULL COMMENT ‘邮箱账号,允许为空,即可选输入’,
IdentityCard VARCHAR(18) DEFAULT NULL COMMENT ‘身份证号’,
PRIMARY KEY (StudentNo),
UNIQUE KEY IdentityCard (IdentityCard),
KEY Email (Email)
) ENGINE=MYISAM DEFAULT CHARSET=utf8;

/*Data for the table student */

INSERT INTO student(StudentNo,LoginPwd,StudentName,Sex,GradeId,Phone,Address,BornDate,Email,IdentityCard) VALUES (1000,‘111111’,‘郭靖’,1,1,‘13500000001’,‘北京海淀区中关村大街1号’,‘1986-12-11 00:00:00’,‘test1@bdqn.cn’,‘450323198612111234’),(1001,‘123456’,‘李文才’,1,2,‘13500000002’,‘河南洛阳’,‘1981-12-31 00:00:00’,‘test1@bdqn.cn’,‘450323198112311234’),(1002,‘111111’,‘李斯文’,1,1,‘13500000003’,‘天津市和平区’,‘1986-11-30 00:00:00’,‘test1@bdqn.cn’,‘450323198611301234’),(1003,‘123456’,‘武松’,1,3,‘13500000004’,‘上海卢湾区’,‘1986-12-31 00:00:00’,‘test1@bdqn.cn’,‘450323198612314234’),(1004,‘123456’,‘张三’,1,4,‘13500000005’,‘北京市通州’,‘1989-12-31 00:00:00’,‘test1@bdqn.cn’,‘450323198612311244’),(1005,‘123456’,‘张秋丽 ‘,2,1,‘13500000006’,‘广西桂林市灵川’,‘1986-12-31 00:00:00’,‘test1@bdqn.cn’,‘450323198612311214’),(1006,‘123456’,‘肖梅’,2,4,‘13500000007’,‘地址不详’,‘1986-12-31 00:00:00’,‘test1@bdqn.cn’,‘450323198612311134’),(1007,‘111111’,‘欧阳峻峰’,1,1,‘13500000008’,‘北京东城区’,‘1986-12-31 00:00:00’,‘test1@bdqn.cn’,‘450323198612311133’),(1008,‘111111’,‘梅超风’,1,1,‘13500000009’,‘河南洛阳’,‘1986-12-31 00:00:00’,‘test1@bdqn.cn’,‘450323198612311221’),(1009,‘123456’,‘刘毅’,1,2,‘13500000011’,‘安徽’,‘1986-12-31 00:00:00’,‘test1@bdqn.cn’,‘450323198612311231’),(1010,‘111111’,‘大凡’,1,1,‘13500000012’,‘河南洛阳’,‘1986-12-31 00:00:00’,‘test1@bdqn.cn’,‘450323198612311044’),(1011,‘111111’,‘奥丹斯’,1,1,‘13500000013’,‘北京海淀区中关村大街号’,‘1984-12-31 00:00:00’,‘test1@bdqn.cn’,‘450323198412311234’),(1012,‘123456’,‘多伦’,2,3,‘13500000014’,‘广西南宁中央大街’,‘1986-12-31 00:00:00’,‘test1@bdqn.cn’,‘450323198612311334’),(1013,‘123456’,‘李梅’,2,1,‘13500000015’,‘上海卢湾区’,‘1986-12-31 00:00:00’,‘test1@bdqn.cn’,‘450323198612311534’),(1014,‘123456’,‘张得’,2,4,‘13500000016’,'北京海淀区中关村大街号’,‘1986-12-31 00:00:00’,‘test1@bdqn.cn’,‘450323198612311264’),(1015,‘123456’,‘李东方’,1,4,‘13500000017’,‘广西桂林市灵川’,‘1976-12-31 00:00:00’,‘test1@bdqn.cn’,‘450323197612311234’),(1016,‘111111’,‘刘奋斗’,1,1,‘13500000018’,‘上海卢湾区’,‘1986-12-31 00:00:00’,‘test1@bdqn.cn’,‘450323198612311251’),(1017,‘123456’,‘可可’,2,3,‘13500000019’,‘北京长安街1号’,‘1981-09-10 00:00:00’,‘test1@bdqn.cn’,‘450323198109108311’),(10066,’’,‘Tom’,1,1,‘13500000000’,’’,‘0000-00-00 00:00:00’,‘email@22.com’,‘33123123123123123’);

/*Table structure for table subject */

DROP TABLE IF EXISTS subject;

CREATE TABLE subject (
SubjectNo INT(11) NOT NULL AUTO_INCREMENT COMMENT ‘课程编号’,
SubjectName VARCHAR(50) DEFAULT NULL COMMENT ‘课程名称’,
ClassHour INT(4) DEFAULT NULL COMMENT ‘学时’,
GradeID INT(4) DEFAULT NULL COMMENT ‘年级编号’,
PRIMARY KEY (SubjectNo)
) ENGINE=INNODB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8;

/*Data for the table subject */

INSERT INTO subject(SubjectNo,SubjectName,ClassHour,GradeID) VALUES (1,‘高等数学-1’,110,1),(2,‘高等数学-2’,110,2),(3,‘高等数学-3’,100,3),(4,‘高等数学-4’,130,4),(5,‘C语言-1’,110,1),(6,‘C语言-2’,110,2),(7,‘C语言-3’,100,3),(8,‘C语言-4’,130,4),(9,‘JAVA第一学年’,110,1),(10,‘JAVA第二学年’,110,2),(11,‘JAVA第三学年’,100,3),(12,‘JAVA第四学年’,130,4),(13,‘数据库结构-1’,110,1),(14,‘数据库结构-2’,110,2),(15,‘数据库结构-3’,100,3),(16,‘数据库结构-4’,130,4),(17,‘C#基础’,130,1);

/*!40101 SET SQL_MODE=@OLD_SQL_MODE /;
/
!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS /;
/
!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS /;
/
!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
指定查询字段
查询表结果时 , 可指定查询结果的数据列

查询表中所有的数据列结果 , 采用 " * " 符号;
如 : SELECT * FROM student;
但是效率低 , 不推荐

查询所有学生信息

SELECT * FROM student;

查询指定列(学号 , 姓名)

SELECT studentno,studentname FROM student;
12345
AS子句作为别名
AS子句作用 :

可给数据列取一个新别名
可给表去一个新别名
可把经计算或总结的结果用另一个新名称来代替

这里是为列取别名(当然as关键词可以省略)

SELECT studentno AS 学号,studentname AS 姓名 FROM student;

使用as也可以为表取别名

SELECT studentno AS 学号,studentname AS 姓名 FROM student AS s;

使用as,为查询结果取一个新名字

CONCAT()函数拼接字符串

SELECT CONCAT(‘姓名:’,studentname) AS 新姓名 FROM student;
123456789
DISTINCT关键字的使用
作用 : 去掉SELECT查询返回的记录结果中重复的记录(返回所有列的值都相同),只返回一条

查看哪些同学参加了考试(学号)–去除重复项

SELECT * FROM result; # 查看考试成绩
SELECT studentno FROM result; # 查看哪些同学参加了考试
SELECT DISTINCT studentno FROM result;

了解:DISTINCT 去除重复项 , (默认是ALL)

12345
SELECT基本语法
#1.[ALL | DISTINCT] 全部/去重复 【+】
#2.选择的字段可以是表,可以是列,通过as取别名 【+】
#3.从哪个表选择 通过as 取别名
#4.连接查询(左连接,右连接,内连接)【+】
#5.where 条件子句【+】
#6.GROUP BY 通过什么列分组,返回每个列的数量
#7.HAVING 次条件子句
#8 ORDER BY 通过什么列进行排序,升序ASC 降序DESC
#9.Limit startRows,PagesRows 【+】
SELECT [ALL | DISTINCT]
{* | table.* | [table.field1[as alias1][,table.field2[as alias2]][,…]]}
FROM table_name [as table_alias]
[left | right | inner join table_name2] #联合查询
[WHERE …] #指定结果需满足的条件
[GROUP BY …] #指定结果按照哪几个字段来分组
[HAVING] #过滤分组的记录必须满足的次要条件
[ORDER BY …] #指定查询记录按一个或多个条件排序
[LIMIT {[offset,]row_count | row_countOFFSET offset}];
# 指定查询的记录从哪条至哪条
12345678910111213141516171819
where条件语句

用于检索数据表中 符合条件 的记录
搜索条件可由一个或多个逻辑表达式组成 , 结果一般为真或假.
用于模糊查询
逻辑操作符

操作符名称
语法
描述

AND 或 &&
a and b 或 a && b
逻辑与,同时为真结果才为真

OR 或 ||
a OR b 或 a||b
逻辑或,只要一个为真,则结果为真

NOT或!
NOT a 或 !a
逻辑非,若操作数为假,结果则为真

比较操作符

操作符名称
语法
描述

IS NULL
a IS NULL
若操作符为NULL,则结果为真

IS NOT NULL
a IS NOT NULL
若操作符不为NULL,则结果为真

BETWEEN
a BETWEEN b AND c
若a范围在b与c之间则结果为真

LIKE
a LIKE b
SQL模式匹配,若a匹配b,则结果为真

IN
a IN (a1,a2,a3,…,)
若a等于a1,a2…中的某一个,则结果为真

以上面的查询小节的sql语句为例子,where的运用示例l如下:

满足条件的查询(where)

SELECT Studentno,StudentResult FROM result;

查询考试成绩在95-100之间的

SELECT Studentno,StudentResult
FROM result
WHERE StudentResult>=95 AND StudentResult<=100;

AND也可以写成 &&

SELECT Studentno,StudentResult
FROM result
WHERE StudentResult>=95 && StudentResult<=100;

模糊查询(对应的词:精确查询)

SELECT Studentno,StudentResult
FROM result
WHERE StudentResult BETWEEN 95 AND 100;

除了1000号同学,要其他同学的成绩

SELECT studentno,studentresult
FROM result
WHERE studentno!=1000;

使用NOT

SELECT studentno,studentresult
FROM result
WHERE NOT studentno=1000;
1234567891011121314151617181920212223
注意:

数值数据类型的记录之间才能进行算术运算
相同数据类型的数据之间才能进行比较


http://chatgpt.dhexx.cn/article/cL4Uajdn.shtml

相关文章

C++中字符串大小写字母转换

最近在学习 STL&#xff0c;string 也是 STL 中的一种容器&#xff0c;遇到一个字符串中字母大小写转换的例子&#xff0c;这里就顺便总结一下在C中常用的字符串大小写转换方法&#xff0c;有需要的可以参考。代码如下&#xff1a; 1、char[]类型&#xff0c;调用库函数 // …

大小写字母转换(java大小写字母转换)

苹果4SQQ密码大小写字母怎么转换不&#xff1f;苹果4SQQ密码大小写字母 每次要输密码,当时在电脑上设置的密码,可以改变大小写,但是到了手机上,我不知道怎么换大小写,那位朋友告诉下 苹果手机输入法怎么改字母的大小写 (很高兴为您解答,有帮助请给好评,谢谢! ) 大小写转换-键盘…

英文字母大小写转换

从键盘输入一个大写英文字母&#xff0c;将其转换味小写字母后&#xff0c;再显示到屏幕上&#xff08;显示字符后要输出一个换行&#xff09; 输入格式要求&#xff1a;提示信息&#xff1a;"Press a key and then press Enter:" 程序运行实例如下&#xff1a; P…

Java 字符串中的大小写字母转换

Java 实现字符串中字母大小写转换函数 实现思路&#xff1a;将字符串中的每个字符取出&#xff0c;判断该字符是不是大写字母&#xff0c;如果是的话则该字符32&#xff08;ASCII码&#xff09;并进行强制转换&#xff0c;转换为char&#xff0c;然后在通过字符串的合并操作进…

大写字母转换成小写字母

大写字母转换成小写字母 大写字母转换成小写字母1.示例&#xff1a;2. 解题思路3. 代码展示及分析3.1 ASCII码操作字符串转换大小写3.2 位运算 4. 运行结果 大写字母转换成小写字母 题目&#xff1a; 实现函数 ToLowerCase()&#xff0c;该函数接收一个字符串参数 str&#xf…

C++ | 大小写字母转换

1.题目描述 实现字母的大小写转换。多组输入输出。 输入描述: 多组输入&#xff0c;每一行输入大写字母。 输出描述: 针对每组输入输出对应的小写字母。 答案如下&#xff1a; #include<iostream> using namespace std;int main(){ //----------------------------…

Java-大小写字母转换

题目&#xff1a;输入一段字符&#xff0c;包含大写字母或者小写字母&#xff0c;输出对应的大写或者小写转换&#xff0c;数字不管 代码实现&#xff1a; import java.util.Scanner;public class ZimuChange {public static void main(String[] args) {System.out.println(&qu…

线程中CreateEvent、SetEvent、WaitForSingleObject的用法

原文地址&#xff1a;https://www.cnblogs.com/MrYuan/p/5238749.html 首先介绍CreateEvent是创建windows事件的意思&#xff0c;作用主要用在判断线程退出&#xff0c;线程锁定方面. CreateEvent 函功能描述&#xff1a;创建或打开一个命名的或无名的事件对象. EVENT有两种…

CreateEvent SetEvent WaitForSingleObjec

在自动重置事件对象中&#xff0c;当WaitSingleObject/WaitForMultipleObjects接收到SetEvent发送过来的信号后则返回WAIT_OBJECT_0&#xff0c;此时操作系统&#xff08;待定&#xff09;自动重置等待的事件对象&#xff08;即自动将其设置为无信号状态。无论何时通过SetEvent…

线程中CreateEvent和SetEvent及WaitForSingleObject的用法

首先介绍CreateEvent是创建windows事件的意思&#xff0c;作用主要用在判断线程退出&#xff0c;线程锁定方面. CreateEvent 函功能描述&#xff1a;创建或打开一个命名的或无名的事件对象. EVENT有两种状态&#xff1a;发信号&#xff0c;不发信号。 SetEvent/ResetEvent…

wireshark找不到接口?你的NPF没启动

使用wireshark时会遇到找不到接口的问题&#xff0c;这是因为电脑的NPF没有启动。以管理员身份运行cmd,输入net start npf即可。不过&#xff0c;电脑重启后&#xff0c;它又关闭了。

wireshark抓包报错The capture session could not be initiated on interface '\Device\NPF_Loopback'

wireshark抓包报错 The capture session could not be initiated on interface ‘\Device\NPF_Loopback’ (Error opening adapter: The system cannot find the path specified. (3)). 解决方法 以管理员身份运行cmd&#xff0c;输入net start npcap 重新打开wireshark即可…

The NPF or NPCAP service is not installed, please install Winpcap or Npcap aand reboot的解决方法

安装好GNS启动后&#xff0c;我遇到了GNS3没有加载的错误&#xff0c;并且发出错误声明“未安装NPF或NPCAP服务&#xff0c;请安装Winpcap或Npcap并重启。” 确认已经安装了winpcap&#xff0c;怎么还会报错呢&#xff1f;&#xff1f;后来发现是没有勾选自启动winpcap软件导致…

wireshark提示未启动npf服务The NPF driver isn’t running You may have trouble capturing or listing interfaces

提示未启动npf服务的解决办法 检查你的电脑有没有安装WinPcap&#xff0c;如果没有安装就安装一下以管理员身份运行cmd.exe&#xff0c;执行命令&#xff1a;sc config npf start auto&#xff0c;重启wireshark如果还提示未启动npf服务就执行这个命令&#xff1a;net start n…

解决启动Wireshark时遇到的“The NPF driver isn't running...”

最近在使用wireshark抓包软件的时候遇到了这个问题&#xff0c;在启动wireshark的时候&#xff0c;会弹出一个对话框&#xff1a; 上网搜索了一下&#xff0c;结合自己的想法&#xff0c;得到如下两个解决方法&#xff1a; 一、图形界面操作 1、右击计算机&#xff0c;“管理”…

wireshark/The NPF driver isn’t running./Unable to load WinPcap (wpcap.dll)

很久没使用wireshark后重新打开就出现警告&#xff1a; The NPF driver isn’t running. You may have trouble capturing or listing interfaces. 点击菜单栏caption&#xff0c;准备启动的时候&#xff0c;又显示警告框&#xff0c;直接不给操作&#xff1a; Unable to load …

使用Wireshark抓包软件提示The NPF driver isn’t running解决办法

Wireshark一个强大的数据抓包分析工具&#xff0c;在Win7 64位系统上第一次使用时&#xff0c;可能会出现意外的情况。 The NPF driver isn’t running. 这个情况可能是因为没有安装Winpcap驱动或者安装Winpcap时没有选中开机自动启动winpcap选项。 解决方法&#xff1a; 1. 没…

【西门子】S7-PLCSIM Advance_V2/V3, Error Code: -30,LicenseNotFound /NetGroup Packet Filter Driver (NPF)

最近公司需要测试视觉程序与西门子S7-1500通讯&#xff0c;下载了下西门子的编程程序进行通讯测试&#xff0c;本来想着安装个程序很简单的事&#xff0c;谁知道在使用S7-PLCSIM Advance_V3仿真通讯时遇到各种问题&#xff0c;鉴于自己踩坑太多&#xff0c;特此分享自己的完美解…

wireshark找不到捕获接口问题和net start npf 服务器名无效、拒绝访问的解决办法

win10系统 解决方法&#xff1a; 1、去官网下载用于网络封包抓取的工具 winpcap 链接&#xff1a;https://www.winpcap.org/install/bin/WinPcap_4_1_3.exe 2、用管理员身份运行命令提示符 3、输入net start npf 启动服务 可以看到有捕获接口了

Wireshark学习篇(1)---NPF driver is not running error

在互联网这个行业里&#xff0c;怎能不熟悉几款抓包工具呢。将Wireshark作为首选学习工具&#xff0c;此工具功能比较强大&#xff0c;是基于网卡级别进行的抓包。在电脑上安装了 Wireshark后&#xff0c;首次登录的时候&#xff0c;会有"NPF driver is not running"…