Swift--创建数据库文件以及创建表和字段

FMDB的基本使用和解析(Swift3.0) FMDB FMDB是iOS平台的SQLite数据库框架,FMDB以OC的方式封装了SQLite的C语言API FMDB的优点 使用起来更加面向对象,省去了很多麻烦、冗余的C语言代码提供了多线程安全的数据库操作方法,有效地防止数据混乱 FMDB中3个主要的类:FMDB 更多的详细信息,看github FMDatabase - 代表一个SQLite 阅读详情
    //在沙盒Document文件夹下,创建sqlit文件--- 下一步就是要在里面添加各种表了
    func setupLiveDataBase(){
        let doucumentPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first! as NSString
        let databasePath = doucumentPath.appendingPathComponent(liveDataBase)
        DBQueue = try! DatabaseQueue(path: databasePath)
        DBQueue.setupMemoryManagement(in: UIApplication.shared)
        print("\(databasePath)")

        DBPool = try! DatabasePool(path: databasePath) //document中创建了数据库,现在数据库里面没有一张表
        DBPool.setupMemoryManagement(in: UIApplication.shared)
        
        updateColumn()
    }
    
    //如果数据库没有axPersion这张表,就创建新的axPersion表在里面
    func updateColumn() {
        try! DBPool.write { db in
            do{
                if let _ = try String.fetchOne(db, "select sql from sqlite_master where tbl_name = 'axPersion' and type = 'table'") {
                
                } else {
                    try db.execute(
                        """
                        CREATE TABLE IF NOT EXISTS axPersion (
                        axPersionID integer PRIMARY KEY NOT NULL,
                        GlobalID text UNIQUE NOT NULL,
                        Name text UNIQUE NOT NULL,
                        Sex boolean NOT NULL DEFAULT(1),
                        Home text UNIQUE NOT NULL,
                        Age integer NOT NULL DEFAULT(0)
                        )
                        """
                    )
                }
            }catch let error as DatabaseError {
                print(error.description)
            }
        }
    }
swift-CoreData数据库结合plist文件预置数据案例 1、前言 本人前段时间自主学习swift开发了一款小工具,其中用到了CoreData数据库,使用过程中遇到了许多问题。好记性不如烂笔头,写篇博客记录一下。 2、环境搭建 2.1、新建CoreData工程 新建包含CoreData的工程,xCode->File->New->Project,下面一步时,记得勾选“Use Core Data”。 新建完成之后,会看到工程根目录下有个和工... 阅读详情

相关推荐

Swift项目集成SQLCipher与GRDB实现SQLite数据库加密全攻略

在移动应用开发中,数据安全是保障用户隐私和合规性的基础。SQLite作为广泛使用的本地数据库,其默认不加密的特性存在安全风险。通过加密技术对数据库文件进行保护,可以有效防止数据泄露。SQLCipher作为SQLite的加密扩展,采用基于页的AES-256加密算法,实现了透明的全文件加密,对上层应用几乎无感知。GRDB.swift是Swift生态中优秀的SQLite封装库,提供类型安全和流畅的API。将两者结合,能在不改变现有业务逻辑的前提下,为iOS/macOS应用提供企业级的数据存储安全方案。本文详细解析

weixin_34008805的博客 349

Swift - 路径问题和NSFileManage文件管理

override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. //先来说下博客中Swift - 一步步教你上传头像中的路径问题,博客地址:http://blog.csdn.

CodingFire的博客 5234

iOS-Swift 数据库 WCDB 二次封装使用/自定义字段映射类型

WCDB 是一个易用、高效、完整的移动数据库框架,它基于 SQLite 和 SQLCipher 开发,在微信中应用广泛,且支持在 C++、Java、Kotlin、Swift、Objc 五种语言环境中使用。对于WCDB详细的介绍和使用请移步官方文档,本篇文章主要是对WCDB 常用的功能进行二次封装,使数据库的操作更方便一些。还有就是对于自定义映射类型的详细使用,作为官方文档在这块的一个补充。安装其它方式安装通过 Cocoapods 安装自定义字段映射类型文档示例case idcase name。

lyh1083908486的博客 1944

swift之文件操作

本文介绍了几种文件操作,包括创建文件、删除文件、读取文件中数据、把字符串写入指定文件、获取指定路径的所有文件名等

amberoot's Space 2544

Pikachu靶场环境搭建(Windows环境下安装详细教程)

Pikachu靶场是一个漏洞测试练习平台。其中包含了常见的web安全漏洞,如果你是一个渗透测试学习者没有靶场的练手,那么pikachu是一个很好的测试平台。

weixin_42857656的博客 1823

从信号到振镜:STM32F103 + XY2-100协议 + AM26LS31芯片的激光打标/雕刻系统信号链搭建指南

