分享

sqlite修改表、表字段等与sql server的不同之处

 头号码甲 2020-12-09

sqlite中只支持 ALTER TABLE 命令的 RENAME TABLE 和 ADD COLUMN。 其他类型的 ALTER TABLE 操作如 DROP COLUMN,ALTER COLUMN,ADD CONSTRAINT 等等均被忽略。

重命名表名:

  alter table tableName rename to newTableName

添加列

  alter table tableName add columnName columnType

这两个和sql server基本一致,用起来挺方便,但是后面就有点蓝瘦了

删除列

  create table copyTableName (fields)

  insert into copyTableName (fields)  select fields from tableName

  dorp table tableName

  alter table copyTableName rename to tableName

  首先创建个新表,然后将原表数据转移到新表,当然这时候新表的fields只保留了不删除的字段,然后将原表删除,再将新表的名字改回原来的表名

修改列

  实现方法和删除列思路相同,只是fields里面不止要删除原来的列,还要添加新的列名和类型

其他的暂时没有遇到,下面记录一下,中间用到的关于sqlite的一些知识

获取表的创建sql

  select sql from sqlite_master where name='tableName' and type='table'

获取表的所有字段

  PRAGMA table_info('tableName')

判断表是否存在

  select count(*)  from sqlite_master where type='table' and name = 'tableName'

 

嗯,,,中规中矩的一篇记录文

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多