Python3操作SQLite3创建表主键自增长|CRUD基本操作


Win11查看安装的Python路径及安装的库

Python PEP8 代码规范常见问题及解决方案

Python3操作MySQL8.XX创建表|CRUD基本操作

Python3操作SQLite3创建表主键自增长|CRUD基本操作

anaconda3最新版安装|使用详情|Error: Please select a valid Python interpreter

Python函数绘图与高等代数互融实例(一):正弦函数与余弦函数

Python函数绘图与高等代数互融实例(二):闪点函数

Python函数绘图与高等代数互融实例(三):设置X|Y轴|网格线

Python函数绘图与高等代数互融实例(四):设置X|Y轴参考线|参考区域

Python函数绘图与高等代数互融实例(五): 则线图综合案例

 


一: SQLite3创建表时主键自增长

1: sqlite支持建立自增主键
create table t_user 
(id integer primary key autoincrement,age int(2), name varchar(10),address varchar(100)
)

 2: 联合主键 

 create table t_user
(

 address_id varchar(20), 
 id integer primary key autoincrement, age int(2),
 name varchar(10),
 address varchar(100),

 primary key (id,address_id )

)

注意:在创建联合主键时,主键创建要放在所有字段最后面,否则也会创建失败

二: Python使用SQLite3创建表

import sqlite3'''由于Python已经内置了SQLite3,直接引入SQLite3模块即可使用
'''# 连接到数据库SQLite
# 数据库文件时data.db,如果文件不存在,则自动在当前目录下面创建conn = sqlite3.connect('data.db')
# 创建一个游标对象Cursor
cursor = conn.cursor()
# 执行一条建表语句,创建t_user表
try:cursor.execute("create table t_user (id INTEGER  PRIMARY KEY  AUTOINCREMENT,"" age int(2), name varchar(10),address varchar(100))")# 提交conn.commit()
except Exception as err:conn.rollback()print("error: ", err)
finally:print("执行finally模块: ", "关闭系统资源")# 关闭游标cursor.close()# 关闭Connection对象conn.close()

 三: 批量插入主键自增长数据主键的赋值

import sqlite3'''对数据库SQLite3执行CRUD操作
'''conn = sqlite3.connect("data.db")cursor = conn.cursor()
param = [(None, 20, "老王", "北京市海淀区中关村软件园创新中心1-1001"),(None, 23, "老李", "北京市朝阳区中关村软件园创新中心1-1011"),(None, 22, "老高", "北京市昌平区中关村软件园创新中心1-1021"),(None, 25, "老函", "北京市密云区中关村软件园创新中心1-1031"),(None, 80, "老彪", "北京市房山区中关村软件园创新中心1-1041"),(None, 90, "老表", "北京市丰台区中关村软件园创新中心1-1051")]
try:# 批量插入数据sql = 'insert into t_user values(?,?,?,?)'cursor.executemany(sql, param)conn.commit()
except Exception as err:print("插入数据异常: ", err)conn.rollback()
finally:cursor.execute("select * from t_user")resultSet = cursor.fetchall()for item in resultSet:print("数据库表(t_user)数据集: ", item)# 释放资源,关闭游标cursor.close()# 关闭连接conn.close()

四: 查看执行结果 

