我希望实现一种"活动日志"表,其中用户执行的操作存储在sqlite表中,然后呈现给用户,以便他们可以看到他们已完成的最新活动.但是,当然,我觉得没有必要保留每一段历史记录,所以我想知道是否有办法配置表,一旦达到最大设置限制就开始修剪旧行.
例如,如果限制为100,并且表中当前有多少行,则插入另一个操作时,将自动删除最旧的行,以便始终最多包含100行.有没有办法配置sqlite表来执行此操作?或者我必须经营一个cron工作?
澄清编辑:在任何给定时刻,我想显示表格的最后100个(例如)动作/事件(行).
在oracle中,要删除所有表和约束,您可以键入类似的内容
DROP TABLE myTable CASCADE CONSTRAINTS PURGE;
Run Code Online (Sandbox Code Playgroud)
这将完全删除表及其依赖项.什么是SQL服务器等价?
我需要向数据库发送一个SQL查询,告诉我表中有多少行.我可以使用SELECT获取表中的所有行,然后对它们进行计数,但我不喜欢这样做.是否有其他方法可以将表中的行数询问SQL服务器?
我有一个关于SQL Server 2005的表,大小约为4GB.
(约1700万条记录)
我将其中一个字段从数据类型更改char(30)为char(60)(总共有25个字段,其中大部分都是char(10)如此,因此字符空间的数量加起来大约为300)
这导致表格尺寸翻倍(超过9gb)
然后我更改了char(60)to varchar(60)然后运行了一个函数来从数据中删除额外的空格(以便将字段中数据的平均长度减少到大约15)
这并没有减少表的大小.收缩数据库也没有帮助.
实际上没有重新创建表格结构并复制数据(这是1700万条记录!)是否有一种不那么激烈的方式让尺寸再次缩小?
实际上是否可以旋转T-SQL(2005)以便(为了参数)第一列的行的值成为输出表列的标题?
我知道这不是PIVOT的真正含义,但它正是我所需要的 - 能够请求一个表格,其中列之前是未知的,因为它们已作为值输入到表格中.
即使是黑客也会很好,tbh.
我使用Squirrel SQL连接到桌面上的JavaDB/Derby数据库.我可以运行SQL查询.
但是如何列出数据库中的所有表?并且最好是所有列和列类型.
squirrel-sql database-administration database-management database-table
如何在不删除数据库中的任何表的情况下清空phpMyAdmin中数据库中所有表的内容?
由于我在开发过程中每小时都会这样做几次,所以我不想每次都在所有60多个表上单独点击"清空".
所以我一直在做一个我有很多数据的项目。在某些数据集合中,有部分数据链接到其他数据集合,如在关系数据库中。
但是,我对是否应该使用多个数据库或多个表感到困惑。我试图找出答案,Quora 的答案有所帮助——据我所知,如果我有链接在一起的数据集合,我应该使用一个包含多个表的数据库(这些表会链接在一起)。
如果我的理解是正确的,那么这种做法在多大程度上合适?例如,如果您在一个数据库中有 20 多个表还可以吗?你会用一个吗
另外,如果您可以将所有内容放在一个包含多个表的数据库中,您什么时候会使用不同的数据库?
我希望这个问题不是太模糊或什么,但我找不到明确的答案来解释每个的目的,因此为什么要在多个表上使用多个数据库,反之亦然。
我有什么:下一个结构:
table_zero
- > id (带自动增量的PRIMARY)
- >其他
table_1
- > id (表零id的外键)
- > varchar(80)示例值:(aahellobbb)
- > one_field
table_2
- > id (表零id的外键)
- > varchar(160)示例值:(aaececehellobbb)
- > other_field
我想要的:搜索并获取一个(id,varchar)数组,其中包含与varchar字段上的LIKE'%str%'的所有匹配项.例如,如果我使用"hello"字符串进行搜索...我应该使用各自的id获取两个示例值.这些ID总是不同的,因为它们是对PRIMARY KEY的引用.
我尝试了什么:我尝试使用UNION ALL,但在我的例子中它不适用于LIMITS.
database-table ×10
sql-server ×3
database ×2
mysql ×2
sql ×2
cascade ×1
count ×1
partitioning ×1
phpmyadmin ×1
pivot ×1
rows ×1
select ×1
sql-drop ×1
sqlite ×1
squirrel-sql ×1
t-sql ×1
types ×1
union ×1