标签: create-table

如何基于另一个表创建表

我想基于另一个表的定义创建一个表.

我来自甲骨文,我通常这样做:

 CREATE TABLE schema.newtable AS SELECT * FROM schema.oldtable;
Run Code Online (Sandbox Code Playgroud)

我似乎无法在SQL Server 2008中执行此操作.

sql-server create-table sql-server-2008

27
推荐指数
2
解决办法
17万
查看次数

cassandra的主键是独一无二的?

它可能有点蹩脚,但在cassandra中有一个独特的主键?例如,在下表中:

CREATE TABLE users (
  name text,
  surname text,
  age int,
  adress text,
  PRIMARY KEY(name, surname)
);
Run Code Online (Sandbox Code Playgroud)

那么,如果我的数据库中有2个人可以在我的数据库中拥有相同名称和姓氏但年龄不同的人吗?这意味着相同的主键..

primary-key create-table cassandra

24
推荐指数
2
解决办法
1万
查看次数

DBUnit有没有办法自动创建表?

我刚刚意识到DBUnit本身并不创建表(请参阅如何使用纯JDBC和HSQLDB使用DBUnit进行测试而不会遇到NoSuchTableException?).

DBUnit有没有办法从数据集或dtd自动创建表?

编辑: 对于像HSQLDB这样的内存数据库的简单测试,可以使用原始方法自动创建表:

private void createHsqldbTables(IDataSet dataSet, Connection connection) throws DataSetException, SQLException {
    String[] tableNames = dataSet.getTableNames();

    String sql = "";
    for (String tableName : tableNames) {
      ITable table = dataSet.getTable(tableName);
      ITableMetaData metadata = table.getTableMetaData();
      Column[] columns = metadata.getColumns();

      sql += "create table " + tableName + "( ";
      boolean first = true;
      for (Column column : columns) {
        if (!first) {
          sql += ", ";
        }
        String columnName = column.getColumnName();
        String type = resolveType((String) table.getValue(0, columnName)); …
Run Code Online (Sandbox Code Playgroud)

java dbunit dataset create-table

23
推荐指数
1
解决办法
2万
查看次数

我是否需要为关系数据库表的主键创建单独的索引

如果我创建具有主键的表是为表自动创建的索引,或者是否需要单独执行.

即如果这是表ddl

 CREATE TABLE release(guid varchar(36) NOT NULL PRIMARY KEY,
name varchar(255),xmldata  CLOB(512 K))
Run Code Online (Sandbox Code Playgroud)

我还需要做什么

CREATE INDEX release_idx ON release(guid)
Run Code Online (Sandbox Code Playgroud)

或不

(我正在使用Derby一个Java附带的数据库)

database indexing derby create-table

21
推荐指数
1
解决办法
1万
查看次数

如果存在则更改表或如果不存在则创建

我需要运行一个安装程序,它也可以是更新程序.安装程序需要能够最终拥有mysql数据库的某个方案/结构,无论是否存在某些表,错过了几列,或者由于其结构是最新的而无需更改.

怎样才能让优雅的组合ALTERCREATE

我当时认为必须有"添加...如果...重复"之类的东西

假设我有表A.在一个客户端中,表有一列-A1,另一个客户端具有相同的表,但列A1和列A2.

我希望我的sql命令使两个客户端的表A保持三列:A1,A2和A3.

同样,我的脚本是一个sql文件,我转储到mysql.

我该怎么做?谢谢 :-)

mysql alter-table create-table

20
推荐指数
2
解决办法
4万
查看次数

PostgreSQL:创建表,如果不存在AS

我正在使用PostgreSQL并且是一个SQL初学者.我正在尝试从查询中创建一个表,如果我运行:

CREATE TABLE table_name AS
   (....query...)
Run Code Online (Sandbox Code Playgroud)

它工作得很好.但是如果我添加'if not exists'并运行:

CREATE TABLE IF NOT EXISTS table_name AS
   (....query...)
Run Code Online (Sandbox Code Playgroud)

使用完全相同的查询,我得到:

ERROR: syntax error at or near "as"
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

sql postgresql create-table

20
推荐指数
2
解决办法
3万
查看次数

UNIQUE,UNIQUE KEY和CONSTRAINT'name'UNIQUE有什么区别?

我有一个基本的"用户"表,我想在MySQL中创建.

我不希望在数据库中出现重复的电子邮件或重复的用户名.

  • 在创建桌子时防止这种情况的最佳方法是什么?
  • 以下是有什么区别的:

1. UNIQUE(用户名),UNIQUE(电子邮件),

2. UNIQUE KEY(用户名),UNIQUE KEY(电子邮件),

3. CONSTRAINT ucons_login UNIQUE(用户名,电子邮件),

我假设其中一些是同义词,但我一直在网上阅读相互矛盾的信息并且正在寻求确认.

我希望有人可以提供帮助.

SQL:

CREATE TABLE users (
  user_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
  username VARCHAR(30) NOT NULL,
  pass CHAR(40) NOT NULL,
  first_name VARCHAR(20) NOT NULL,
  last_name VARCHAR(40) NOT NULL,
  email VARCHAR(60) NOT NULL,
  registration_date DATETIME NOT NULL,
  user_level TINYINT(1) UNSIGNED NOT NULL DEFAULT 0,
  active CHAR(32),
  PRIMARY KEY (user_id),
  UNIQUE (username),
  UNIQUE (email),
  INDEX login (email, pass),
  INDEX full_name (last_name, first_name)
) ENGINE=INNODB;
Run Code Online (Sandbox Code Playgroud)

mysql database-design unique create-table unique-constraint

19
推荐指数
1
解决办法
7312
查看次数

列,参数或变量#10:找不到数据类型

我正在尝试从模板代码创建表.

此模板代码正在运行:

CREATE TABLE [dbo].[Table1]
    (
    [Field1] [int] NULL,
    [Field2] [float] NULL
    ) ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)

但是如果我把varchar(10):

CREATE TABLE [dbo].[Table1]
    (
    [Field1] [int] NULL,
    [Field2] [varchar(10)] NULL
    ) ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)

我收到错误:

Msg 2715, Level 16, State 7, Line 1
Column, parameter, or variable #2: Cannot find data type varchar(10).
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server create-table sqldatatypes

19
推荐指数
1
解决办法
3万
查看次数

SQL Server - 您可以在CREATE TABLE中添加字段描述吗?

我可以看到很多关于字段描述扩展属性的位置以及如何获取它的帖子,但没有关于在CREATE TABLE阶段添加这些内容.

我正在动态创建表格,因此动态添加字段描述将是一件很干净的事情,但我看不到方法.

有没有人设法做到这一点?

sql sql-server create-table field-description

18
推荐指数
2
解决办法
3万
查看次数

数据库'tempdb'中的CREATE TABLE权限被拒绝

我第一次在我的系统上安装SQL Server Management Studio Express和Visual Studio 2005.现在我尝试使用下面的脚本创建表.但是,如果我执行一次,我就会面临错误

数据库'tempdb'中的CREATE TABLE权限被拒绝.

为什么呢?任何人都可以帮我解决这个问题吗?

USE [tempdb]
GO

SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[Employee]
([FirstName] [nvarchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
 [LastName] [nvarchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
) ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)

谢谢Raju

sql-server create-table

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