当前位置: 首页 > news >正文

深圳免费网站设计wordpress搭建电子商城

深圳免费网站设计,wordpress搭建电子商城,徐州比居网络科技有限公司,企业网站后台管理模板什么是数据库数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,我们可以很方便的对数据库中的数据进行增、删、改、查操作数据库类型数据库可以分为2大种类关系型数据库(主流)关系型数据库(主流)对象型数据库常用关系型数据库PC端#xff1a;Oracle、MySQL、SQL S…什么是数据库数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,我们可以很方便的对数据库中的数据进行增、删、改、查操作数据库类型数据库可以分为2大种类关系型数据库(主流)关系型数据库(主流)对象型数据库常用关系型数据库PC端Oracle、MySQL、SQL Server移动客户端SQLiteSQLite3简介官方网站: http://www.sqlite.org/是一款轻型的数据库设计目标是嵌入式的占用资源非常的低在嵌入式设备中可能只需要几百K的内存就够了它的处理速度比Mysql、PostgreSQL这两款著名的数据库都还快关系型数据库存储数据和Excel很像一个 字段(COL)存储一个值类似于对象的一个属性一 行(ROW)存储一条记录,保存一个对象里面的所有属性一个 表(TABLE)存储一系列数据类似于对象数组Person(name:zhangsan, age 20, height 1.78)Person(name:lisi, age 19, height 1.70)Person(name:wangwu, age 22, height 1.80)术语字段(Field/Col)一个字段存储一个值Sqlite提供 INTEGER, REAL, TEXT, BLOB, NULL五种类型的数据SQLite 在存储时本质上并不区分准确的数据类型主键Primary Key简称PK唯一地标示一条记录具有以下特点名字xxx_id类型Integer自动增长准确数值由数据库决定程序员不用关心开发数据库的步骤建立数据库 - 存储数据的文件创建数据表 - 每一张数据表存储一类数据数据表添加字段(column,列,属性)操作数据.增/删/查/改移动应用中使用数据库的好处将网络数据存储在本地不用每次都去网络加载减少用户网络流量开销FMDBFMDB是iOS平台的SQLite数据库框架FMDB以OC的方式封装了SQLite的C语言APIFMDB的优点使用起来更加面向对象省去了很多麻烦、冗余的C语言代码对比苹果自带的Core Data框架更加轻量级和灵活提供了多线程安全的数据库操作方法有效地防止数据混乱CocoaPods集成 FMDBuse_frameworks!pod FMDB核心类FMDB核心类:FMDatabase: 一个FMDatabase表示一个sqlite数据库.所有对数据库的操作都是通过这个类executeStatements: 执行多条sqlexecuteQuery: 执行查询语句executeUpdate: 执行除查询以外的语句,create, drop, insert, delete, updateFMDatabaseQueue: 内部封装FMDatabase和串行queue,用于多线程操作数据库,并且提供事务,建议使用这个inDatabase: 参数是一个闭包,在闭包里面可以获得FMDatabase对象inTransaction: 使用事务.FMResultSet: 查询的结果集通过字段名称获取字段值FMDB使用建立SQLiteManager.swift 单例对象class SQLiteManager: NSObject {// 单例static let sharedManager SQLiteManager()let dbQueue: FMDatabaseQueueoverride init() {let documentPath NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true).last! as NSStringlet path documentPath.stringByAppendingPathComponent(fmdb.db)print(path: \(path))// 创建FMDatabaseQueue对象会自动打开数据库,如果数据库不存在会创建数据库// 后续的所有数据库操作都是通过dbQueue来调用dbQueue FMDatabaseQueue(path: path)super.init()// 创建数据表createTable()}private func createTable() {// 之前的sql语句都是在代码里面在写的,通过文件来加载sql语句,在文件中可以编写多条sql语句// 获取table.sql文件的路径let bundlePath NSBundle.mainBundle().pathForResource(table, ofType: sql)!// 加载table.sql文件里的内容let sql try! String(contentsOfFile: bundlePath)// print(加载文件sql: \(sql))dbQueue.inDatabase { (db) - Void indb.executeStatements(sql)}}}FMDB 插入单条数据/**测试FMDB插入单条数据*/func testInsert() {// 插入数据sqllet sql INSERT INTO T_Person (name, age, height) VALUES (赵六6, 26, 1.70);SQLiteManager.sharedManager.dbQueue.inDatabase { (db) - Void indo {try db.executeUpdate(sql, values: [])print(插入数据成功)// 获取插入数据的主键let id db.lastInsertRowId()print(插入数据的id: \(id))} catch let error as NSError {print(error: \(error))}}}FMDB 大批量添加数据/**测试FMDB大批量添加数据*/func testManyInsert() {// 插入数据sqllet sql INSERT INTO T_Person (name, age, height) VALUES (?, ?, ?);SQLiteManager.sharedManager.dbQueue.inTransaction { (db, rollback) - Void in// 添加10000条数据do {let start CFAbsoluteTimeGetCurrent()for i in 0..10000 {try db.executeUpdate(sql, values: [lisi\(i), 20, 1.72])}let end CFAbsoluteTimeGetCurrent()print(消耗时间:\(end - start))} catch {}}}FMDB 事务回滚/**测试FMDB大批量添加数据*/func testManyInsert() {// 插入数据sqllet sql INSERT INTO T_Person (name, age, height) VALUES (?, ?, ?);SQLiteManager.sharedManager.dbQueue.inTransaction { (db, rollback) - Void in// 添加10000条数据do {let start CFAbsoluteTimeGetCurrent()for i in 0..10000 {try db.executeUpdate(sql, values: [lisi\(i), 20, 1.72])// 模拟数据错误,回滚事务if i 1000 {// UnsafeMutablePointer: 表示 ObjCBool类型的指针// 在OC中: *rollback YES// 在swift中rollback.memory true 表示设置ObjCBool的值为trueprint(数据出错,回滚)rollback.memory truebreak}}let end CFAbsoluteTimeGetCurrent()print(消耗时间:\(end - start))} catch {}}}FMDB 修改数据/**测试FMDB修改数据*/func testUpdate() {SQLiteManager.sharedManager.dbQueue.inDatabase { (db) - Void inlet sql UPDATE T_Person SET name ? WHERE id ?;do {try db.executeUpdate(sql, values: [liedehua, 1])print(更新数据成功)} catch let error as NSError {print(error: \(error))}}}FMDB 查询/**测试FMDB查询*/func testQuery() {SQLiteManager.sharedManager.dbQueue.inDatabase { (db) - Void indo {// 查询sql语句let sql SELECT id, name, age, height FROM T_Person LIMIT ?;let result try db.executeQuery(sql, values: [20])while result.next() {// 通过字段名称获取字段值let id result.intForColumn(id)let name result.stringForColumn(name)let age result.intForColumn(age)let height result.doubleForColumn(height)print(id: \(id), name: \(name), age: \(age), height: \(height))print(------------)}} catch let error as NSError {print(error: \(error))}}}
http://wiki.neutronadmin.com/news/178673/

