标签: database-table

如果不存在,PostgreSQL创建表

在MySQL脚本中,您可以编写:

CREATE TABLE IF NOT EXISTS foo ...;
Run Code Online (Sandbox Code Playgroud)

... 其他的东西 ...

然后您可以多次运行该脚本而无需重新创建表.

你如何在PostgreSQL中做到这一点?

sql postgresql ddl create-table database-table

148
推荐指数
4
解决办法
17万
查看次数

模式与表和数据库之间有什么区别?

这可能是一个类似(或更糟)的问题.但我一直将模式视为数据库中的表定义.这是错误的或不完全正确的.我对数据库课程的记忆不多.

database schema definition database-table

143
推荐指数
8
解决办法
20万
查看次数

截断Postgres数据库中的所有表

我经常需要在重建之前删除PostgreSQL数据库中的所有数据.我将如何直接在SQL中执行此操作?

目前我已经设法提出一个SQL语句,它返回我需要执行的所有命令:

SELECT 'TRUNCATE TABLE ' ||  tablename || ';' FROM pg_tables WHERE tableowner='MYUSER';
Run Code Online (Sandbox Code Playgroud)

但是,一旦拥有它们,我就无法以编程方式执行它们.

postgresql truncate dynamic-sql plpgsql database-table

142
推荐指数
8
解决办法
13万
查看次数

SQL DROP TABLE外键约束

如果我想像这样删除我的数据库中的所有表,它会处理外键约束吗?如果没有,我该如何处理?

GO
IF OBJECT_ID('dbo.[Course]','U') IS NOT NULL
    DROP TABLE dbo.[Course]
GO
IF OBJECT_ID('dbo.[Student]','U') IS NOT NULL
    DROP TABLE dbo.[Student]
Run Code Online (Sandbox Code Playgroud)

sql-server constraints foreign-keys drop-table database-table

141
推荐指数
4
解决办法
29万
查看次数

Facebook数据库设计?

我一直想知道Facebook如何设计朋友< - >用户关系.

我认为用户表是这样的:

user_email PK
user_id PK
password 
Run Code Online (Sandbox Code Playgroud)

我用用户的数据(性别,年龄等通过用户电子邮件连接,我会假设)来计算表格.

它是如何将所有朋友连接到此用户的?

像这样的东西?

user_id
friend_id_1
friend_id_2
friend_id_3
friend_id_N 
Run Code Online (Sandbox Code Playgroud)

可能不是.因为用户数量未知并且将会扩展.

sql database-design facebook database-normalization database-table

130
推荐指数
10
解决办法
17万
查看次数

搜索特定值的所有表中的所有字段(Oracle)

是否有可能在每个表的每个字段中搜索Oracle中的特定值?

在一些表中有数百个表有数千行,所以我知道这可能需要很长时间才能查询.但我唯一知道的是我想要查询的字段的值是1/22/2008P09RR8.<

我已经尝试使用下面的这个语句根据我认为应该命名的内容找到一个合适的列,但它没有返回任何结果.

SELECT * from dba_objects 
WHERE object_name like '%DTN%'
Run Code Online (Sandbox Code Playgroud)

这个数据库绝对没有文档,我不知道该字段的来源.

有什么想法吗?

sql oracle search plsql database-table

110
推荐指数
9
解决办法
39万
查看次数

Mysql:从表中选择不在另一个表中的行

如何选择一个表中没有出现在另一个表中的所有行?

表格1:

+-----------+----------+------------+
| FirstName | LastName | BirthDate  |
+-----------+----------+------------+
| Tia       | Carrera  | 1975-09-18 |
| Nikki     | Taylor   | 1972-03-04 |
| Yamila    | Diaz     | 1972-03-04 |
+-----------+----------+------------+
Run Code Online (Sandbox Code Playgroud)

表2:

+-----------+----------+------------+
| FirstName | LastName | BirthDate  |
+-----------+----------+------------+
| Tia       | Carrera  | 1975-09-18 |
| Nikki     | Taylor   | 1972-03-04 |
+-----------+----------+------------+
Run Code Online (Sandbox Code Playgroud)

Table1中不在Table2中的行的示例输出:

+-----------+----------+------------+
| FirstName | LastName | BirthDate  |
+-----------+----------+------------+
| Yamila    | Diaz     | 1972-03-04 |
+-----------+----------+------------+
Run Code Online (Sandbox Code Playgroud)

也许这样的事情应该有效:

SELECT * FROM …
Run Code Online (Sandbox Code Playgroud)

mysql sorting unique database-table

107
推荐指数
6
解决办法
18万
查看次数

为什么使用多列作为主键(复合主键)

这个例子来自w3schools.

CREATE TABLE Persons
(
    P_Id int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255),
    CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
)
Run Code Online (Sandbox Code Playgroud)

我的理解是两个列在一起(P_IdLastName)代表表的主键Persons.它是否正确?

  • 为什么有人想要使用多列作为主键而不是单列?
  • 可以将多少列一起用作给定表中的主键?

ddl database-design primary-key relational-database database-table

102
推荐指数
3
解决办法
15万
查看次数

哪个更有效:多个MySQL表还是一个大表?

我在MySQL数据库中存储了各种用户详细信息.最初它设置在各种表中,这意味着数据与UserIds链接,并通过有时复杂的调用输出,以根据需要显示和操作数据.建立一个新系统,将所有这些表组合成一个相关内容的大表几乎是有意义的.

  • 这会成为一种帮助还是障碍?
  • 调用,更新或搜索/操作时的速度考虑因素?

这是我的一些表结构的示例:

  • 用户 - UserId,用户名,电子邮件,加密密码,注册日期,IP
  • user_details - cookie数据,名称,地址,联系方式,从属关系,人口统计数据
  • user_activity - 贡献,上次在线,上次观看
  • user_settings - 配置文件显示设置
  • user_interests - 广告可定位变量
  • user_levels - 访问权限
  • user_stats - 点击,统计

编辑:到目前为止,我已经提出了所有答案,它们都有基本上回答我问题的元素.

大多数表具有1:1的关系,这是使它们非规范化的主要原因.

如果表格跨越100多列,当这些单元格的大部分可能保持空白时,是否会出现问题?

mysql database-table

100
推荐指数
7
解决办法
7万
查看次数

将CSV导入mysql表

将csv文件上传到mysql表的最佳/最快方法是什么?我想将第一行数据用作列名.

发现这个:

如何将CSV文件导入MySQL表

但唯一的答案是使用GUI而不是shell?

mysql csv import load-data-infile database-table

94
推荐指数
3
解决办法
25万
查看次数