Cole Cole - 6 months ago 25
MySQL Question

How would I go about populating an SQL database with world languages?

A PHP program that I'm working on requires a list of world languages. Preferably the list should contain the English name of the language and a unique, two-letter designation for each language. What would be the easiest way to create a table that contained that kind of data?

Answer

ISO 639 is a standards set for cataloging languages. ISO 639-1 in particular is made up of "Alpha-2 codes", two-letter codes for 184 major languages. The following is an SQL query that can be used to create and populate a languages table with an Alpha-2 code accompanied by the English, German, French, and Spanish name of each language, using some of the data from the Library of Congress:

DROP TABLE IF EXISTS `world_languages`;
CREATE TABLE `world_languages` (
  `alpha2` varchar(2) NOT NULL,
  `langEN` varchar(48) NOT NULL,
  `langDE` varchar(48) NOT NULL,
  `langFR` varchar(48) NOT NULL,
  `langES` varchar(48) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='World Languages (ISO 639)';

INSERT INTO `world_languages` (`alpha2`, `langEN`, `langDE`, `langFR`, `langES`) VALUES
('aa', 'Afar', 'Danakil-Sprache', 'afar', 'afar'),
('ab', 'Abkhazian', 'Abchasisch', 'abjaso (o abjasiano)', 'abkhaze'),
('ae', 'Avestan', 'Avestisch', 'avéstico', 'avestique'),
('af', 'Afrikaans', 'Afrikaans', 'afrikaans', 'afrikaans'),
('ak', 'Akan', 'Akan-Sprache', 'akano', 'akan'),
('am', 'Amharic', 'Amharisch', 'amárico', 'amharique'),
('an', 'Aragonese', 'Aragonesisch', 'aragonés', 'aragonais'),
('ar', 'Arabic', 'Arabisch', 'árabe', 'arabe'),
('as', 'Assamese', 'Assamesisch', 'asamés', 'assamais'),
('av', 'Avaric', 'Awarisch', 'avar', 'avar'),
('ay', 'Aymara', 'Aymará-Sprache', 'aimara', 'aymara'),
('az', 'Azerbaijani', 'Aserbeidschanisch', 'azerí', 'azéri'),
('ba', 'Bashkir', 'Baschkirisch', 'baskir', 'bachkir'),
('be', 'Belarusian', 'Weißrussisch', 'bielorruso', 'biélorusse'),
('bg', 'Bulgarian', 'Bulgarisch', 'búlgaro', 'bulgare'),
('bh', 'Bihari', 'Bihari', 'bhojpurí', 'biharis'),
('bi', 'Bislama', 'Beach-la-mar', 'bislama', 'bichlamar'),
('bm', 'Bambara', 'Bambara-Sprache', 'bambara', 'bambara'),
('bn', 'Bengali', 'Bengali', 'bengalí', 'bengali'),
('bo', 'Tibetan', 'Tibetisch', 'tibetano', 'tibétain'),
('br', 'Breton', 'Bretonisch', 'bretón', 'breton'),
('bs', 'Bosnian', 'Bosnisch', 'bosnio', 'bosniaque'),
('ca', 'Catalan', 'Katalanisch', 'catalán', 'catalan'),
('ce', 'Chechen', 'Tschetschenisch', 'checheno', 'tchétchène'),
('ch', 'Chamorro', 'Chamorro-Sprache', 'chamorro', 'chamorro'),
('co', 'Corsican', 'Korsisch', 'corso', 'corse'),
('cr', 'Cree', 'Cree-Sprache', 'cree', 'cree'),
('cs', 'Czech', 'Tschechisch', 'checo', 'tchèque'),
('cu', 'Old Slavonic', 'Kirchenslawisch', 'eslavo eclesiástico antiguo', 'vieux slave'),
('cv', 'Chuvash', 'Tschuwaschisch', 'chuvasio', 'tchouvache'),
('cy', 'Welsh', 'Kymrisch', 'galés', 'gallois'),
('da', 'Danish', 'Dänisch', 'danés', 'danois'),
('de', 'German', 'Deutsch', 'alemán', 'allemand'),
('dv', 'Maldivian', 'Maledivisch', 'maldivo', 'maldivien'),
('dz', 'Dzongkha', 'Dzongkha', 'dzongkha', 'dzongkha'),
('ee', 'Ewe', 'Ewe-Sprache', 'ewe', 'éwé'),
('el', 'Greek', 'Neugriechisch', 'griego (moderno)', 'grec moderne'),
('en', 'English', 'Englisch', 'inglés', 'anglais'),
('eo', 'Esperanto', 'Esperanto', 'esperanto', 'espéranto'),
('es', 'Spanish', 'Spanisch', 'español (o castellano)', 'espagnol'),
('et', 'Estonian', 'Estnisch', 'estonio', 'estonien'),
('eu', 'Basque', 'Baskisch', 'vascuence (o euskera)', 'basque'),
('fa', 'Persian', 'Persisch', 'persa', 'persan'),
('ff', 'Fulah', 'Ful', 'fula', 'peul'),
('fi', 'Finnish', 'Finnisch', 'finés (o finlandés)', 'finnois'),
('fj', 'Fijian', 'Fidschi-Sprache', 'fijiano (o fidji)', 'fidjien'),
('fo', 'Faroese', 'Färöisch', 'feroés', 'féroïen'),
('fr', 'French', 'Französisch', 'francés', 'français'),
('fy', 'Western Frisian', 'Friesisch', 'frisón (o frisio)', 'frison occidental'),
('ga', 'Irish', 'Irisch', 'irlandés (o gaélico)', 'irlandais'),
('gd', 'Gaelic', 'Gälisch-Schottisch', 'gaélico escocés', 'gaélique'),
('gl', 'Galician', 'Galicisch', 'gallego', 'galicien'),
('gn', 'Guarani', 'Guaraní-Sprache', 'guaraní', 'guarani'),
('gu', 'Gujarati', 'Gujarati-Sprache', 'guyaratí (o guyaratí)', 'goudjrati'),
('gv', 'Manx', 'Manx', 'manés (gaélico manés o de Isla de Man)', 'manx; mannois'),
('ha', 'Hausa', 'Haussa-Sprache', 'hausa', 'haoussa'),
('he', 'Hebrew', 'Hebräisch', 'hebreo', 'hébreu'),
('hi', 'Hindi', 'Hindi', 'hindi (o hindú)', 'hindi'),
('ho', 'Hiri Motu', 'Hiri-Motu', 'hiri motu', 'hiri motu'),
('hr', 'Croatian', 'Kroatisch', 'croata', 'croate'),
('ht', 'Haitian', 'Haïtien', 'haitiano', 'haïtien'),
('hu', 'Hungarian', 'Ungarisch', 'húngaro', 'hongrois'),
('hy', 'Armenian', 'Armenisch', 'armenio', 'arménien'),
('hz', 'Herero', 'Herero-Sprache', 'herero', 'herero'),
('ia', 'Interlingua', 'Interlingua', 'interlingua', 'interlingua'),
('id', 'Indonesian', 'Bahasa Indonesia', 'indonesio', 'indonésien'),
('ie', 'Interlingue', 'Interlingue', 'occidental', 'interlingue'),
('ig', 'Igbo', 'Ibo-Sprache', 'igbo', 'igbo'),
('ii', 'Sichuan Yi', 'Lalo-Sprache', 'yi de Sichuán', 'yi de Sichuan'),
('ik', 'Inupiaq', 'Inupik', 'inupiaq', 'inupiaq'),
('io', 'Ido', 'Ido', 'ido', 'ido'),
('is', 'Icelandic', 'Isländisch', 'islandés', 'islandais'),
('it', 'Italian', 'Italienisch', 'italiano', 'italien'),
('iu', 'Inuktitut', 'Inuktitut', 'inuktitut', 'inuktitut'),
('ja', 'Japanese', 'Japanisch', 'japonés', 'japonais'),
('jv', 'Javanese', 'Javanisch', 'javanés', 'javanais'),
('ka', 'Georgian', 'Georgisch', 'georgiano', 'géorgien'),
('kg', 'Kongo', 'Kongo-Sprache', 'kongo', 'kongo'),
('ki', 'Kikuyu', 'Kikuyu-Sprache', 'kikuyu', 'kikuyu'),
('kj', 'Kwanyama', 'Kwanyama-Sprache', 'kuanyama', 'kwanyama'),
('kk', 'Kazakh', 'Kasachisch', 'kazajo (o kazajio)', 'kazakh'),
('kl', 'Greenlandic', 'Grönländisch', 'groenlandés (o kalaallisut)', 'groenlandais'),
('km', 'Central Khmer', 'Kambodschanisch', 'camboyano (o jemer)', 'khmer central'),
('kn', 'Kannada', 'Kannada', 'canarés', 'kannada'),
('ko', 'Korean', 'Koreanisch', 'coreano', 'coréen'),
('kr', 'Kanuri', 'Kanuri-Sprache', 'kanuri', 'kanouri'),
('ks', 'Kashmiri', 'Kaschmiri', 'cachemiro', 'kashmiri'),
('ku', 'Kurdish', 'Kurdisch', 'kurdo', 'kurde'),
('kv', 'Komi', 'Komi-Sprache', 'komi', 'kom'),
('kw', 'Cornish', 'Kornisch', 'córnico', 'cornique'),
('ky', 'Kirghiz', 'Kirgisisch', 'kirguís', 'kirghiz'),
('la', 'Latin', 'Latein', 'latín', 'latin'),
('lb', 'Luxembourgish', 'Luxemburgisch', 'luxemburgués', 'luxembourgeois'),
('lg', 'Ganda', 'Ganda-Sprache', 'luganda', 'ganda'),
('li', 'Limburgish', 'Limburgisch', 'limburgués', 'limbourgeois'),
('ln', 'Lingala', 'Lingala', 'lingala', 'lingala'),
('lo', 'Lao', 'Laotisch', 'lao', 'lao'),
('lt', 'Lithuanian', 'Litauisch', 'lituano', 'lituanien'),
('lu', 'Luba-Katanga', 'Luba-Katanga-Sprache', 'luba-katanga', 'luba-katanga'),
('lv', 'Latvian', 'Lettisch', 'letón', 'letton'),
('mg', 'Malagasy', 'Malagassi-Sprache', 'malgache (o malagasy)', 'malgache'),
('mh', 'Marshallese', 'Marschallesisch', 'marshalés', 'marshall'),
('mi', 'Maori', 'Maori-Sprache', 'maorí', 'maori'),
('mk', 'Macedonian', 'Makedonisch', 'macedonio', 'macédonien'),
('ml', 'Malayalam', 'Malayalam', 'malayalam', 'malayalam'),
('mn', 'Mongolian', 'Mongolisch', 'mongol', 'mongol'),
('mr', 'Marathi', 'Marathi', 'maratí', 'marathe'),
('ms', 'Malay', 'Malaiisch', 'malayo', 'malais'),
('mt', 'Maltese', 'Maltesisch', 'maltés', 'maltais'),
('my', 'Burmese', 'Birmanisch', 'birmano', 'birman'),
('na', 'Nauru', 'Nauruanisch', 'nauruano', 'nauruan'),
('nb', 'Norwegian', 'Bokmål', 'noruego bokmål', 'norvégien bokmål'),
('nd', 'North Ndebele', 'Ndebele-Sprache (Simbabwe)', 'ndebele del norte', 'ndébélé du Nord'),
('ne', 'Nepali', 'Nepali', 'nepalí', 'népalais'),
('ng', 'Ndonga', 'Ndonga', 'ndonga', 'ndonga'),
('nl', 'Dutch', 'Niederländisch', 'neerlandés (u holandés)', 'néerlandais'),
('nn', 'Norwegian Nynorsk', 'Nynorsk', 'nynorsk', 'norvégien nynorsk'),
('no', 'Norwegian', 'Norwegisch', 'noruego', 'norvégien'),
('nr', 'South Ndebele', 'Ndebele-Sprache (Transvaal)', 'ndebele del sur', 'ndébélé du Sud'),
('nv', 'Navajo', 'Navajo-Sprache', 'navajo', 'navaho'),
('ny', 'Nyanja', 'Nyanja-Sprache', 'chichewa', 'nyanja'),
('oc', 'Occitan', 'Okzitanisch', 'occitano', 'occitan'),
('oj', 'Ojibwa', 'Ojibwa-Sprache', 'ojibwa', 'ojibwa'),
('om', 'Oromo', 'Galla-Sprache', 'oromo', 'galla'),
('or', 'Oriya', 'Oriya-Sprache', 'oriya', 'oriya'),
('os', 'Ossetic', 'Ossetisch', 'osético', 'ossète'),
('pa', 'Punjabi', 'Pandschabi-Sprache', 'panyabí (o penyabi)', 'pendjabi'),
('pi', 'Pali', 'Pali', 'pali', 'pali'),
('pl', 'Polish', 'Polnisch', 'polaco', 'polonais'),
('ps', 'Pushto; Pashto', 'Paschtu', 'pastú (o pashto)', 'pachto'),
('pt', 'Portuguese', 'Portugiesisch', 'portugués', 'portugais'),
('qu', 'Quechua', 'Quechua-Sprache', 'quechua', 'quechua'),
('rm', 'Romansh', 'Rätoromanisch', 'retorrománico', 'romanche'),
('rn', 'Rundi', 'Rundi-Sprache', 'kirundi', 'rundi'),
('ro', 'Romanian', 'Rumänisch', 'rumano', 'roumain'),
('ru', 'Russian', 'Russisch', 'ruso', 'russe'),
('rw', 'Kinyarwanda', 'Rwanda-Sprache', 'ruandés', 'rwanda'),
('sa', 'Sanskrit', 'Sanskrit', 'sánscrito', 'sanskrit'),
('sc', 'Sardinian', 'Sardisch', 'sardo', 'sarde'),
('sd', 'Sindhi', 'Sindhi-Sprache', 'sindhi', 'sindhi'),
('se', 'Northern Sami', 'Nordsaamisch', 'sami septentrional', 'sami du Nord'),
('sg', 'Sango', 'Sango-Sprache', 'sango', 'sango'),
('si', 'Sinhalese', 'Singhalesisch', 'cingalés', 'singhalais'),
('sk', 'Slovak', 'Slowakisch', 'eslovaco', 'slovaque'),
('sl', 'Slovenian', 'Slowenisch', 'esloveno', 'slovène'),
('sm', 'Samoan', 'Samoanisch', 'samoano', 'samoan'),
('sn', 'Shona', 'Schona-Sprache', 'shona', 'shona'),
('so', 'Somali', 'Somali', 'somalí', 'somali'),
('sq', 'Albanian', 'Albanisch', 'albanés', 'albanais'),
('sr', 'Serbian', 'Serbisch', 'serbio', 'serbe'),
('ss', 'Swati', 'Swasi-Sprache', 'suazi (swati o siSwati)', 'swati'),
('st', 'Southern Sotho', 'Süd-Sotho-Sprache', 'sesotho', 'sotho du Sud'),
('su', 'Sundanese', 'Sundanesisch', 'sundanés', 'soundanais'),
('sv', 'Swedish', 'Schwedisch', 'sueco', 'suédois'),
('sw', 'Swahili', 'Swahili', 'suajili', 'swahili'),
('ta', 'Tamil', 'Tamil', 'tamil', 'tamoul'),
('te', 'Telugu', 'Telugu-Sprache', 'telugú', 'télougou'),
('tg', 'Tajik', 'Tadschikisch', 'tayiko', 'tadjik'),
('th', 'Thai', 'Thailändisch', 'tailandés', 'thaï'),
('ti', 'Tigrinya', 'Tigrinja-Sprache', 'tigriña', 'tigrigna'),
('tk', 'Turkmen', 'Turkmenisch', 'turcomano', 'turkmène'),
('tl', 'Tagalog', 'Tagalog', 'tagalo', 'tagalog'),
('tn', 'Tswana', 'Tswana-Sprache', 'setsuana', 'tswana'),
('to', 'Tonga', 'Tongaisch', 'tongano', 'tongan'),
('tr', 'Turkish', 'Türkisch', 'turco', 'turc'),
('ts', 'Tsonga', 'Tsonga-Sprache', 'tsonga', 'tsonga'),
('tt', 'Tatar', 'Tatarisch', 'tártaro', 'tatar'),
('tw', 'Twi', 'Twi-Sprache', 'twi', 'twi'),
('ty', 'Tahitian', 'Tahitisch', 'tahitiano', 'tahitien'),
('ug', 'Uighur', 'Uigurisch', 'uigur', 'ouïgour'),
('uk', 'Ukrainian', 'Ukrainisch', 'ucraniano', 'ukrainien'),
('ur', 'Urdu', 'Urdu', 'urdu', 'ourdou'),
('uz', 'Uzbek', 'Usbekisch', 'uzbeko', 'ouszbek'),
('ve', 'Venda', 'Venda-Sprache', 'venda', 'venda'),
('vi', 'Vietnamese', 'Vietnamesisch', 'vietnamita', 'vietnamien'),
('vo', 'Volapük', 'Volapük', 'volapük', 'volapük'),
('wa', 'Walloon', 'Wallonisch', 'valón', 'wallon'),
('wo', 'Wolof', 'Wolof-Sprache', 'wolof', 'wolof'),
('xh', 'Xhosa', 'Xhosa-Sprache', 'xhosa', 'xhosa'),
('yi', 'Yiddish', 'Jiddisch', 'yídish (o yiddish)', 'yiddish'),
('yo', 'Yoruba', 'Yoruba-Sprache', 'yoruba', 'yoruba'),
('za', 'Zhuang', 'Zhuang', 'chuan (o zhuang)', 'zhuang'),
('zh', 'Chinese', 'Chinesisch', 'chino', 'chinois'),
('zu', 'Zulu', 'Zulu-Sprache', 'zulú', 'zoulou');

ALTER TABLE `world_languages`
  ADD PRIMARY KEY (`alpha2`);