SQLite数据库表字段修改与删除

sinat_36572506 2016-11-01 13:41:25   7554   收藏
展开
我创建一张表,但是在使用过程中发现字段名称会发生改变,但是SQLite数据库只允许增加表字段(alter table my_table add field_name field_type;),不允许修改和删除表字段。这时候只能使用复制表思想了。步骤如下:

1、将需要修改的表(my_table)重新命名(ALTER TABLE "my_table" RENAME TO sqlitemanager_temp_table_11970396993;),

2、创建一个新的表命名为my_table,填入需要的字段名(CREATE TABLE "my_table" ("id" INTEGER PRIMARY KEY AUTOINCREMENT, "name" VARCHAR, "grender" VARCHAR DEFAULT "biao", "number" TEXT);)。

3、查询原来表(sqlitemanager_temp_table_11970396993)数据,向新创建的表(my_table)新增数据(INSERT INTO "my_table" ("id","name","grender","number") SELECT "id","name","grender","number" FROM sqlitemanager_temp_table_11970396993;)

4、销毁原来的表(sqlitemanager_temp_table_11970396993)

SQL语句实现如下:

PRAGMA foreign_keys = 0;

BEGIN TRANSACTION;

ALTER TABLE "my_table" RENAME TO sqlitemanager_temp_table_11970396993;

CREATE TABLE "my_table" ("id" INTEGER PRIMARY KEY AUTOINCREMENT, "name" VARCHAR, "grender" VARCHAR DEFAULT "biao", "number" TEXT DEFAULT "biao");

INSERT INTO "my_table" ("id","name","grender","number") SELECT "id","name","grender","number" FROM sqlitemanager_temp_table_11970396993;

DROP TABLE sqlitemanager_temp_table_11970396993;

COMMIT;

PRAGMA foreign_keys = 1;

修改字段名也是一样的思想.
————————————————
版权声明:本文为CSDN博主「sinat_36572506」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sinat_36572506/article/details/52995027

SQLite数据库表字段修改与删除相关推荐

  1. 修改数据库表字段报错:1265-data truncated for column

    修改数据库表字段类型,保存报错:1265-data truncated for column 场景:表A的主键最开始是varchar类型,后来想要改成主键自增的,但是改成int类型,且设置为自增后,保 ...

  2. mysql字段命名_Mysql 01—数据库表字段的命名规则

    摘要:当前测试工作为自研数据库测试,同时需要为自动化执行处理入库数据表,为让自己看起来专业些,特查找资料学习数据库的各种规范使用. 本文是一篇包含了数据库命名.数据库表命名.数据库表字段命名及SQL语 ...

  3. 关于解决SpringDataJpa框架实体类表字段创建顺序与数据库表字段展示顺序不一致的问题

    关于解决SpringDataJpa框架实体类表字段创建顺序与数据库表字段展示顺序不一致的问题 参考文章: (1)关于解决SpringDataJpa框架实体类表字段创建顺序与数据库表字段展示顺序不一致的 ...

  4. MyBatisPLus3.x中代码生成器自定义数据库表字段类型转换

    场景 MyBatisPlus3.x中使用代码生成器(全注释): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/89518466 数 ...

  5. mysql数据库表字段使用DESC等关键字报错及解决方法

    mysql数据库表字段使用DESC等关键字报错及解决方法 参考文章: (1)mysql数据库表字段使用DESC等关键字报错及解决方法 (2)https://www.cnblogs.com/li--xi ...

  6. excel表格数据库表字段带下划线转驼峰

    数据库表字段(小写字母带下划线)转驼峰字段,excel表格,可使用公式: LEFT(A2,1)&MID(SUBSTITUTE(PROPER(A2),"_","&q ...

  7. Java数据库行列级数据权限控制_关于数据库表字段的数据权限设计

    吐槽:刚在同事的帮忙下,把maven工程成功导入到eclipse,期间遇到的最大问题就是安装eclipse插件,花费了其中大部分的时间 现在做的研发产品,遇到的一个新的需求是"控制外部系统对 ...

  8. SAP动态下载数据库表字段及文本至EXCEL程序

    闲来无事,写了个小程序给业务顾问用 功能有两个: 1.输入数据库表名称,点击下载模板,将数据库表字段和文本描述用OLE输出至EXCEL: 2.输入表名,将刚刚填充完数据的EXCEL模板选择,执行后将模 ...

  9. SQL数据库插入、修改、删除及删除表中数据操作示例(insert、update)

    目录: 1.数据库的连接.创建 2.对字段的操作:(alter table) 3.SQL数据库插入.修改.删除操作 4.数据库的查询操作大全(select) 5.多表查询(join on) 6.约束操 ...

最新文章

  1. 使用dex2jar反编译APK时出现的问题
  2. python教程第四版pdf下载-笨办法学python第四版
  3. 使用pngquant来压缩png资源缩小apk
  4. 无人值守数据中心这一次真的能“大势所趋”吗?
  5. mysql打包成docker_web应用如何打包成docker镜像?
  6. 【Leetcode_easy】821. Shortest Distance to a Character
  7. 百度鹰眼html打开,BMap:WEB 服务API
  8. 软件项目经理怎么做?
  9. ubuntu下,rubyonrails环境搭建
  10. 什么是客户管理系统?
  11. PowerShell,AnkhSVN和Subversion
  12. 怎么取消两台计算机共享,小编教你两台电脑如何共享文件
  13. 阿拉伯数字小写金额转换成中文大写金额C程序说明
  14. 还是gif动画的处理
  15. python小玩意——抠图换背景
  16. Numpy-如何对数组进行切割
  17. Windows版本,OS内核版本,Windows SDK之间的关系(附 :Windows纯净系统下载以及更新)
  18. android canvas 工作流_Activiti工作流引擎使用
  19. IntelliJ IDEA 如何配置MySQL数据库
  20. 步进电机T型和S型速度曲线

热门文章

  1. Linux-CentOS 7-学习笔记
  2. fiddler抓包安卓夜神模拟器配置
  3. 【线性代数05】行列式的性质和应用
  4. centos调整页面大小_CentOS调整字符界面字体大小的方法
  5. JS中绑定事件的5种方式——以按钮绑定点击事件为例
  6. linux升级apache版本,Apache HTTP Server 2.4.39发布,附更新介绍,建议升级到新版本
  7. 硅光应用逐步拓展 数据中心等应用先后发酵
  8. js-day01-js语言基础
  9. 实现一个小型数据库--记一次中级软件设计实作浮沉历程
  10. 华为存储5300 V5密码忘记