D:\program_file_worker\anaconda\python.exe D:\program_file_worker\python_source_work\SSO\grammar\ClassGrammarExecutorCRUD.py 
数据库表(t_user)数据集:  (1, 20, '老王', '北京市海淀区中关村软件园创新中心1-1001')
数据库表(t_user)数据集:  (2, 23, '老李', '北京市朝阳区中关村软件园创新中心1-1011')
数据库表(t_user)数据集:  (3, 22, '老高', '北京市昌平区中关村软件园创新中心1-1021')
数据库表(t_user)数据集:  (4, 25, '老函', '北京市密云区中关村软件园创新中心1-1031')
数据库表(t_user)数据集:  (5, 80, '老彪', '北京市房山区中关村软件园创新中心1-1041')
数据库表(t_user)数据集:  (6, 90, '老表', '北京市丰台区中关村软件园创新中心1-1051')
数据库表(t_user)数据集:  (7, 20, '老王', '北京市海淀区中关村软件园创新中心1-1001')
数据库表(t_user)数据集:  (8, 23, '老李', '北京市朝阳区中关村软件园创新中心1-1011')
数据库表(t_user)数据集:  (9, 22, '老高', '北京市昌平区中关村软件园创新中心1-1021')
数据库表(t_user)数据集:  (10, 25, '老函', '北京市密云区中关村软件园创新中心1-1031')
数据库表(t_user)数据集:  (11, 80, '老彪', '北京市房山区中关村软件园创新中心1-1041')
数据库表(t_user)数据集:  (12, 90, '老表', '北京市丰台区中关村软件园创新中心1-1051')
数据库表(t_user)数据集:  (13, 20, '老王', '北京市海淀区中关村软件园创新中心1-1001')
数据库表(t_user)数据集:  (14, 23, '老李', '北京市朝阳区中关村软件园创新中心1-1011')
数据库表(t_user)数据集:  (15, 22, '老高', '北京市昌平区中关村软件园创新中心1-1021')
数据库表(t_user)数据集:  (16, 25, '老函', '北京市密云区中关村软件园创新中心1-1031')
数据库表(t_user)数据集:  (17, 80, '老彪', '北京市房山区中关村软件园创新中心1-1041')
数据库表(t_user)数据集:  (18, 90, '老表', '北京市丰台区中关村软件园创新中心1-1051')
数据库表(t_user)数据集:  (19, 20, '老王', '北京市海淀区中关村软件园创新中心1-1001')
数据库表(t_user)数据集:  (20, 23, '老李', '北京市朝阳区中关村软件园创新中心1-1011')
数据库表(t_user)数据集:  (21, 22, '老高', '北京市昌平区中关村软件园创新中心1-1021')
数据库表(t_user)数据集:  (22, 25, '老函', '北京市密云区中关村软件园创新中心1-1031')
数据库表(t_user)数据集:  (23, 80, '老彪', '北京市房山区中关村软件园创新中心1-1041')
数据库表(t_user)数据集:  (24, 90, '老表', '北京市丰台区中关村软件园创新中心1-1051')

Process finished with exit code 0
 

五:SQLite3批量插入的方式

通过Python脚本向sqlite3数据库批量插入数据这里记录两种批量插入数据的方式:
1、通过execute,用for语句循环
#导入sqlite3包
import sqlite3
# 创建数据库连接
conn = sqlite3.connect("data.db")
#获取一个游标对象
cursor=conn.cursor()
#设置参数i,for语句循环
for i in range(1,10):param=str(i)sql="insert into t_user values(?,?,?,?)"cursor.execute(sql,param)conn.commit()
#关闭连接
conn.close()
cursor.close()2、通过executemany,数据的格式必须为list[tuple(),tuple(),tuple()]或者tuple(tuple(),tuple(),tuple())import sqlite3
# 打开数据库连接
conn = sqlite3.connect("data.db")
# 使用cursor()方法获取操作游标
cursor = conn.cursor()
#批量插入数据;mysql使用%  sqlite使用?
sql="insert into t_user values(?,?,?,?)"
#每一个值都作为一个元组,整个参数集作为一个元组
param=((111111,'haha',13),(22222,'hehe',34))
#或者每一个值作为元组,整个参数集作为list :param=[(111111,'haha',13),(22222,'hehe',34)]
#使用executemany方法批量插入数据
cursor.executemany(sql,param)
#提交
conn.commit()
#关闭
conn.close()
cursor.close()===============================================================================
三、cursor执行命令的方法
1、 callproc(self, procname, args):用来执行存储过程,接收的参数为存储过程名和参数列表,返回值为受影响的行数
2、 execute(self, query, args):执行单条sql语句,接收的参数为sql语句本身和使用的参数列表,返回值为受影响的行数
3、executemany(self, query, args):执行单挑sql语句,但是重复执行参数列表里的参数,返回值为受影响的行数
4、nextset(self):移动到下一个结果集
===============================================================================四、cursor接受返回值的方法
1、 fetchall(self):接收全部的返回结果行.
2、 fetchmany(self, size=None):接收size条返回结果行.如果size的值大于返回的结果行的数量,则会返回cursor.arraysize条数据.
3、 fetchone(self):返回一条结果行.
4、 scroll(self, value, mode=‘relative’):移动指针到某一行.如果mode=‘relative’,则表示从当前所在行移动value条,如果mode=‘absolute’,则表示从结果集的第一 行移动value条
#执行查询的操作cursor.execute("select * from cdinfo")
#用fetcall方法获取查询返回的全部结果,将结果保存到tup,每条结果都是元组类型,所有的元组组成了一个元组集tup=cursor.fetchall()print(tup)#输出整个结果 print tup[0][3]#输出元组集中,第一个元组的第四个元素

