在表中的sql中,在数据类型为text的给定列中,如何在特定条目之后显示该列中的其余条目

在表中的sql中,在数据类型为text的给定列中,如何在特定条目之后显示该列中的其余条目,sql,Sql,在sql中,在任何给定的表中,在名为“name”的列中,数据类型为text 如果有十个条目,假设列中有一个条目是“rohit”。我想在rohit之后显示name列中的所有条目。我不知道行id或id。可以这样做吗 您可以使用“default”关键字 CREATE TABLE Persons ( ID int NOT NULL, name varchar(255) DEFAULT 'rohit' ); 但一般来说,您不应该这样对待文本列。 数据库不仅仅是表的集合。 思考如何组织数据

在sql中,在任何给定的表中,在名为“name”的列中,数据类型为text 如果有十个条目,假设列中有一个条目是“rohit”。我想在rohit之后显示name列中的所有条目。我不知道行id或id。可以这样做吗

您可以使用“default”关键字

CREATE TABLE Persons (
    ID int NOT NULL,
    name varchar(255) DEFAULT 'rohit'
);
但一般来说,您不应该这样对待文本列。 数据库不仅仅是表的集合。 思考如何组织数据,定义数据行的内容。 也许,除了他们的名字,还有另一件事,你会如何分类这样的争吵?“应显示”“已修改”“已激活”之类的内容

因此,如果您有第二列,比如类型为
int
display
,那么您的表如下所示

CREATE TABLE MYDATA
    NAME TEXT,
    DISPLAY INT NOT NULL DEFAULT(1);
您可以用
1
0
标记每一行是否应该显示,然后您的查询可以如下所示

SELECT * FROM MYDATA WHERE DISPLAY=1 ORDER BY NAME
获取您的值列表。 十行没有多大区别,这里甚至不需要索引,但是如果你构建更大的东西,比如10000多行,你会惊讶地发现这会变得多么慢!
一般来说,
TEXT
列可以选择和显示,但应尽可能避免作为
WHERE
条件。使用描述列,最好是
int
字段,这些字段可以非常高效地索引,即使记录大小超过100k,应用程序也不会变慢。

如何定义“after”?也就是说,在哪一列之后必须进行排序以确定哪个记录在另一列之后?噢,哇,感谢您对一个正在运行的sql命令进行向下表决。。。我怎么配得上呢?根据问题中的(备用)信息,“after”的唯一有效解释是字母顺序法。这正是上述声明所做的。除此之外,帮助初学者思考如何查询也没什么错。像这样的无评论的否决票真的会把帮助这个网站上的人的动机降低到几乎为零…非常抱歉,格里斯格拉姆,我有一个侄子,他刚刚玩了鼠标,我正在尝试撤销,但它不会。查询是完美的,它运行得很好,thanx 4帮助了我,谢谢你告诉我为什么会这样,谢谢你接受了答案。很高兴它能像你期望的那样工作!干杯,格里斯
SELECT * FROM MYDATA WHERE DISPLAY=1 ORDER BY NAME