Powinieneś użyć INT, jeśli chcesz użyć klucza podstawowego (INT jest szybsze do szukania niż ciąg) lub oblicz dane. Na przykład chcesz obliczyć liczbę przedmiotów zakupionych przy zamawianiu niektórych produktów online. Każda linia będzie zawierała opis artykułu, cenę, zamówioną ilość (i więcej - wystarczy podać tutaj przykład). W takim przypadku, przez INT, w przypadku ilości, łatwo będzie uzyskać liczbę zamówionych produktów (łączna liczba produktów do faktury).
Struny z typem "char" i "varchar" są nieco inne. Typ "char" jest zdefiniowany następująco:
Łańcuch o stałej długości, który jest zawsze prawy-dopełniony spacjami do określonej długości, gdy są przechowywane.
W przypadku słów, jeśli zdefiniujesz imię char (200), użyjesz 200 bajtów. Typ varchar jest zdefiniowany następująco:
Łańcuch o zmiennej długości. Uwaga: Spacje końcowe są usuwane po zapisaniu wartości (różni się to od specyfikacji SQL ANSI).
W przypadku słów, jeśli zdefiniujesz imię z varchar (255), a nazwa brzmi "Tim", będziesz użyj 4 bajtów. 3 dla nazwy +1 bajtu dla długości pola.
Zazwyczaj użyć char (6) dla kolorów HTML (FFFFFF) i zazwyczaj użyć varchar do nazwisk, adresów itp ...
Jeśli chodzi o Twoje drugie pytanie, jak od konfiguracji numer w nawiasie. Ta liczba ustawi maksymalną długość ciągu. Jeśli ustawisz varchar (60) w polu i kiedy wstawisz lub zaktualizujesz rekord, a długość łańcucha będzie większa niż 60 znaków, MySQL skróci ciąg, aby użyć pierwszych 60 znaków.
Można sprawdzić wszystkie typy pól tutaj: http://help.scibit.com/mascon/masconMySQL_Field_Types.html
Można również przeczytać o normalizacji bazy danych: http://en.wikipedia.org/wiki/Database_normalization
Jakie jest pytanie? –