2013-04-14 205 views
1

我試圖在SQL Server 2012 Management Studio中創建表。使用SQL Server 2012 Management Studio創建表

我想創建一個表列:categorycustomerCostumePaymentrental

這裏是SQL我到目前爲止:

CREATE TABLE dbo.CATEGORY 
(
    CATEGORY_ID  CHAR(5)  PRIMARY KEY, 
    CATEGORY_DESC CHAR(50) NOT NULL 
); 

CREATE TABLE dbo.COSTUME 
(
    Costume_ID    CHAR(5), 
    Costume_Desc   CHAR(50), 
    Costume_Size   CHAR(5), 
    Costume_RentalPricE  DECIMAL(12,2), 
    Category_ID    CHAR(5) 
); 

CREATE TABLE dbo.CUSTOMER 
(
    Customer_ID   CHAR(5), 
    Customer_LastName CHAR(50), 
    Customer_FirstName CHAR(50), 
    Customer_Address CHAR(30), 
    Customer_City  CHAR(50), 
    Customer_State  CHAR(2), 
    Customer_Zip  CHAR(10), 
    Customer_Phone  CHAR(10), 
    Category_ID   CHAR(5) 
); 

CREATE TABLE dbo.Payment 
(
    Payment_ID   CHAR(5), 
    Customer_ID   CHAR(5), 
    Payment_Date  DATE, 
    Payment_Amount  DECIMAL(12,2), 
    Payment_Comment  VARCHAR, 
); 

CREATE TABLE dbo.Rental 
(
    Rental_ID  --it says this needs to be Long integer for field size? 
    Customer_ID   CHAR(5), 
    Costume_ID   CHAR(5), 
    Rental_Date   DATE, 
    Rental_DueDate  DATE, 
    Rental_CheckIn  --YES OR NO? i'M NOT SURE HOW TO DO THIS. 
    Rental_Penalty  DECIMAL(12,2) 
); 

我如何創建一個布爾列和一個長的領域?

+0

評論:我會建議使用'INT'作爲你的'ID'列 - 如果你有超過5個字符,我會st rongly使用'CHAR(n)'向**推薦** - 這些字符串將被填充空格至定義的長度,例如,即使您的數據只有1個字符長度,也會存儲50個字符 - >巨大的浪費。對於超過5個字符的任何內容,使用'VARCHAR(n)'! –

+0

所以然後使用VARCHAR(n)n是50或者我正在使用正確的? – Jazzi

+0

準確地說 - 在這種情況下,您的列可以容納*最多50個字符 - 但是如果您只存儲10個字符,則只需要10個字節(加上2個字節的開銷)。並且存儲的字符串也不會在定義長度的末尾填充空格。 –

回答

5
USE COSTUMERENTAL; 

CREATE TABLE dbo.CATEGORY -- should always specify schema 
(
    CATEGORY_ID  CHAR(5) PRIMARY KEY, -- can't be two data types 
    CATEGORY_DESC  CHAR(50) NOT NULL 
); -- don't need to specify PRIMARY KEY twice 

--USE COSTUMER RENTAL; -- is there a space in the name or not? 

CREATE TABLE dbo.COSTUME 
(
    Costume_ID    CHAR(5), -- need commas 
    Costume_Desc   CHAR(50), 
    Costume_Size   CHAR(5), 
    Costume_RentalPricE  DECIMAL(12,2), -- Number isn't a valid SQL Server data type 
    Category_ID    CHAR(5) 
); -- need closing brackets; also should always use semi-colons to terminate 
+0

好的,幫了很多 – Jazzi

1

爲Server Management Studio中創建表的語法:

Microsoft's SQL Server數據庫,創建表是這樣的:

CREATE TABLE dbo.MYTABLE 
(
    my_integer  INTEGER PRIMARY KEY, //int −2,147,483,648 to 2,147,483,647 
    my_varchar  VARCHAR(100),  //strings of characters 
    my_forcedwidth CHAR(50),   //fixed width of 50 chars 
    my_yes_no  BIT,     //holds 0 or 1 
    my_decimal  DECIMAL(12,2)  //precision number. 
    my_bigint  Bigint    //big integer 
); 

對於數據類型的完整列表:http://www.connectionstrings.com/sql-server-data-types-reference/

相關問題