Python Access:删除数据库中指定的表和查询

python对access数据库的增删改查 access python 增删改查 阅读详情

函数说明

delete_access_objects 函数具有以下特点:

  1. 参数验证:

    • 检查数据库文件是否存在
    • 处理空的表名和查询名列表
  2. 安全删除:

    • 在删除前检查对象是否存在
    • 使用异常处理确保程序不会因单个对象删除失败而中断
  3. 资源管理:

    • 使用 try/finally 块确保正确关闭数据库和 Access 应用程序
    • 避免资源泄漏
  4. 反馈信息:

    • 提供详细的操作反馈,包括成功删除的对象和跳过的对象

使用注意事项

  1. 备份重要数据:删除操作不可逆,建议在执行前备份数据库
import win32com.client as win32
import os

def delete_access_objects(mdb_path, table_names=None, query_names=None):
    """
    删除指定 Access 数据库中的表和查询
    
    参数:
        mdb_path: Access 数据库文件路径 (.mdb 或 .accdb)
        table_names: 要删除的表名称列表
        query_names: 要删除的查询名称列表
    """
    # 初始化参数为空列表(如果未提供)
    if table_names is None:
        table_names = []
    if query_names is None:
        query_names = []
    
    # 检查文件是否存在
    if not os.path.exists(mdb_path):
        print(f"错误:数据库文件不存在 - {mdb_path}")
        return False
    
    access = None
    try:
        # 创建 Access 应用程序对象
        access = win32.Dispatch("Access.Application")
        access.Visible = False  # 不显示 Access 界面
        
        # 打开数据库
        access.OpenCurrentDatabase(mdb_path)
        db = access.CurrentDb()
        
        # 删除指定的表
        for table_name in table_names:
            try:
                # 检查表是否存在
                table_exists = False
                for table in db.TableDefs:
                    if table.Name == table_name:
                        table_exists = True
                        break
                
                if table_exists:
                    db.TableDefs.Delete(table_name)
                    print(f"已删除表: {table_name}")
                else:
                    print(f"表不存在,跳过: {table_name}")
            except Exception as e:
                print(f"删除表 {table_name} 时出错: {str(e)}")
        
        # 删除指定的查询
        for query_name in query_names:
            try:
                # 检查查询是否存在
                query_exists = False
                for query in db.QueryDefs:
                    if query.Name == query_name:
                        query_exists = True
                        break
                
                if query_exists:
                    db.QueryDefs.Delete(query_name)
                    print(f"已删除查询: {query_name}")
                else:
                    print(f"查询不存在,跳过: {query_name}")
            except Exception as e:
                print(f"删除查询 {query_name} 时出错: {str(e)}")
        
        print("操作完成!")
        return True
        
    except Exception as e:
        print(f"操作过程中发生错误: {str(e)}")
        return False
    finally:
        # 确保关闭 Access 应用程序
        if access:
            access.CloseCurrentDatabase()
            access.Quit()
            access = None

# 使用示例
if __name__ == "__main__":
    # 指定数据库路径
    database_path = r"C:\Path\To\Your\Database.mdb"
    
    # 指定要删除的表和查询名称列表
    tables_to_delete = ["OldTable1", "TempTable", "ObsoleteData"]
    queries_to_delete = ["OldQuery", "TempQuery", "UnusedReport"]
    
    # 执行删除操作
    delete_access_objects(database_path, tables_to_delete, queries_to_delete)

V 1.5

import win32com.client as win32
import os