六: Python查询SQLite3数据库的三种方式

import sqlite3'''Python提供了三种查询数据的函数:fetchone(): 获取查询结果集中的下一条记录fetchmany(size)获取指定数量的记录fetchall():获取结果集中的所有记录'''conn = sqlite3.connect("data.db")
cursor = conn.cursor()
userId = 5
try:sql = "select * from t_user"cursor.execute(sql)# 获取查询结果resultOne = cursor.fetchone()print("resultOne: ", resultOne)resultTwo = cursor.fetchmany(20)print("resultTwo: ", resultTwo)resultAll = cursor.fetchall()print("resultAll: ", resultAll)# 使用占位符?,可以避免SQL注入的风险,元组作为参数传值,元组中只有一个元素时,最后的逗号不能去掉resultWhere = cursor.execute("select * from t_user where id <= ?", (userId,))print()print("resultWhere: ", resultWhere.fetchall())
except Exception as err:print("系统异常: ", err)finally:cursor.close()conn.close()

七: 执行结果 

D:\program_file_worker\anaconda\python.exe D:\program_file_worker\python_source_work\SSO\grammar\ClassGrammarBatchOperation.py 
resultOne:  (1, 20, '老王', '北京市海淀区中关村软件园创新中心1-1001')
resultTwo:  [(2, 23, '老李', '北京市朝阳区中关村软件园创新中心1-1011'), (3, 22, '老高', '北京市昌平区中关村软件园创新中心1-1021'), (4, 25, '老函', '北京市密云区中关村软件园创新中心1-1031'), (5, 80, '老彪', '北京市房山区中关村软件园创新中心1-1041'), (6, 90, '老表', '北京市丰台区中关村软件园创新中心1-1051'), (7, 20, '老王', '北京市海淀区中关村软件园创新中心1-1001'), (8, 23, '老李', '北京市朝阳区中关村软件园创新中心1-1011'), (9, 22, '老高', '北京市昌平区中关村软件园创新中心1-1021'), (10, 25, '老函', '北京市密云区中关村软件园创新中心1-1031'), (11, 80, '老彪', '北京市房山区中关村软件园创新中心1-1041'), (12, 90, '老表', '北京市丰台区中关村软件园创新中心1-1051'), (13, 20, '老王', '北京市海淀区中关村软件园创新中心1-1001'), (14, 23, '老李', '北京市朝阳区中关村软件园创新中心1-1011'), (15, 22, '老高', '北京市昌平区中关村软件园创新中心1-1021'), (16, 25, '老函', '北京市密云区中关村软件园创新中心1-1031'), (17, 80, '老彪', '北京市房山区中关村软件园创新中心1-1041'), (18, 90, '老表', '北京市丰台区中关村软件园创新中心1-1051'), (19, 20, '老王', '北京市海淀区中关村软件园创新中心1-1001'), (20, 23, '老李', '北京市朝阳区中关村软件园创新中心1-1011'), (21, 22, '老高', '北京市昌平区中关村软件园创新中心1-1021')]
resultAll:  [(22, 25, '老函', '北京市密云区中关村软件园创新中心1-1031'), (23, 80, '老彪', '北京市房山区中关村软件园创新中心1-1041'), (24, 90, '老表', '北京市丰台区中关村软件园创新中心1-1051'), (25, 20, '老王', '北京市海淀区中关村软件园创新中心1-1001'), (26, 23, '老李', '北京市朝阳区中关村软件园创新中心1-1011'), (27, 22, '老高', '北京市昌平区中关村软件园创新中心1-1021'), (28, 25, '老函', '北京市密云区中关村软件园创新中心1-1031'), (29, 80, '老彪', '北京市房山区中关村软件园创新中心1-1041'), (30, 90, '老表', '北京市丰台区中关村软件园创新中心1-1051'), (31, 20, '老王', '北京市海淀区中关村软件园创新中心1-1001'), (32, 23, '老李', '北京市朝阳区中关村软件园创新中心1-1011'), (33, 22, '老高', '北京市昌平区中关村软件园创新中心1-1021'), (34, 25, '老函', '北京市密云区中关村软件园创新中心1-1031'), (35, 80, '老彪', '北京市房山区中关村软件园创新中心1-1041'), (36, 90, '老表', '北京市丰台区中关村软件园创新中心1-1051'), (37, 20, '老王', '北京市海淀区中关村软件园创新中心1-1001'), (38, 23, '老李', '北京市朝阳区中关村软件园创新中心1-1011'), (39, 22, '老高', '北京市昌平区中关村软件园创新中心1-1021'), (40, 25, '老函', '北京市密云区中关村软件园创新中心1-1031'), (41, 80, '老彪', '北京市房山区中关村软件园创新中心1-1041'), (42, 90, '老表', '北京市丰台区中关村软件园创新中心1-1051'), (43, 20, '老王', '北京市海淀区中关村软件园创新中心1-1001'), (44, 23, '老李', '北京市朝阳区中关村软件园创新中心1-1011'), (45, 22, '老高', '北京市昌平区中关村软件园创新中心1-1021'), (46, 25, '老函', '北京市密云区中关村软件园创新中心1-1031'), (47, 80, '老彪', '北京市房山区中关村软件园创新中心1-1041'), (48, 90, '老表', '北京市丰台区中关村软件园创新中心1-1051'), (49, 20, '老王', '北京市海淀区中关村软件园创新中心1-1001'), (50, 23, '老李', '北京市朝阳区中关村软件园创新中心1-1011'), (51, 22, '老高', '北京市昌平区中关村软件园创新中心1-1021'), (52, 25, '老函', '北京市密云区中关村软件园创新中心1-1031'), (53, 80, '老彪', '北京市房山区中关村软件园创新中心1-1041'), (54, 90, '老表', '北京市丰台区中关村软件园创新中心1-1051'), (55, 20, '老王', '北京市海淀区中关村软件园创新中心1-1001'), (56, 23, '老李', '北京市朝阳区中关村软件园创新中心1-1011'), (57, 22, '老高', '北京市昌平区中关村软件园创新中心1-1021'), (58, 25, '老函', '北京市密云区中关村软件园创新中心1-1031'), (59, 80, '老彪', '北京市房山区中关村软件园创新中心1-1041'), (60, 90, '老表', '北京市丰台区中关村软件园创新中心1-1051'), (61, 20, '老王', '北京市海淀区中关村软件园创新中心1-1001'), (62, 23, '老李', '北京市朝阳区中关村软件园创新中心1-1011'), (63, 22, '老高', '北京市昌平区中关村软件园创新中心1-1021'), (64, 25, '老函', '北京市密云区中关村软件园创新中心1-1031'), (65, 80, '老彪', '北京市房山区中关村软件园创新中心1-1041'), (66, 90, '老表', '北京市丰台区中关村软件园创新中心1-1051'), (67, 20, '老王', '北京市海淀区中关村软件园创新中心1-1001'), (68, 23, '老李', '北京市朝阳区中关村软件园创新中心1-1011'), (69, 22, '老高', '北京市昌平区中关村软件园创新中心1-1021'), (70, 25, '老函', '北京市密云区中关村软件园创新中心1-1031'), (71, 80, '老彪', '北京市房山区中关村软件园创新中心1-1041'), (72, 90, '老表', '北京市丰台区中关村软件园创新中心1-1051'), (73, 20, '老王', '北京市海淀区中关村软件园创新中心1-1001'), (74, 23, '老李', '北京市朝阳区中关村软件园创新中心1-1011'), (75, 22, '老高', '北京市昌平区中关村软件园创新中心1-1021'), (76, 25, '老函', '北京市密云区中关村软件园创新中心1-1031'), (77, 80, '老彪', '北京市房山区中关村软件园创新中心1-1041'), (78, 90, '老表', '北京市丰台区中关村软件园创新中心1-1051'), (79, 20, '老王', '北京市海淀区中关村软件园创新中心1-1001'), (80, 23, '老李', '北京市朝阳区中关村软件园创新中心1-1011'), (81, 22, '老高', '北京市昌平区中关村软件园创新中心1-1021'), (82, 25, '老函', '北京市密云区中关村软件园创新中心1-1031'), (83, 80, '老彪', '北京市房山区中关村软件园创新中心1-1041'), (84, 90, '老表', '北京市丰台区中关村软件园创新中心1-1051'), (85, 20, '老王', '北京市海淀区中关村软件园创新中心1-1001'), (86, 23, '老李', '北京市朝阳区中关村软件园创新中心1-1011'), (87, 22, '老高', '北京市昌平区中关村软件园创新中心1-1021'), (88, 25, '老函', '北京市密云区中关村软件园创新中心1-1031'), (89, 80, '老彪', '北京市房山区中关村软件园创新中心1-1041'), (90, 90, '老表', '北京市丰台区中关村软件园创新中心1-1051'), (91, 20, '老王', '北京市海淀区中关村软件园创新中心1-1001'), (92, 23, '老李', '北京市朝阳区中关村软件园创新中心1-1011'), (93, 22, '老高', '北京市昌平区中关村软件园创新中心1-1021'), (94, 25, '老函', '北京市密云区中关村软件园创新中心1-1031'), (95, 80, '老彪', '北京市房山区中关村软件园创新中心1-1041'), (96, 90, '老表', '北京市丰台区中关村软件园创新中心1-1051'), (97, 20, '老王', '北京市海淀区中关村软件园创新中心1-1001'), (98, 23, '老李', '北京市朝阳区中关村软件园创新中心1-1011'), (99, 22, '老高', '北京市昌平区中关村软件园创新中心1-1021'), (100, 25, '老函', '北京市密云区中关村软件园创新中心1-1031'), (101, 80, '老彪', '北京市房山区中关村软件园创新中心1-1041'), (102, 90, '老表', '北京市丰台区中关村软件园创新中心1-1051'), (103, 20, '老王', '北京市海淀区中关村软件园创新中心1-1001'), (104, 23, '老李', '北京市朝阳区中关村软件园创新中心1-1011'), (105, 22, '老高', '北京市昌平区中关村软件园创新中心1-1021'), (106, 25, '老函', '北京市密云区中关村软件园创新中心1-1031'), (107, 80, '老彪', '北京市房山区中关村软件园创新中心1-1041'), (108, 90, '老表', '北京市丰台区中关村软件园创新中心1-1051'), (109, 20, '老王', '北京市海淀区中关村软件园创新中心1-1001'), (110, 23, '老李', '北京市朝阳区中关村软件园创新中心1-1011'), (111, 22, '老高', '北京市昌平区中关村软件园创新中心1-1021'), (112, 25, '老函', '北京市密云区中关村软件园创新中心1-1031'), (113, 80, '老彪', '北京市房山区中关村软件园创新中心1-1041'), (114, 90, '老表', '北京市丰台区中关村软件园创新中心1-1051')]

