Microsoft通过Microsoft.Data.Sqlite
名称空间here提供了一些有关使用本地数据库的信息。
我了解这些函数的功能,但我不了解的一件事是该语法在SQLite中的工作方式。我曾尝试在Google上进行搜索,但没有发现任何可以告诉我语法应如何用于Microsoft Sqlite库的信息。我找到了各种示例,但是它们并没有真正指出我这方面的任何方向,因为它们使用的是不同的库,因此语法确实不同。
例如,以上页面指出,要初始化数据库,语法为:CREATE TABLE IF NOT EXISTS MyTable (Primary_Key INTEGER PRIMARY KEY, Text_Entry NVARCHAR(2048) NULL)
。我认为string
之后的MyTable
应该是要写入数据库的第一个数据块,它还显示了如何写入。但是我在这里不了解某些Keys
。像Primary_Key
应该是唯一标识符string
来标识插入的值,但是INTEGER
在这里是什么? NVARCHAR(2048)
是什么?PRIMARY KEY
的用途是什么,为什么用NULL
值对其进行初始化?
然后初始化数据库后,添加数据是另一个问题。
// Use parameterized query to prevent SQL injection attacks
insertCommand.CommandText = "INSERT INTO MyTable VALUES (NULL, @Entry);";
insertCommand.Parameters.AddWithValue("@Entry", inputText);
这里的parameterized query
是什么?那么,为什么VALUES
之后的部分以NULL
开头,什么是@Entry
,我真的需要添加开头的@
吗?我是否总是必须使用键@Entry
还是可以在@
开头使用任何单词?
读回存储数据的最后一部分说SELECT Text_Entry from MyTable
。这很有意义,但是Text_Entry
是初始化表时添加的第一数据块。我将如何添加更多值?除了string
或numbers
以外,我还能添加其他任何值吗?
我只是从SQLite开始,所以请多多包涵。谢谢。