def delete_access_objects(mdb_path, table_names=None, query_names=None):
    """
    删除指定 Access 数据库中的表和查询
    
    参数:
        mdb_path: Access 数据库文件路径 (.mdb 或 .accdb)
        table_names: 要删除的表名称列表
        query_names: 要删除的查询名称列表
    """
    # 初始化参数为空列表(如果未提供)
    table_names = table_names or []
    query_names = query_names or []
    
    # 检查文件是否存在
    if not os.path.exists(mdb_path):
        print(f"错误:数据库文件不存在 - {mdb_path}")
        return False
    
    access = None
    try:
        # 创建 Access 应用程序对象
        access = win32.Dispatch("Access.Application")
        access.Visible = False  # 不显示 Access 界面
        
        # 打开数据库
        access.OpenCurrentDatabase(mdb_path)
        db = access.CurrentDb()
        
        # 预先获取所有表和查询的名称集合(一次性读取,避免重复循环)
        all_tables = {table.Name for table in db.TableDefs}
        all_queries = {query.Name for query in db.QueryDefs}
        
        # 删除指定的表(使用集合交集提高效率)
        tables_to_delete = set(table_names) & all_tables
        tables_not_found = set(table_names) - all_tables
        
        for table_name in tables_not_found:
            print(f"表不存在,跳过: {table_name}")
            
        for table_name in tables_to_delete:
            try:
                db.TableDefs.Delete(table_name)
                print(f"已删除表: {table_name}")
            except Exception as e:
                print(f"删除表 {table_name} 时出错: {str(e)}")
        
        # 删除指定的查询(使用集合交集提高效率)
        queries_to_delete = set(query_names) & all_queries
        queries_not_found = set(query_names) - all_queries
        
        for query_name in queries_not_found:
            print(f"查询不存在,跳过: {query_name}")
            
        for query_name in queries_to_delete:
            try:
                db.QueryDefs.Delete(query_name)
                print(f"已删除查询: {query_name}")
            except Exception as e:
                print(f"删除查询 {query_name} 时出错: {str(e)}")
        
        print("操作完成!")
        return True
        
    except Exception as e:
        print(f"操作过程中发生错误: {str(e)}")
        return False
    finally:
        # 确保关闭 Access 应用程序
        if access:
            try:
                access.CloseCurrentDatabase()
                access.Quit()
            except:
                pass  # 忽略关闭时的错误
            finally:
                access = None

# 更快的版本 - 如果需要极致性能,可以禁用所有输出
def delete_access_objects_fast(mdb_path, table_names=None, query_names=None, verbose=False):
    """
    快速删除指定 Access 数据库中的表和查询(禁用输出以提高速度)
    """
    table_names = table_names or []
    query_names = query_names or []
    
    if not os.path.exists(mdb_path):
        if verbose:
            print(f"错误:数据库文件不存在 - {mdb_path}")
        return False
    
    access = None
    try:
        access = win32.Dispatch("Access.Application")
        access.Visible = False
        
        access.OpenCurrentDatabase(mdb_path)
        db = access.CurrentDb()
        
        # 一次性获取所有对象名称
        all_tables = {table.Name for table in db.TableDefs}
        all_queries = {query.Name for query in db.QueryDefs}
        
        # 批量删除表
        for table_name in set(table_names) & all_tables:
            try:
                db.TableDefs.Delete(table_name)
                if verbose:
                    print(f"已删除表: {table_name}")
            except Exception:
                if verbose:
                    print(f"删除表 {table_name} 时出错")
        
        # 批量删除查询
        for query_name in set(query_names) & all_queries:
            try:
                db.QueryDefs.Delete(query_name)
                if verbose:
                    print(f"已删除查询: {query_name}")
            except Exception:
                if verbose:
                    print(f"删除查询 {query_name} 时出错")
        
        if verbose:
            print("操作完成!")
        return True
        
    except Exception as e:
        if verbose:
            print(f"操作过程中发生错误: {str(e)}")
        return False
    finally:
        if access:
            try:
                access.CloseCurrentDatabase()
                access.Quit()
            except:
                pass

# 使用示例
if __name__ == "__main__":
    # 指定数据库路径
    database_path = r"C:\Path\To\Your\Database.mdb"
    
    # 指定要删除的表和查询名称列表
    tables_to_delete = ["OldTable1", "TempTable", "ObsoleteData"]
    queries_to_delete = ["OldQuery", "TempQuery", "UnusedReport"]
    
    # 执行删除操作(标准版本)
    delete_access_objects(database_path, tables_to_delete, queries_to_delete)
    
    # 执行删除操作(快速版本)
    # delete_access_objects_fast(database_path, tables_to_delete, queries_to_delete, verbose=True)

主要优化点

  1. 使用集合操作:一次性获取所有对象名称,使用集合交集来快速确定哪些对象需要删除
  2. 减少循环次数:从 O(n*m) 降低到 O(n+m),特别是在处理大量对象时效果明显
  3. 简化参数初始化:使用 or 操作符替代 if None 检查
  4. 可选静默模式:快速版本不需要详细输出设置 verbose=False,减少 I/O 开销
  5. 改进错误处理:在 finally 块中添加额外保护