resultWhere:  [(1, 20, '老王', '北京市海淀区中关村软件园创新中心1-1001'), (2, 23, '老李', '北京市朝阳区中关村软件园创新中心1-1011'), (3, 22, '老高', '北京市昌平区中关村软件园创新中心1-1021'), (4, 25, '老函', '北京市密云区中关村软件园创新中心1-1031'), (5, 80, '老彪', '北京市房山区中关村软件园创新中心1-1041')]

Process finished with exit code 0
 

八: 更新数据 

import sqlite3'''对数据库SQLite3执行update操作
'''conn = sqlite3.connect("data.db")cursor = conn.cursor()try:sql = "update t_user set name=? where id = ?"cursor.execute(sql, ('老杨', 1))  # id为1的字段更新为"老杨"conn.commit()print('执行成功!')
except Exception as err:print("update时发生了异常: ", err)conn.rollback()
finally:result = cursor.execute("select * from t_user where id = ?", (1,))print("更新后的数据为:  ", result.fetchone())print("游标,数据库连接关闭,释放连接资源.....")cursor.close()conn.close()

九: 删除操作

import sqlite3'''对数据库SQLite3执行delete操作
'''conn = sqlite3.connect("data.db")cursor = conn.cursor()
try:sql = "delete from t_user where id = ?"cursor.execute(sql, (204,))  # id=201记录删除conn.commit()print('执行成功!')
except Exception as err:print("删除时发生了异常: ", err)conn.rollback()
finally:result = cursor.execute("select * from t_user where id = 204")for item in result.fetchall():print("删除后的数据为:  ", item)print("游标,数据库连接关闭,释放连接资源.....")cursor.close()conn.close()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/90529.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker版部署RocketMQ开启ACL验证