本文详细介绍了基于STM32F103微控制器和XY2-100协议的激光打标/雕刻系统信号链搭建方法。从数字振镜控制协议解析、AM26LS31差分驱动电路设计到信号完整性优化,提供了一套完整的解决方案,帮助工程师实现高精度激光控制系统的开发与调试。

weixin_42536058的博客 236

Swift3.0语言教程使用路径字符串

Swift3.0语言教程使用路径字符串

大学霸__IT达人 1665

分子对接中的相互作用特征分析(目视筛查)

介绍分子对接的相互作用特征,以及如何通过这些特征进行目视筛查

recher_He1107的博客 5761

Swift之文件操作(2)

swift之文件操作一、创建文件二、删除文件三、读取文件中的数据四、把字符串写入指定文件中五、获取指定路径中的所有文件名六、获取指定路径中的所有xml文件名称 一、创建文件 func createFile(fileName: String) { let filePath = Bundle.main.path(forResource: "Demo", ofType: "xml") fileManager.createFile(atPath: filePath+"\(fileName).xm

Kuang Da's Blog 910

使用spacy规则化提取自然语言文本信息

1. 安装spacy pip install spicy spicy还需要载入文本库,使用pip的下载方式: python3 -m spacy download en_core_web_sm 但是很有可能因为网络问题下载速度非常缓慢,所以可以选择到github上去直接下载(注意和自己的spacy版本匹配):github下载链接 下载*.tar.gz文件即可。 然后切换到下载路径, pip install en_core_web_sm-3.1.0.tar.gz 2. spacy的一些基础用法 使用spa

六六六六神的博客 1818

【26美赛C题】2026美赛数学建模(MCM/ICM)思路解析及代码分享

本文为2026年美国大学生数学建模竞赛(MCM/ICM)C题的解题思路与资源分享。文章提出系统学习数学建模的重要性,强调竞赛考察的是综合建模能力而非单纯计算。针对C题常见的复杂系统评估类问题,作者提供了一套完整的建模框架,包括问题拆解、指标体系构建、数据建模、决策模型等六个阶段。订阅者可获得Python/Matlab双版本代码、论文结构解析、AI辅助建模方法等资源。内容适合准备参加各类数学建模竞赛的学生,特别是希望通过AI技术提升建模效率的参赛者。

一键难忘的博客 1683

swift定义iOS数据库框架1——创建数据库

数据库原始SQL操作 创建数据库 let path = Bundle.main.path(forResource: "test", ofType: ".db") print(path!) let db = try! Connection(path!) try! db.execute("create table t_teacher(name text, ema...

zhuxincheng_1218的专栏 3043

基于STC8G1K08A单片机的PCA捕获外部信号(100~1000HZ)程序实现

基于STC8G1K08A单片机的PCA捕获外部信号(100~1000HZ)程序实现

weixin_74013772的博客 255

数据库-FMDB创建表(swift)

从github下载FMDB后,需要将 FMDatabaseAdditionsVariadic.swift FMDatabaseVariadic.swift 两个文件拷贝到fmdb-master/src/fmdb中 然后将fmdb文件夹导入工程 01.png 02.png FMDB是OC写的,还需要创建桥接文件,导入FMDB.h文件 接下来创建一个SQLManager.sw...

流星雨的博客 400

LVGL 丝滑菜单3(Silk Menu)

h。

摸鱼专家 91

如何在不牺牲精度的前提下,把 YOLOv11 压缩到 Jetson 能跑的程度

YOLOv11 在目标检测任务中具备较强的准确性与多尺度鲁棒性,但其原始模型参数规模与计算量,对边缘设备来说并不友好,特别是面向 Jetson 这类资源受限的推理平台。本文基于实际部署场景,逐步拆解从结构层级改造、剪枝策略制定、量化导出流程,到 Jetson TensorRT 推理落地全过程。在不牺牲主干精度的前提下,最终实现 YOLOv11 推理延迟缩短 3 倍、模型体积压缩 4 倍、mAP 损失控制在 1% 以内的轻量化优化结果,并总结出一条可复用的工程路径,供工业界与边缘侧模型部署开发者参考。

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 2426

Swift语言的数据库编程

数据库是一个可以存储、检索和管理数据的系统。它通常由一个或多个表组成,每个表包含行和列。行代表数据记录,列代表数据字段。数据库在应用程序开发中起着至关重要的作用,而Swift作为一种现代编程语言,在数据库编程方面提供了多种选择,包括SQLite、Core Data和Realm等。每种解决方案都有其优缺点,开发者应根据项目需求和自身熟悉程度来选择合适的数据库技术。随着对数据存储和管理需求的不断提高,深入理解这些数据库技术,以及如何在Swift中使用它们,将能够帮助开发者构建出更加高效且功能强大的应用程序。

2401_90032291的博客 1048

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

iOS SQLite.swift 使用

iOS SQLite.swift 使用1. iOS SQLite.swift 简介2. iOS SQLite.swift 安装3. iOS SQLite.swift 使用3.1 导入3.2 创建/连接数据库3.3 Expression基本表达式3.4 创建表3.5 增,删,改,查3.5.1 插入操作(增)3.5.2 删除操作(删)3.5.3 更新操作(改)3.5.4 查询操作(查)3....

kyl282889543的博客 1686

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

FMDB数据库升级——增加表字段

转载自:  https://www.jianshu.com/p/124a2e4e8c42前言升级数据库是个很繁琐看似很麻烦的事情,有次面试,面试官问了关于增加字段更新数据库升级的问题,我是这么回答的,我说可以做一个数据库迁移拷贝,每次更新版本判断一下,面试官表示很不解,为什么要这么复杂化,重复问了好几次,也许在等我更好的答案;需要在已经存在的表里面新增一个或者多个字段,思路应该是这样的;先去判断增...

沸腾的泪水的专栏 1445

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

CodableFirebase完全指南:如何让Swift模型无缝对接Firebase

**CodableFirebase**是一个专为Swift开发者打造的强大工具,它让遵循`Codable`协议的自定义模型与Firebase服务之间的转换变得简单高效。通过这个库,你可以轻松实现Swift对象与Firebase Realtime Database和Cloud Firestore数据格式的双向映射,极大简化数据持久化和读取流程。 ## 🚀 为什么选择CodableFirebase

gitblog_00082的博客 813

sqlite的创建数据库,表,插入查看数据

sqlite的创建数据库,表,插入查看数据 Posted on 2012 年 12 月 20 日 IOS sqlite数据库操作。步骤是: 先加入sqlite开发库libsqlite3.dylib, 新建或打开数据库, 创建数据表, 插入数据, 查询数据并打印 1、新建项目sqliteDemo,添加使用sqlite的库libsql

ETmanwenhan的专栏 1267

swift不用框架连接mysql_【iOS10】使用XCode8、Swift3. 操作SQLite3数据库的步骤(包括配置环境和SQLite语句)...

//// SQLManager.swift// demo11_SQLiteWithSwift//// Created by ChenXin on 2016/12/2.// Copyright © 2016年 ChenXin. All rights reserved.//import UIKitlet DBFILE_NAME = "Student.sqlite"public class SQ...

weixin_30750685的博客 233

SQLite.swift 使用

sqlite.swift数据库的应用

weixin_48838219的博客 1748

swift php mysql_使用 Swift 3.0 操作 MySQL 数据库

开始在这篇教程中,我们采用 Ubuntu 16.04 系统和 MySQL 5.7。MySQL 5.7 引入了一系列的新特性。其中一个就是提供了更加高效的存储 JSON 数据的能力,同时提供了查询 JSON 数据内部的能力。稍后如果 MySQL 5.7 成为了 Ubuntu 16.04 上默认的 MySQL 版本以后,我们将使用 Ubuntu 16.04 作为我们的操作系统。如果你还没有安装 Swi...

weixin_29817791的博客 190

透视表只显示你要的字段:DBeaver 查询结果字段自定义指南

几百行查询结果铺在屏幕上,想按门店、按天看个汇总,只能回 SQL 里加 `GROUP BY` 重写一遍?DBeaver 数据透视表字段选择就是干这个的:把结果集里的字段拖到对应区域,几秒钟就能得到一张干净的交叉汇总表,不用改动任何 SQL。这篇指南带你从打开视图到保存模板,一次配明白。 ## 一张表先解决什么麻烦 🧭 数据透视表是 DBeaver 内置的交互式分析工具:你拖拽字段,它负责分组

gitblog_00950的博客 617

swift不用框架连接mysql_SQLite数据库框架之FMDB(Swift)

FMDB使用FMDB是iOS平台的SQLite数据库框架FMDB以OC的方式封装了SQLite的C语言APIFMDB的优点使用起来更加面向对象,省去了很多麻烦、冗余的C语言代码对比苹果自带的Core Data框架,更加轻量级和灵活提供了多线程安全的数据库操作方法,有效地防止数据混乱使用框架use_frameworks!pod 'FMDB'核心类FMDB核心类:FMDatabase: 一个FMDat...

weixin_31517321的博客 319
上一篇: Swift --获取沙盒各文件夹路径
下一篇: Swift -- 正则表达式过滤邮箱地址格式
SoftwareDoger
博客等级 码龄10年 8粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值