-1

いくつかのテーブルを含むデータベースを作成したいと思います。私は SSMS を使用しており、作成を右クリックするだけで上記のタスクを簡単に実行できますが、クエリ/コマンド ラインを使用したいと思います (どのように表現すればよいかわかりません)。

データベースとテーブルを作成する

    CREATE DATABASE test_employees;

    CREATE TABLE dbo.EmployeesBasicInfo
    (
        MyKeyField VarChar(8) PRIMARY KEY,
        FirstName VarChar(30) NOT NULL,
        LastName VarChar(50) NOT NULL,
        DateStarted DateTime NOT NULL,
        Age Int NOT NULL,
        ModifiedDate DateTime NULL
    );

しかし、テーブルがどこにあるのか、データベース test_employees に移動/リンクする方法がわかりません。

また、私の質問に答える意欲がある場合は、次のステップはすべてのフィールドのデータを自動生成することです。あなたが提供できるリンクは役に立ちます。そして、私がやっていることがベストプラクティスでない場合はお知らせください - 私は SQL を始めたばかりです。

4

2 に答える 2

3

データベースを作成したら、次のことを行う必要があります。

Use test_employees
Go

これにより、後続のステートメント用に現在の作業データベースが設定されます。

または、作成テーブルをデータベース名で修飾することもできます

Create Table test_employees.dbo.EmployeesBasicInfo (
    MyKeyField varchar(8) primary key,
    FirstName varchar(30) not null,
    LastName varchar(50) not null,
    DateStarted DateTime not null,
    Age int not null,
    ModifiedDate datetime null
);

おそらく、デフォルトのデータベースにこのテーブルを作成したことでしょうmaster

また、SQL Server の最近のバージョンでは、datetime2代わりにdatetime(またはdate時間コンポーネントが必要ない場合) を使用することを検討してください。あらゆる点で優れています。

于 2013-10-06T19:40:26.380 に答える
1

最初にテーブルを作成するコードを次に示します。次に、いくつかのテストデータを追加して練習することができます........

テーブルを作成するには:

Create Table dbo.BasicInfo (
    MyKeyField INT primary key IDENTITY(1,1),
    FirstName varchar(30) not null,
    LastName varchar(50) not null,
    DateStarted DateTime not null,
    Age int not null,
    ModifiedDate datetime null
)
GO

練習データを追加するには:

DECLARE @Value INT = 1

WHILE @Value <= 100
    BEGIN 
        INSERT INTO dbo.BasicInfo (FirstName, LastName, DateStarted, Age, ModifiedDate)
        VALUES           ('First_Name_' + CAST(@Value AS VARCHAR), 'Last_Name_'+ CAST(@Value AS VARCHAR), DATEADD(DAY, -CONVERT(INT, (5000+1)*RAND()), GETDATE()),
                     18 + CONVERT(INT, (30-10+1)*RAND()),  DATEADD(DAY,  10 + (30-10)*RAND() ,DATEADD(DAY, -CONVERT(INT, (5000+1)*RAND()), GETDATE()))) 
        SET @Value = @Value + 1
    END

テーブルに 100 行以上追加する場合は、このコードでテーブルに追加する行数を 100 に置き換えます。

于 2013-10-06T21:22:03.533 に答える