Sqlite之修改表中某一列

Sqlite是不能像其他数据库那样对列进行修改的,包括队列的重命名,删除列,修改列属性等操作

比如像mysql,其对表中的某一列是可以直接用sql进行操作的,如:

alter table test drop  column name; --删除表列 

alter table test modify address char(10) --修改表列类型  或者 alter table test change address address char(40) 

alter table test change column address address1 varchar(30)--修改表列名

这些操作Sqlite都是不能直接操作的

那Sqlite如何实现对列的修改呢?下面提供一种思路:

首先将你所要修改的表,将表名改成临时表:

如:ALTER TABLE "Student" RENAME TO "_Student_old_20140409";

其次,再创建一张新表,新表的字段就是你所需要的字段,新表中的数据就是临时表中的数据,这样确保数据的完整性:

如:

CREATE TABLE "Student" (

"Id"  INTEGER PRIMARY KEY AUTOINCREMENT,

"Name"  Text);

INSERT INTO "Student" ("Id", "Name") SELECT "Id", "Title" FROM "_Student_old_20140409";

这样来间接修改列,有点麻烦


有些做法是直接,它在创建新表时同时把数据插进去,如:

create table Student as select Id,Name from _Student_old_20140409;

这样得到的Student也是有数据的,得到表的列也是可以符合我们的需求的,

但是有个问题是,这种方式得到的Student表,它是完全没有索引的,包括主键索引,所以要自行再加上主键索引和其他需要的索引


当然,Sqlite是直接可以新增列的


另外,附上Sqlite的命令操作手册:http://www.runoob.com/sqlite/sqlite-index.html


  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在线购物。移动设备的便携性和灵活性让消费者更加方便地进行购物,推动了移动电商的兴起。 3. 支付和物流的完善:电子支付的发展使要查询某一列是否包含特定的数值,可以使用 SQLite 中的 `SELECT` 语句结合 `WHERE` 子句来进行条件查询。以下是一个示例代码: ```python import sqlite3 # 连接到数据库 conn得在线购物更加便利,消费者可以通过各种支付方式快速完成交易。同时,物流行 = sqlite3.connect('example.db') # 创建一个游标对象 cursor = conn.cursor() # 执行查询语句,检查某业也得到了迅速发展,提供了快速、可靠的商品配送服务。 4. 全球化一列是否包含特定数值 cursor.execute('SELECT COUNT(*) FROM my_table WHERE column_name = ?', ('desired_value',)) # 获取查询结果 result = cursor.fetchone() # 判断是否包含特定数值 if result[0] > 0: 和跨境贸易:电子商务为企业提供了全球化的机会,使得跨境贸易 print("该包含特定数值") else: print("该不包含特定数值") # 关闭连接 conn.close() ``` 在上述代码中,我们首先连接到名为 `example.db` 的 SQLite 数据库更加便捷。消费者可以通过跨境电商平台直接购买来自世界各地的商品,,并创建了一个游标对象。然后,使用 `SELECT COUNT(*)` 语句查询满足特定条件的行数同时国内企业也可以通过电子商务拓展海外市场。 5. 社交媒体的兴起:。在 `WHERE` 子句中,我们可以使用 `=` 运算符和占位符 `?` 来指定要检查的和期望的数值。 接下来,使用 `fetchone()` 方法获取查询结果的第一行数据,然后通过判断该行的第一个值是否大于 0 来确定是否包含特定数值。 最后,记得关闭数据库连接。 请根据您自己的需求修改数据库名称、表名称、名称和要查询的数值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值