我是 SQL 新手,是否有列表或向量变量类型?我可以有一个类型是字符串列表的列吗?
也许是这样的:
CREATE TABLE myTbl(domain varchar PRIMARY KEY, linkList list<varchar>);
Run Code Online (Sandbox Code Playgroud)
我可以附加这样的字符串吗(通过使用“+=”运算符):
UPDATE myTbl SET linkList += "www.test.com," WHERE domain="blah";
// Table is like so
CREATE TABLE myTbl(domain varchar PRIMARY KEY, linkList varchar);
// Column linkList is a string of links separated by comma's
Run Code Online (Sandbox Code Playgroud)
您可以使用 json1 扩展名将列表存储在 SQLite 字段中: https: //www.sqlite.org/json1.html
所以你的架构看起来像:
CREATE TABLE myTbl(
domain varchar PRIMARY KEY,
linkList JSON DEFAULT('[]'));
Run Code Online (Sandbox Code Playgroud)
并附加一个项目:
UPDATE myTbl
SET linkList = json_insert(linkList, '$[#]', "www.test.com")
WHERE domain="blah";
Run Code Online (Sandbox Code Playgroud)
SQLite JSON 支持非常灵活,特别是对于较新版本的 SQLite。您可以根据 JSON 的内容在 JSON 表达式上设置索引以进行快速匹配。您可以将其与生成的列一起使用以进行动态数据提取。您可以SELECT从 JSON 列表中使用json_each()表值函数。
尝试将其复制粘贴到sqlite3命令行或https://sqliteonline.com/中:
CREATE TABLE myTbl(
domain varchar PRIMARY KEY,
linkList JSON DEFAULT('[]'));
Run Code Online (Sandbox Code Playgroud)
注意:此示例需要 SQLite 3.31 来表示$[#]。