相关文章:

  • 哈尔滨营销型网站建设公司青岛网页搜索排名提升
  • 湛江企业网站建设公司购物网站 建站服务
  • 广州网站建设互广广州开发网站设计
  • 公司商城网站开发费做什么科目做配资网站多少钱
  • 网站系统怎么建设在线制作logo模板
  • 如何做cad图纸模板下载网站wordpress栏目列表页
  • 便利的邯郸网站建设网站开发+协作平台
  • 肇庆市住房和城乡建设部网站网站建设地图素材
  • 微网站免费企业网站如何宣传
  • 和田地网站seo个性定制
  • 企业网站的设计策划怎么看网站是否备案成功
  • php 开源的企业网站潍坊昌乐县城乡建设局网站
  • 家具网站开发报告装修网站vr全景图怎么做
  • 英文网站名需要斜体吗动漫制作专业认知报告
  • 为什么公司的网站打不开网站如何申请微信支付接口
  • 网站导航提交入口大全西城做网站
  • 什么网站专做二手名表北京快速网站建设
  • 网站开发环境搭建网站建设高端培训
  • 拓者设计吧网站东莞建设网站的位置
  • seo网站设计招聘网站建设新零售
  • 山东济宁网站建设做视频广告在哪个网站能够赚钱
  • 网站注意事项国内重大新闻事件2024
  • soho的网站怎么做中轻成都设计院
  • 中医院网站素材新东阳建设集团网站
  • 河北省电力建设第二工程公司网站网站设计页面
  • 物流官方网站wordpress更换图片地址
  • 免费建立一个个人网站WordPress 聊天小工具
  • 网站做好怎么推广phpcms做的网站
  • 国际域名注册网站WordPress插件分享
  • 专业做外贸网站公司python 网站开发小项目