将表或项列表添加到SQLite

时间:2016-05-15 00:03:49

标签: java sqlite

我在SQLite中有一个名为“Cars”的表,我有这些标题:

|   ID   |   Type    |   Color   |
|:------:|:---------:|:---------:|
|    1   |  4 Wheel  |    Red    |       
|    2   |    Van    |    Blue   |

现在我想添加另一个列调用“Details”,“Details”有自己的表,如此

|   ID   |   Chair    |   Sensor   |
|:------:|:----------:|:----------:|
|    1   |    Brown   |    Yes     |       

所以我必须为此制作单独的表,有没有办法让我可以在另一个表中放置一个表,所以我不必每次都要分隔表?

当然我必须制作表格,但我的意思是每个项目中的内容,所以我不需要寻找它,也不要让我的表格列表混乱。

2 个答案:

答案 0 :(得分:2)

听起来我希望ALTER TABLE Cars ADD COLUMN Details {datatype};包含新属性“详细信息”。然后将该属性设置为Cars表中的外键,并使其引用Details表。

    ALTER TABLE Cars ADD COLUMN Details_id INTEGER REFERENCES Details(id);

或者,您可以考虑使用外键创建初始表。

    CREATE TABLE Cars(
        id INTEGER PRIMARY KEY,
        Type VARCHAR(25),
        Color VARCHAR(20),
        Details_id INTEGER,
        FOREIGN KEY(Details_id) REFERENCES Details(id),
    );

答案 1 :(得分:1)

在任何数据库表中是否根据它们与其他事物的关系创建? 我听到你说'#34;他的意思是什么?" 例如,假装我拥有一个全球农业帝国和我 想跟踪牲畜 首先,我会将我的数据库分解为

  • 国家
  • 控股(例如Ranch,Estancia,Cattle Station)
  • 牛(个体牛,公牛等)

现在因为每个国家都拥有很多馆藏 国家和控股有一对多的关系 而且因为每次持有都有很多牛抱牛,而且牛有 一对多的关系 把牛和藏(牧场)信息放在同一张桌子上会太乱,不聪明。

所以现在问题得到解答

你说你想要在另一张桌子里放一张桌子,坏消息是你不能但你不会想要因为那不是数据库如何工作而且不会如果可以的话,这是有意义的,但好消息是你可以发出一个查询,将2个表一起绑定到1个查询中 在您的情况下,查询可能会像这样

  SELECT * FROM Cars, Details WHERE Cars.Id = Details.Id

从哪里来?

为了解决这个问题,我建议

  1. 下载Firefox浏览器
  2. 在Firefox浏览器上go工具 - >插件,搜索和下载SQLite Manager,这将使您能够模拟数据库并在其上练习SQL 3.请注意,使用SQLite时,在取消诸如java之类的语言时发出查询的方式是不同的
  3. 我建议从书籍,朋友或网站(例如w3schools
  4. )学习SQL