一、拉取镜像 docker pull apache/rocketmq:latest 二、准备挂载目录 mkdir /usr/local/rocketmq/data mkdir /usr/local/rocketmq/conf 三、运行 docker run \ -d \ -p 9876:9876 \ -v /usr/local/rocketmq/data/logs:/home/rocketmq/logs \ -v /usr/local/rocketmq/data…

十五.镜头知识之景深(Depth of Field)

十五.镜头知识之景深(Depth of Field) 文章目录 十五.镜头知识之景深(Depth of Field)15.1 概述15.2 景深(depth of field)定义15.3 景深原理15.3.1 弥散圆(circle of confusion) 15.4 景深总结 15.1 概述 先看两个例子&#xff0c;拍摄花、昆虫等照片时&#xff0c;背景拍的比…

【C++】vector的介绍 | 常见接口的使用

目录 vector的介绍 常见接口 构造函数 尾插push_back() vector的遍历 1.用方括号下标 遍历&#xff1a; 2.调用at()来访问&#xff1a; 3.用迭代器遍历&#xff1a; 4.范围for遍历&#xff1a; vector空间 vector增删查改 覆盖assign() 查找find() 插入insert() …

【加载数据--自定义自己的Dataset类】

【加载数据自定义自己的Dataset类】 1 加载数据2 数据转换3 自定义Dataset类4 划分训练集和测试集5 提取一批次数据并绘制样例图 假设有四种天气图片数据全部存放与一个文件夹中&#xff0c;如下图所示&#xff1a; ├─dataset2 │ cloudy1.jpg │ cloudy10.jpg │ …