性能对比:

  • 原版本:每个要删除的对象都需要遍历所有现有对象
  • 优化版本:只需要两次遍历(获取所有表名和查询名),后续操作都是高效的集合操作
import win32com.client as win32
import os
import logging

# Configure logging
logging.basicConfig(
    level=logging.INFO,
    format='%(asctime)s - %(levelname)s - %(message)s',
    handlers=[
        logging.StreamHandler(),  # Output to console
        logging.FileHandler('access_cleanup.log')  # Optional: Output to file
    ]
)

logger = logging.getLogger(__name__)

def delete_access_objects(mdb_path, table_names=None, query_names=None):
    """
    Delete specified tables and queries from an Access database.
    
    Args:
        mdb_path (str): Path to the Access database file (.mdb or .accdb)
        table_names (list, optional): List of table names to delete
        query_names (list, optional): List of query names to delete
    
    Returns:
        bool: True if operation completed successfully, False otherwise
    """
    # Initialize parameters as empty lists if not provided
    table_names = table_names or []
    query_names = query_names or []
    
    # Check if file exists
    if not os.path.exists(mdb_path):
        logger.error(f"Database file does not exist: {mdb_path}")
        return False
    
    access = None
    try:
        # Create Access application object
        access = win32.Dispatch("Access.Application")
        access.Visible = False  # Hide Access interface
        
        # Open database
        access.OpenCurrentDatabase(mdb_path)
        db = access.CurrentDb()
        
        # Pre-fetch all table and query names (single read operation to avoid repeated loops)
        all_tables = {table.Name for table in db.TableDefs}
        all_queries = {query.Name for query in db.QueryDefs}
        
        # Delete specified tables (using set intersection for efficiency)
        tables_to_delete = set(table_names) & all_tables
        tables_not_found = set(table_names) - all_tables
        
        # Log tables not found
        for table_name in tables_not_found:
            logger.info(f"Table not found, skipping: {table_name}")
            
        # Delete existing tables
        for table_name in tables_to_delete:
            try:
                db.TableDefs.Delete(table_name)
                logger.info(f"Successfully deleted table: {table_name}")
            except Exception as e:
                logger.error(f"Error deleting table {table_name}: {str(e)}")
        
        # Delete specified queries (using set intersection for efficiency)
        queries_to_delete = set(query_names) & all_queries
        queries_not_found = set(query_names) - all_queries
        
        # Log queries not found
        for query_name in queries_not_found:
            logger.info(f"Query not found, skipping: {query_name}")
            
        # Delete existing queries
        for query_name in queries_to_delete:
            try:
                db.QueryDefs.Delete(query_name)
                logger.info(f"Successfully deleted query: {query_name}")
            except Exception as e:
                logger.error(f"Error deleting query {query_name}: {str(e)}")
        
        logger.info("Operation completed successfully!")
        return True
        
    except Exception as e:
        logger.error(f"Error during operation: {str(e)}")
        return False
    finally:
        # Ensure Access application is properly closed
        if access:
            try:
                access.CloseCurrentDatabase()
                access.Quit()
            except Exception as e:
                logger.warning(f"Warning during Access cleanup: {str(e)}")
            finally:
                access = None

# Usage example
if __name__ == "__main__":
    # Specify database path
    database_path = r"C:\Path\To\Your\Database.mdb"
    
    # Specify lists of tables and queries to delete
    tables_to_delete = ["OldTable1", "TempTable", "ObsoleteData"]
    queries_to_delete = ["OldQuery", "TempQuery", "UnusedReport"]
    
    # Execute deletion operation
    delete_access_objects(database_path, tables_to_delete, queries_to_delete)
