database-table相关内容
..
实际上是否可以旋转 T-SQL (2005) 以便(为了论证)第一列的行的值成为输出表列的标题? 我意识到这并不是 PIVOT 的真正用途,但这正是我所需要的 - 能够请求预先不知道列的表,因为它们已作为值输入到表中. 即使是 hack 也不错,tbh. 解决方案 Itzik Ben-Gan 关于如何构建动态 PIVOT 的示例,我强烈推荐他的 Microsoft SQL Se
..
如果我想像这样删除数据库中的所有表,它会处理外键约束吗?如果没有,我该如何处理? 去IF OBJECT_ID('dbo.[Course]','U') 不为空DROP TABLE dbo.[课程]去IF OBJECT_ID('dbo.[Student]','U') 不为空DROP TABLE dbo.[学生] 解决方案 不,如果确实有外键引用它,这不会删除您的表. 要获取引用您的表的所有
..
我有一个数字列表,比如 {2,4,5,6,7}我有一个 foos.ID 表,包括 {1,2,3,4,8,9} 我想拿我的数字列表,并在我的表格的 ID 字段中找到没有对应的数字. 实现此目的的一种方法是创建一个表格栏,在 ID 字段中加载 {2,4,5,6,7}.然后,我会做 SELECT bar.* FROM bars LEFT JOIN foos ON bars.ID = foo
..
如何在 phpMyAdmin 中清空我数据库中所有表的内容而不删除数据库中的任何表? 由于我在开发过程中每小时执行几次此操作,因此我不想每次都在所有 60 多个表上单独单击“清空". 解决方案 使用多个 DELETE 语句(每个表一个)创建一个 SQL 脚本并执行. 进入 phpMyAdmin 并选择您想要的数据库.选择 SQL 选项卡并将 SQL 脚本粘贴到窗口中.点击开始.
..
我有一个带有表的数据库,客户有一些数据 我在办公室有另一个数据库,一切都一样,但我的表客户是空的 如何在 SQL Server 2005 (T-SQL) 中创建一个 sql 文件,该文件从第一个数据库中获取表 Customers 上的所有内容,创建一个 buildcustomers.sql,我压缩该文件,将其复制到网络上,执行它在我的 SQL Server 中,瞧!我的桌子顾客已满
..
我需要向数据库发送一个 SQL 查询,该查询告诉我一个表中有多少行.我可以使用 SELECT 获取表中的所有行,然后对它们进行计数,但我不喜欢这样做.有没有其他方法可以向SQL Server询问表中的行数? 解决方案 Yes, SELECT COUNT(*) FROM TableName
..
此示例取自 来自 w3schools. 创建表人(P_Id int 非空,姓氏 varchar(255) 非空,名字 varchar(255),地址 varchar(255),城市 varchar(255),约束 pk_PersonID PRIMARY KEY (P_Id,LastName)) 我的理解是这两列(P_Id 和 LastName)一起代表表 Persons 的主键.这是正确的吗?
..
我在 SQL Server 2005 上有一个大约 4GB 的表. (约 1700 万条记录) 我将其中一个字段从数据类型 char(30) 更改为 char(60)(总共有 25 个字段,其中大部分是 char(10) 所以字符空间加起来大约是 300) 这导致表格大小翻倍(超过 9GB) 然后我将 char(60) 更改为 varchar(60) 然后运行一个函数从数据
..
是否真的可以旋转 T-SQL (2005) 以便(为了论证)第一列的行的值成为输出表列的标题? 我意识到这并不是 PIVOT 的真正用途,但这正是我所需要的 - 能够请求一个事先不知道列的表,因为它们已作为值输入到表中. 即使是 hack 也会很好,tbh. 解决方案 Itzik Ben-Gan 关于如何构建动态 PIVOT 的示例,我强烈推荐他的 Inside Microso
..
我只想在 SQLite 数据库中创建一个不存在的表.有没有办法做到这一点?如果表存在,我不想删除它,只有在它不存在时才创建它. 解决方案 来自 http://www.sqlite.org/lang_createtable.html: CREATE TABLE IF NOT EXISTS some_table (id INTEGER PRIMARY KEY AUTOINCREMENT, .
..
我知道声明: create table xyz_new as select * from xyz; 哪个复制结构和数据,但如果我只想要结构呢? 解决方案 只需使用一个不会选择任何行的 where 子句: create table xyz_new as select * from xyz where 1=0; 限制 以下内容不会被复制到新表中: 序列 触发器 索引
..
在 MySQL 脚本中,您可以编写: 如果不存在则创建表 foo ...; ...其他东西... 然后您可以多次运行脚本而无需重新创建表. 你如何在 PostgreSQL 中做到这一点? 解决方案 此功能已在 Postgres 9.1 中实现: 如果不存在则创建表 myschema.mytable (i integer); 对于旧版本,这里有一个功能可以解决这个问题:
..
我经常需要在重建之前从我的 PostgreSQL 数据库中删除所有数据.我将如何直接在 SQL 中执行此操作? 目前我已经设法想出了一个返回我需要执行的所有命令的 SQL 语句: SELECT '截断表' ||表名 ||';'FROM pg_tables WHERE tableowner='MYUSER'; 但是一旦我有了它们,我就看不到以编程方式执行它们的方法. 解决方案 Fr
..
我正在寻找一种方法来查找 Postgres 中所有表的行数.我知道我可以一次完成一张桌子: SELECT count(*) FROM table_name; 但我想查看所有表的行数,然后按行数排序以了解我的所有表有多大. 解决方案 有三种方法可以获得这种计数,每种方法都有自己的权衡. 如果你想要一个真正的计数,你必须像你对每个表使用的那样执行 SELECT 语句.这是因为 Pos
..
是否可以定义默认情况下在哪个架构中创建新表?(由“非限定表名"引用.) 我已经看到了一些关于在 Postgres 中使用“搜索路径"的细节,但我认为它只在检索数据时有效,而不是在创建时有效. 我有一堆 SQL 脚本,它们创建了许多表.我不想修改脚本,而是希望在默认情况下在特定模式中设置数据库创建表 - 当它们具有不合格的名称时. 这可能吗? 解决方案 搜索路径确实是你想要
..
我有一个名为 foo 的数据库和一个名为 bar 的数据库.我在 foo 中有一个名为 tblFoobar 的表,我想将(数据和所有)从数据库 foo 移动到数据库 bar.执行此操作的 SQL 语句是什么? 解决方案 在 SQL Server 上?并且在同一个数据库服务器上?使用三部分命名. INSERT INTO bar..tblFoobar( *fieldlist* )SELECT
..
获取 SQL Server 上特定数据库中所有表名称的最佳方法是什么? 解决方案 SQL Server 2000、2005、2008、2012、2014、2016、2017 或 2019: SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE' 仅显示特定数据库中的表 SELECT TABLE_NAM
..
是否可以在 Oracle 中搜索每个表的每个字段以查找特定值? 某些表中有数百个表和数千行,所以我知道这可能需要很长时间来查询.但我唯一知道的是,我要查询的字段的值是 1/22/2008P09RR8. 我已经尝试使用下面的这个语句根据我认为应该命名的内容找到合适的列,但没有返回任何结果. SELECT * from dba_objectsWHERE object_name like '%
..
使用 Postgres,我尝试使用 AUTO_INCREMENT 在 SQL 中自动给我的主键编号.但是,它给了我一个错误. CREATE TABLE Staff (ID INTEGER NOT NULL AUTO_INCREMENT,名称 VARCHAR(40) NOT NULL,主键(ID)); 错误: ********** 错误 **********错误:“AUTO_INCREMENT
..