物联网、工业大数据平台 TDengine 与苍穹地理信息平台完成兼容互认证

当前&#xff0c;在政府、军事、城市规划、自然资源管理等领域&#xff0c;企业对地理信息的需求迅速增加&#xff0c;人们需要更有效地管理和分析地理数据&#xff0c;以进行决策和规划。在此背景下&#xff0c;“GIS 基础平台”应运而生&#xff0c;它通常指的是一个地理信息…

FL Studio21.1电脑试用体验版音乐制作软件

我一直以来对音乐艺术都很感兴趣。最近我接触到了一款名为 FL Studio 的电脑版音乐制作软件&#xff0c;深感其强大功能和广泛适用性。通过使用这款软件&#xff0c;我不仅深入了解了音乐制作的过程与技巧&#xff0c;也加深了对音乐创作的理解。 FL Studio 最初是一款针对 MI…

四川玖璨电子商务有限公司抖音培训引领电商新潮

近年来&#xff0c;随着电子商务的迅猛发展&#xff0c;抖音这个社交媒体平台也逐渐成为了商家必争之地。四川玖璨电子商务有限公司抖音培训&#xff0c;为你解锁电商流量密码&#xff0c;助你一飞冲天&#xff01; 一、抖音电商&#xff1a;下一个电商蓝海 作为拥有海量用户的…

爬虫抓取数据时显示超时,是爬虫IP质量问题?

当我们进行网络爬虫开发时&#xff0c;有时会遇到抓取数据时出现超时的情况。这可能是由于目标网站对频繁请求做了限制&#xff0c;或者是由于网络环境不稳定造成的。其中&#xff0c;爬虫IP的质量也是导致超时的一个重要因素。本文将探讨抓取数据时出现超时的原因&#xff0c;…

前端开发 vs. 后端开发:编程之路的选择

文章目录 前端开发&#xff1a;用户界面的创造者1. HTML/CSS/JavaScript&#xff1a;2. 用户体验设计&#xff1a;3. 响应式设计&#xff1a;4. 前端框架&#xff1a; 后端开发&#xff1a;数据和逻辑的构建者1. 服务器端编程&#xff1a;2. 数据库&#xff1a;3. 安全性&#…

深度学习入门教学——对抗攻击和防御

