创建了sqlite表结构后,希望添加表字段,又不能修改原来的代码,所以用alter 修改表结构。

1、添加表字段

alter table 表名 add  字段名 类型(值)

示例:alter table   member_table  add test1 varchar(40);

2、删除表字段

alter table 表名 drop  字段名

示例: alter table  member_table drop test1;

提醒:此方法在sqlite里不起作用,失败!!!

3、字段名更名

alter table 表名 rename 老字段名 to 新字段名

示例:alter table   member_table  rename test1 to test2;

提醒:sqlite里不支持此方法,失败!!!

4、更改字段类型

alter table 表名 alter 字段 类型;

alter table  member_table alter  test1 varchar(50);

提醒:sqlite里不支持此方法,失败!!!

查找资料才发现Sqlite不支持对列的改名和修改类型等操作,想要操作官方给出的方法是先备份原表数据到临时表,然后删除原表,再创建新的表结构,然后导入临时表的数据。

官方解释如下:(11) How do I add or delete columns from an existing table in SQLite.

SQLite has limited ALTER TABLE support that you can use to add a column to the end of a table or to change the name of a table. If you want to make more complex changes in the structure of a table, you will have to recreate the table. You can save existing data to a temporary table, drop the old table, create the new table, then copy the data back in from the temporary table.

For example, suppose you have a table named “t1″ with columns names “a”, “b”, and “c” and that you want to delete column “c” from this table. The following steps illustrate how this could be done:

BEGIN TRANSACTION;
CREATE TEMPORARY TABLE t1_backup(a,b);
INSERT INTO t1_backup SELECT a,b FROM t1;
DROP TABLE t1;
CREATE TABLE t1(a,b);
INSERT INTO t1 SELECT a,b FROM t1_backup;
DROP TABLE t1_backup;
COMMIT;

比如说你要修改的表名是A,方法步骤如下:

1.新建一个临时表T,这个T和表A具有相同的列。

2.把A中所有的数据都通过insert语句插入到T中

3.删除表A

4.新建表A,这时表A的列名就是你想要的结果,以前想修改的列名是什么,这时候就定义成什么,以前要删除的某个列,那么在定义的时候就不定义它。

5.恢复数据,把数据通过insert语句插入A,结构是insert into A select ... from tablen T

6.删除临时表T。

ALTER TABLE(修改表结构命令)相关推荐

  1. mysql alter table修改表命令整理

    这篇文章主要介绍了mysql alter table修改表命令整理的相关资料,需要的朋友可以参考下 MYSQL ALTER TABLE命令用于修改表结构,例如添加/修改/删除字段.索引.主键等等,本文 ...

  2. MySql数据库命令大全:数据库操作命令,表操作命令,修改表结构命令,数据操作命令,数据查询操作命令

    一.数据库操作命令 1.查询当前服务器上所有数据库的命令: show databases; 2.创建一个新数据库的命令: create database 数据库名称; 3.使用或切换数据库的命令: u ...

  3. mysql alter table_mysql alter table 修改表命令详细介绍

    MySQL ALTER语法如下: ALTER [IGNORE] TABLE tbl_name alter_spec [, alter_spec ...] alter_specification: AD ...

  4. php mysql修改命令_PHP编程:mysql alter table命令修改表结构实例详解

    <PHP编程:mysql alter table命令修改表结构实例详解>要点: 本文介绍了PHP编程:mysql alter table命令修改表结构实例详解,希望对您有用.如果有疑问,可 ...

  5. postgresql 修改表结构 alter table xxx alter column yyy type varchar(19)

    postgresql 修改表结构:修改t_cash表list_id 字段类型为varchar(19) alter table t_cash alter column list_Id type varc ...

  6. oracle修改表结构的sql命令是什么,sql语句中修改表结构的命令是什么?

    sql语句中修改表结构的命令是:"ALTER TABLE"命令. ALTER TABLE 语句用于在已有的表中添加.删除或修改列. SQL ALTER TABLE 语法 如需在表中 ...

  7. mysql语言中修改表结构的命令_sql语句中修改表结构的命令是什么

    SQL 语句中修改表结构的命令是ALTER TABLE. ALTER TABLE 语句 ALTER TABLE 语句用于在已有的表中添加.删除或修改列. SQL ALTER TABLE 语法 如需在表 ...

  8. 数据库——MySQL(一)(数据库常用命令、数据类型、创建表与修改表结构、约束、约束修改添加)

    MySQL数据库的概述: MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库信息增.删.查.改管理 - ...

  9. 查看修改MySQL表结构命令

    查看修改MySQL表结构命令 简述 小编经常会遇到一些数据库编码不对得问题,好TM头疼,这里做一个记录,供大家参考. 修改数据库字符集: ALTER DATABASE db_name DEFAULT ...

最新文章

  1. Belkatalog CMS SQL 注入漏洞(图)
  2. 波兰极客用一张软盘运行Linux系统,用的还是最新内核!
  3. 超像素SLIC算法源码阅读
  4. 火的不要不要的公有云和私有云都是什么鬼?
  5. 【Qt】QModbusClient类
  6. 【转】Android SDK Manager 更新方法
  7. error: [FabricCAClientService.js]: Failed to enroll admin, error:%o message=Calling enroll endpoint
  8. 科技界流传的 OKR 系统有用吗?
  9. send和sendmsg性能测试
  10. 音频(三)音色与spectrum 频谱图
  11. 13 Python函数进阶
  12. ESP32S 数据手册
  13. ARP报文的存入条件和回复条件
  14. 电脑知识与技术杂志电脑知识与技术杂志社电脑知识与技术编辑部2022年第15期目录
  15. 密码学(五):数字签名和证书
  16. 老徐WEB:js入门学习 - javascript对象之Date对象
  17. PTA L1-088 静静的推荐
  18. 打开idea后不显示界面
  19. Lua ipairs、pairs
  20. 工业智能网关BL110应用之61:如何实现智能楼宇控制BACnet 接入华为云平台

热门文章

  1. html网页张氏家谱,晋并张氏家谱(太原市阳曲县张氏)
  2. 2019年云计算安全发展趋势
  3. 前端基础——小米静态官网
  4. matlab欠阻尼系统注释,MATLAB 实用教程:第5章MATLAB程序设计
  5. 5G商用价值到底在哪里,可以赋予哪些能力? 1
  6. 分享一下 速营社 作者对网络新人的建议
  7. 【joysticker】【Linux】Python脚本实现USB游戏手柄的驱动
  8. 另类方法----不刷BIOS为9600的软改9550成为T2
  9. 2016年01月01日
  10. 印度政府发布 2022 年数字个人数据保护法案草案