2013-04-14 61 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/

相关问题