目录 一、对抗样本 二、对抗攻击 三、对抗防御 一、对抗样本 对抗样本是指对机器学习模型的输入做微小的故意扰动,导致模型输出结果出现错误的样本。深度神经网络在经过大量数据训练后&#xff0c;可以实现非常复杂的功能。在语音识别、图像识别、自然语言处理等任务上被广…

整型提升——(巩固提高——字符截取oneNote笔记详解)

文章目录 前言一、整型提升是什么&#xff1f;二、详细图解1.图解展示 总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 整型提升是数据存储的重要题型&#xff0c;也是计算机组成原理的核心知识点。学习c语言进阶的时候,了解内存中数据怎么存&#…

APS手动编译,CLion测试

一、简介 APSI——Asymmetric PSI&#xff1a; 私用集交集&#xff08;PSI&#xff09;是指这样一种功能&#xff0c;即双方都持有一组私用项&#xff0c;可以在不向对方透露任何其他信息的情况下检查他们有哪些共同项。集合大小的上限被假定为公共信息&#xff0c;不受保护。 …

QtCreator报大量未知标识符错误的解决方法

目录 前言背景介绍问题1问题1解决方法问题2问题2 解决方法总结 前言 本文记录了在使用QtCreator开发时遇到的一个错误&#xff0c;导致编译时出现大量的“未知标识符”&#xff0c;经过一番努力最终解决了这个问题&#xff0c;特在此记录。 背景介绍 Qt项目在麒麟V10 系统下…

【DTEmpower案例操作教程】向导式建模

DTEmpower是由天洑软件自主研发的一款通用的智能数据建模软件&#xff0c;致力于帮助工程师及工科专业学生&#xff0c;利用工业领域中的仿真、试验、测量等各类数据进行挖掘分析&#xff0c;建立高质量的数据模型&#xff0c;实现快速设计评估、实时仿真预测、系统参数预警、设…

手机上记录的备忘录内容怎么分享到电脑上查看?

手机已经成为了我们生活中不可或缺的一部分&#xff0c;我们用它来处理琐碎事务&#xff0c;记录生活点滴&#xff0c;手机备忘录就是我们常用的工具之一。但随着工作的需要&#xff0c;我们往往会遇到一个问题&#xff1a;手机上记录的备忘录内容&#xff0c;如何方便地分享到…

微信小游戏从零到上线系列文章整理,建议收藏

引言 本系列是《从零开始开发贪吃蛇小游戏到上线系列》&#xff0c;欢迎大家关注分享收藏订阅。 大家中秋快乐&#xff0c;我是亿元程序员&#xff0c;一位有着8年游戏行业经验的主程。前面笔者给大家讲解了微信小游戏如何从零到上线的流程。可能很多小伙伴都还没有看到。 本…

某高校的毕设

最近通过某个平台接的单子&#xff0c;最后Kali做的测试没有公开可以私聊给教程。 下面是规划与配置 1.vlan方面&#xff1a;推荐一个vlan下的所有主机为一个子网网段 连接电脑和http客户端的接口配置为access接口 交换机与交换机或路由器连接的接口配置为trunk接口---也可以…

阿里云网络、数据中心和服务器技术创新优势说明

阿里云服务器技术创新、网络技术创新、数据中心技术创新和智能运维&#xff1a;云服务器方升架构、自研硬件、自研存储硬件AliFlash和异构计算加速平台&#xff0c;以及全自研网络系统技术创新和数据中心巴拿马电源、液冷技术等技术创新说明&#xff0c;阿里云百科aliyunbaike.…

conan入门(二十八):解决conan 1.60.0下 arch64-linux-gnu交叉编译openssl/3.1.2报错问题

上一篇博客《conan入门(二十七):因profile [env]字段废弃导致的boost/1.81.0 在aarch64-linux-gnu下交叉编译失败》解决了conan 1.60.0交叉编译boost/1.80.1的问题后&#xff0c;我继续交叉编译openssl/3.1.2时又报错了 conan install openssl/3.1.2 -pr:h aarch64-linux-gnu.…

Linux--进程间通信之命名管道

目录 前言概念命名管道的创建命名管道特性 命名管道通信建立连接资源处理 Client && Server通信总结 前言 上一篇文章介绍匿名管道的进程间通信只适合在具有血缘关系的进程间进行通信&#xff0c;但是如果我们想让两个不相关的进程实现通信&#xff0c;使用匿名管道显…