超级简单的 Python访问Access(2013)教程 pyodbc无需配置数据源 ''''# -*- coding: utf-8 -*- # 功能:python连接access2010数据库(.accdb) import pyodbc DBfile = r"D:\DB\123.accdb" # 数据库文件 conn = pyodbc.connect( r"Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=... 阅读详情

相关推荐

pyodbc操作Access数据库

现在各种各样的数据库层出不穷,什么MySQL、PostgreSQL、MongoDB这些都是比较火的,还有一些稍微小众一点的数据库就更多了。相比之下,微软Office套件里面附带的Access数据库究落寞了很多。不过好歹Access数据库还是有些用处的,作为一个既是数据库又是前端界面的软件,对一些非科班又有数据库需求的人来说还是比较好用的。本文利用pyodbc来简单了解一下如何操作Access数据库...

乐百川 3424

asp创建sqlserver 或者access表.和删除表

通过实例介绍了asp创建sqlserver 或者access表.和删除表<%set conn=server.createobject("adodb.connection")set rs=server.createobject("adodb.recordset")'连接MS Serverconnstr="provider=SQLOLEDB;Server=ServerName;database=DbNa

form88的专栏 875

Azure SQL Database创建与删除的云原生实践指南

Azure SQL Database并非传统SQL Server的云化移植,而是一种基于ARM资源模型的PaaS服务——其创建与删除本质是资源生命周期管理,而非单纯T-SQL操作。理解资源组、逻辑服务器、数据库三层依赖关系,是避免误删、费用失控和连接失败的前提;掌握Serverless与Provisioned服务层级差异、TDE默认加密机制、PITR备份链行为等核心原理,可显著提升AI元数据平台、沙箱环境及生产系统的稳定性与成本效率。本文聚焦真实工程场景,覆盖Portal图形化部署、CLI批量自动化、安全删

cuiyingchan0663的博客 455

access设计视图打不开_19、ACCESS操作查询之“删除查询”(ACCESS图解操作系列)...

操作要求:在利用ACCESS数据库“教学管理钟老师课堂.accdb”中数据表,完成如下查询。2、创建一“系-职称-教师删除查询”。以教师备份表为数据源,创建一“系-职称-教师删除查询”,实现通过在参数对话框中输入系别、职称,删除相应系及职称的教师记录。提示信息为“请输入要删除老师所在系别”,“请输入要删除老师所获职称”。知识点说明:删除查询注意要点:(1)设计界面中的“数据表视图”:对于删除查询而...

weixin_39940714的博客 907

保姆级教程:Halcon 3D点云匹配与差异分析避坑指南(从采样到可视化)

本文提供了一份详细的Halcon 3D点云匹配与差异分析实战指南,涵盖从模型准备到可视化的全流程。重点解析了STL文件读取单位误区、点云采样密度优化、表面模型创建技巧以及差异分析的专业手法,帮助用户避开常见陷阱,提升工业检测效率与精度。

weixin_33728268的博客 402

使用mixamo导入人物动作到unity

导入的材质是withoutSkin时选择Create From Other Model + 选择带withSkin里的。方案二:Textures选择Extract Textures,将文件存放到喜欢的位置(不行继续方案三)2.动画没有动:开个Animation窗口,选择人物的Prefab(Hierachy),查看窗口左侧。方案三:选中素材自带或者导出的Material,接着方案一选择 选中的materials进行转化。选 withSkin,剩下的动作选without Skin)(角色发生位移时出现选项)

big_good_boy的博客 1636

第一章 Python pyodbc连接access数据库的使用方法

解决pyodbc安装报错并快速入门python第三方库pyodbc连接access数据库

weixin_45731859的博客 1万+

用Arduino和8个舵机,从零搭建一台能走路的并联腿机器狗(附完整代码与3D模型)

本文详细介绍了如何用Arduino和8个舵机从零搭建一台能走路的并联腿机器狗,包括硬件准备、结构组装、电路系统搭建、运动算法实现和Arduino编程。通过完整的代码与3D模型,帮助创客深入理解机器人运动原理,实现稳健行走的8自由度机器狗。

weixin_30482383的博客 702

利用python的pyodbc连接access 数据库 & pyodbc的基本用法

一、安装第三方库 pyodbcPip install pyodbc二、检验是否可以正常连接数据库检查是否有一个Microsoft Access ODBC驱动程序可用于你的Python环境(在Windows上)的方法:&gt;&gt;&gt; import pyodbc &gt;&gt;&gt; [x for x in pyodbc.drivers() if x.startswith('Micros...

growth_path_的博客 2万+

Python与numpy版本兼容性排查指南

本文详细解析了Python与numpy版本兼容性问题,提供了快速诊断和解决版本冲突的实用方法。通过查看版本信息、使用官方兼容性对照表以及降级或升级环境等方案,帮助开发者有效避免常见的报错问题,如'ImportError'和'AttributeError'。文章还介绍了使用虚拟环境和requirements.txt等工程实践,确保项目依赖的稳定性。

weixin_29089057的博客 321

从DIY到实战:手把手教你搭建一个媲美吉时利2450的nA级电流源表(附原理图与避坑指南)

本文详细解析如何从零打造nA级精密电流源,涵盖核心设计原理、PCB布局技巧、热电偶效应应对及校准验证体系。通过低成本替代方案和优化设计,实现媲美商用源表的性能,特别适合硬件爱好者和独立开发者。文章还提供原理图与避坑指南,助你轻松搭建高精度电流源系统。

weixin_42656416的博客 295

chatgpt赋能python:Python访问Access数据库

本文由chatgpt生成,文章没有在chatgpt生成的基础上进行任何的修改。以上只是chatgpt能力的冰山一角。作为通用的Aigc大模型,只是展现它原本的实力。对于颠覆工作方式的ChatGPT,应该选择拥抱而不是抗拒,未来属于“会用”AI的人。🧡AI职场汇报智能办公文案写作效率提升教程 🧡专注于AI+职场+办公方向。下图是课程的整体大纲下图是AI职场汇报智能办公文案写作效率提升教程中用到的ai工具。

laingziwei的博客 1250

YOLOv11改进 - 卷积Conv | PATConv(Partial Attention Convolution)部分注意力卷积,在减少计算量的同时融合卷积与注意力的优势 | AAAI 2026

本文提出部分注意力卷积(PATConv)机制,并将其集成到YOLOv11中。传统神经网络中,卷积计算密集,注意力机制全局计算冗余,此前的“部分卷积”会丢失未计算通道的特征价值。PATConv通过“通道拆分 - 并行处理 - 结果拼接”的逻辑,给不同通道分配“擅长的任务”,兼顾局部与全局特征。基于此,它还衍生出PAT_ch、PAT_sp和PAT_sf三种细分模块。此外,还提出了动态部分卷积(DPConv),并构建了新的混合网络家族PartialNet。我们将PATConv代码集成到YOLOv11中,实验表明,

魔改工程师的博客 1085

Python数据库操作-pyodbc

一、安装 1、安装pyodbc库 使用pip或者pipnv方式安装均可。 pip install pyodbc pipenv install pyodbc 2、安装access驱动程序 访问Access数据库,需要手动安装Access数据库引擎。需要注意,Access数据库引擎版本和位数需要和Office对应,否则会安装失败。以下代码均在Office2016(64bit)和Access2016...

嵌入式系统开发 1402

正点原子stm32f103RChal库制作数字秒表:如用keil5和正点原子STM32F1开发板实现?

🏆本文收录于 《全栈Bug调优(实战版)》 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀!    📌 特别说明: 文中部分技术问题来源于真实生产环境及网络公开案例,均经过精挑细选与系统化整理,并结合多位一线资深架构师和工程师多年实战经验沉淀,提

**My Coding Family** 1266

【入门AUTOSAR网络管理测试】CANoe测试T_WakeUp时间

随着智能电动汽车行业的快速发展,目前AUTOSAR网络管理也得到了广泛应用,AUTOSAR网络管理测试也是汽车网络测试中非常重要的环节,NM问题导致的汽车ECU不能唤醒、电瓶亏电等问题,对于新入门AUTOSAR网络管理测试的同学不清楚如何开展测试,那么本章节就主要给大家介绍网络管理中T_WakeUp时间如何测试。【入门AUTOSAR网络管理测试】AUTOSAR网络管理规范需求解读。

测试领域技术分享 2139

使用Python对Access读写操作

学习Python的过程中,我们会遇到Access的读写问题 一、可以利用win32.client模块的COM组件访问功能,通过ADODB操作Access的文件。 1、导入模块 import win32com.client 2、建立数据库连接 conn = win32com.client.Dispatch(r"ADODB.Connection") DSN = 'PROVIDER = Microso...

qq_42992919的博客 9527

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Python连接Access07并操作数据库

具体方法如下: ###第一步:连接数据库,打开相应表 import win32com.client #引入win32 conn = win32com.client.Dispatch(r"ADODB.Connection") #通过win32连接用于数据库操作的ADODB库 DSN = 'Provider=Microsoft.ACE.OLEDB.12.0;Data Source=ex15Connec...

coberup的博客 1188

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

python连接access2007_使用Python / pyodbc插入Access DB

我正在尝试使用Python / pyodbc将一些csv数据插入到Access 2007数据库中.我在Access中测试了一个工作追加查询,它选择了标题和一行值.INSERT INTO AssetDetails ( [Reporting Account Number], [As Of Date], [Asset Type], [Security Description 1], [Shares/Pa...

weixin_30615567的博客 492

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Python连接与操作MS Access数据库的三种主流方案及避坑指南

本文详细介绍了Python连接与操作MS Access数据库的三种主流方案(pyodbc、adodbapi、原生ADO组件)及避坑指南。针对驱动安装、连接配置等常见问题提供实用解决方案,帮助开发者高效处理Access数据库操作中的兼容性和性能优化问题。

weixin_33851177的博客 311

Python连接access数据表进行增删改查

Python连接access数据表进行增删改查 # -*- coding:utf-8 -*- import pyodbc def access_table_read(db_path): """ 连接Microsoft的Access数据表读取数据 :param db_path: Access数据表的所在路径 :return: """ # 连接.md...

皮皮鱼哟 3583

Access 对象模型详解:快速掌握核心架构

Access对象模型

RandPython的博客 1174

Python调用Java:基于Jpype与UCanAccess操作Access数据库实战

本文介绍了一种使用JPype和UCanAccess在Python中操作Access数据库的跨平台解决方案。该方法通过Java JDBC驱动实现,无需安装Office或ODBC组件,支持最新.accdb格式。文中详细说明了环境配置步骤,包括安装JPype、下载UCanAccess相关JAR包和配置Java运行环境。并以一个教学评估案例展示了完整实现代码,包括数据库连接、表结构验证和业务逻辑检查等功能。该方案具有跨平台兼容性强、无需依赖Windows系统、支持复杂SQL查询等优势,适用于需要自动化访问Acces

陆洪春晓的博客 858

ARCGIS、QGIS图形与数据库联动管理 (不动产数据管理系统)

摘要:本文介绍了一套基于C/S架构的不动产数据管理系统,该系统以现有不动产数据为基础,通过分析数据结构实现数据分类整合。系统采用两级权限管理(管理员/普通用户),支持矢量/栅格数据处理、图属联动、数据增删查改等功能。技术架构基于PyQt5、QGIS和Access数据库,具备数据检索、分类统计、叠加分析等核心功能,同时提供操作日志记录确保数据安全。系统支持多种GIS数据格式(shp、CAD、TIFF等)和Access数据库,旨在提升不动产数据管理效率、保障数据安全并促进共享利用。

2301_76534529的博客 933

python vba sql,vba sql查询和输出 vba和python哪个实用

在WPS的VBA中怎么使用SQL语句?方法步骤如下:1.在网上搜索并下载“wps的vba模块”。2.下载解压完成之后,双击”vba6chs“即可安装:3.出现”installhascompletedsuccessfully“就表示已经安装成功,点击”OK“即可:4.这时,回到WPS,就可以看到开发工具中有了宏选项,点击进入VBA编辑界面,就能够正常使用宏功能和VBA了:EXCEL中的VBA SQL...

weixin_35395562的博客 915

python是数据库语言吗_Python入门之数据库基础

数据库的简介数据库数据库(database,DB)是指长期存储在计算机内的,有组织,可共享的数据的集合。数据库中的数据按一定的数学模型组织、描述和存储,具有较小的冗余,较高的数据独立性和易扩展性,并可为各种用户共享。数据库管理系统软件数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。它对数据库进行统一的...

weixin_39745345的博客 449
上一篇: Access 对象模型详解:快速掌握核心架构
下一篇: Python 绘制基金和股票数据的季度变化对比散点图
偷心伊普西隆
博客等级 码龄7年 511粉丝 65原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值