SQLite替换现有列中的数据

时间:2015-10-22 19:42:44

标签: sqlite

对SQLite来说真的很新,并且有一个基本的问题可以帮助我很多。如果我有一个看起来像这样的表:

_id   NAME
1     Mark
2     Bob

假设我在第2行插入一个声明,并将名称命名为John。表格看起来像这样:

_id   NAME
1     Mark
2     John

或者我是否必须查询数据库,看看第2行是否已包含名称,如果是,请将其替换为John?换句话说,它不会自动替换那里的东西吗?

1 个答案:

答案 0 :(得分:1)

基本上有3种方法可以更改表格内容:

  • INSERT:这将始终添加新行到表
  • 更新:这将更改表中的现有行
  • 删除:这将删除表中的现有行

让我们说你的表定义如下:

CREATE TABLE test (
    _id  INT NOT NULL AUTO_INCREMENT,
    Name varchar(32),
    PRIMARY KEY (id)
);

已包含此数据:

_id NAME
1   Mark
2   Bob

如果你再运行

INSERT INTO test (Name) VALUES ('John')

然后表格如下:

_id NAME
1   Mark
2   Bob
3   John

请注意,您也可以这样做:

INSERT INTO test VALUES( 3, 'John' )

但是您必须知道3_id列中的下一个可用号码。

如果您希望更改 Name 2行的_id,则可以运行此查询:

UPDATE test SET Name='John' WHERE _id = 2