2013-07-23 41 views
0

我希望有人能幫助我。我使用SQL文件創建了一些表格,而不是phpmyadmin,我希望能夠上傳它們,但如果我做得對,需要一些解釋。這裏是我的代碼:SQL數據庫表

-- -------------------------------------------------------- 

-- 
-- Table structure for table `agents` 
-- 

DROP TABLE IF EXISTS `agents`; 
CREATE TABLE IF NOT EXISTS `agents` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `first name` varchar(255) NOT NULL, 
    `last name` varchar(255) NOT NULL, 
    `company` varchar(255) NOT NULL, 
    `associations` varchar(255) NOT NULL, 
    `agent type` varchar(255) NOT NULL, 
    `address – get directions` varchar(255) NOT NULL, 
    `State` varchar(255) NOT NULL, 
    `county` varchar(255) NOT NULL, 
    `city` varchar(255) NOT NULL, 
    `zip code` varchar(255) NOT NULL, 
    `office phone number` varchar(255) NOT NULL, 
    `office fax number` varchar(255) NOT NULL, 
    `cell/txt number` varchar(255) NOT NULL, 
    `email` varchar(255) NOT NULL, 
    `website` varchar(255) NOT NULL, 
    `social media profiles` varchar(255) NOT NULL, 
    `license #` varchar(255) NOT NULL,       
    `realtor since` varchar(255) NOT NULL, 
    `biography` varchar(255) NOT NULL, 
    `experience` varchar(255) NOT NULL, 
    `awards - certifications` varchar(255) NOT NULL, 
    `affiliations` varchar(255) NOT NULL, 
    `languages` varchar(255) NOT NULL, 
    `practice areas` varchar(255) NOT NULL, 
    `hobbies - interests` varchar(255) NOT NULL, 
    `featured properties` varchar(255) NOT NULL, 
    `contact form` varchar(255) NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ; 

我不知道,如果第一和名之間的空間應包括在內,我也根本不知道我是否有將varchar數字糾正爲好。

回答

1

取決於您尋找多少空間。這在理論上會讓你創建桌子,但效率不高。可以返回並編輯字段的長度以更適用於它們中的內容。不要真的需要州和縣的255個字符。

我不相信「的愛好 - 利益」,並且將是一個有效的列名,一般會堅持一個詞或沒有空間的名字,如果它只是在後臺所以它更快於編寫查詢。

地塊更容易打出來FNAME代替[名]

也可能是清理其他符號讓你的代碼乾淨了一點一個好主意,更容易構建未來查詢時走動。

+0

我不認爲VARCHAR字段爲最大大小保留空間,因此將它們設置爲255時幾乎沒有性能開銷。它使用最大值來確定長度字段使用多少字節,因此高於255會浪費一個額外的字節,因爲需要一個2字節的長度字段,但就是這樣。 – Barmar

+0

謝謝Barmar ......我習慣於使用盡可能小的解決方案,所以當我看到任何超過2個空格的狀態時,我總是迴避槍戰。另一種數據類型會在這裏更好地工作嗎? – TTUGecko

+0

對於一切都是相同長度的字段,像狀態,'CHAR(2)'是最好的,因爲它不需要長度字節。 – Barmar

0

請勿使用任何空格。改爲使用first_name。此外,郵政編碼,而不是郵政編碼,絕對不像你在單元格/文本號碼和獎勵 - 認證領域類型的破折號和斜線。

爲便於編碼,如果可能的話使用一個單詞字段名稱,如果不用下劃線將它們分開。除非您在團隊環境中工作,否則沒有人會看到字段名稱,但是您和任何其他開發人員在執行該網站。

+0

使用反引號可以使用列名稱中的幾乎任何字符。這意味着你總是需要使用反引號,這會導致很多醜陋的代碼。 – Barmar

+0

@Barmar是的,你是完全正確的。我從來沒有意味着它不會工作,但我強烈建議不要使用它,因爲相同的原因 - 雜亂的代碼,並不容易寫。 – SasaT