MySQL
Origem: Wikipédia, a enciclopédia livre.
| MySQL | ||
|---|---|---|
Tela de instalação do MySQL |
||
| Desenvolvedor | MySQL AB | |
| Lançamento | ||
| Última versão | 6.0.5 Alpha (18 de Janeiro de 2008) | |
| Versão de teste | ({{{data_beta}}}) | |
| Plataforma | ||
| Escrito em | ||
| Idiomas disponíveis | ||
| Sistema Op. | Multiplataforma | |
| Estado do desenvolvimento | ||
| Gênero | SGBD | |
| Licença | GPL e Licença comercial | |
| Tamanho | ||
| Website | www.mysql.com | |
O MySQL é um sistema de gerenciamento de banco de dados (SGBD), que utiliza a linguagem SQL (Structured Query Language - Linguagem de Consulta Estruturada) como interface. É atualmente um dos bancos de dados mais populares, com mais de 10 milhões de instalações pelo mundo.[1].
Entre os usuários do banco de dados MySQL estão: NASA, Friendster, Banco Bradesco, Dataprev, HP, Nokia, Sony, Lufthansa, U.S Army, US. Federal Reserve Bank, Associated Press, Alcatel, Slashdot, Cisco Systems e outros [2].
Índice |
[editar] História
O MySQL foi criado na Suécia por dois suecos e um finlandês: David Axmark, Allan Larsson e Michael "Monty" Widenius, que têm trabalhado juntos desde a década de 1980. Hoje seu desenvolvimento e manutenção empregam aproximadamente 70 profissionais no mundo inteiro, e mais de mil contribuem testando o software, integrando-o a outros produtos, e escrevendo a respeito dele.
No dia 16 de Janeiro de 2008, a MySQL AB, desenvolvedora do MySQL foi adquirida pela Sun Microsystems, por US$ 1 bilhão, um preço jamais visto no setor das licenças livres.
O sucesso do MySQL deve-se em grande medida à fácil integração com o PHP incluído, quase que obrigatoriamente, nos pacotes de hospedagem de sites da Internet oferecidos atualmente. Empresas como Yahoo! Finance, MP3.com, Motorola, NASA, Silicon Graphics e Texas Instruments usam o MySQL em aplicações de missão crítica[3]. A Wikipédia é um exemplo de utilização do MySQL em sites de grande audiência.
O MySQL hoje suporta Unicode, Full Text Indexes, replicação, Hot Backup, GIS, OLAP e muitos outros recursos.
[editar] Características
- Portabilidade (suporta praticamente qualquer plataforma atual);
- Compatibilidade (existem drivers ODBC, JDBC e .NET e módulos de interface para diversas linguagens de programação, como Delphi, Java, C/C++, Python, Perl, PHP, ASP e Ruby)
- Excelente desempenho e estabilidade;
- Pouco exigente quanto a recursos de hardware;
- Facilidade de uso;
- É um Software Livre com base na GPL;
- Contempla a utilização de vários Storage Engines como MyISAM, InnoDB, Falcon, BDB, Archive, Federated, CSV, Solid...
- Suporta controle transacional;
- Suporta Triggers;
- Suporta Cursors (Non-Scrollable e Non-Updatable);
- Suporta Stored Procedures e Functions;
- Replicação facilmente configurável;
- Interfaces gráficas ([MySQL Toolkit]) de fácil utilização cedidos pela MySQL Inc.
[editar] Vantagens
Outra grande vantagem é ter código aberto e funcionar em um grande número de sistemas operacionais : Windows, Linux, FreeBSD, BSDI, Solaris, Mac OS X, SunOS, SGI, etc.
É reconhecido pelo seu desempenho e robustez e também por ser multi-tarefa e multi-usuário. A própria Wikipédia, usando o programa MediaWiki, utiliza o MySQL para gerenciar seu banco de dados, demostrando que é possível utilizá-lo em sistemas de produção de alta exigência e em aplicações sofisticadas.
No passado, devido a não possuir (até a versão 3.x) funcionalidades consideradas essenciais em muitas áreas, como stored procedures, two-phase commit, subselects, foreign keys ou integridade referencial, era frequentemente considerado um sistema mais "leve" e para aplicações menos exigentes, sendo preterido por outros sistemas como o PostgreSQL.
[editar] Exemplos de códigos
O MySQL é somente o banco de dados, necessitando também de um software que interaja com o usuário a fim de guardar as informações (em um banco de dados) que o usuário adicionou em um site da internet ou em um software.
Abaixo exemplo de um código SQL para o MySQL:
use test
DROP TABLE IF EXISTS carro;
CREATE TABLE carro (nome CHAR(20), marca CHAR(20), cor CHAR(10));
INSERT INTO carro (nome, marca, cor) VALUES ('fusca', 'volkswagen', 'amarelo'),
('c4', 'citroen', 'vermelho'),
('a3', 'audi', 'verde'),
('ka', 'ford', 'preto');
SELECT * FROM carro;
Resultando em:
+-------+------------+----------+
| nome | marca | cor |
+-------+------------+----------+
| fusca | volkswagen | amarelo |
| c4 | citroen | vermelho |
| a3 | audi | verde |
| ka | ford | preto |
+-------+------------+----------+
Utilizando uma linguagem de programação suportada pelo MySQL podemos fazer um software que interaja com o usuário, dando-lhe a escolha das informações que deseja, neste caso utilizamos a linguagem Python:
import MySQLdb as mysql db = mysql.connect(host="localhost", user="root", db="test") cursor = db.cursor() cursor.execute ("DROP TABLE IF EXISTS carro") cursor.execute ("CREATE TABLE carro (nome CHAR(20), marca CHAR(20), cor CHAR(10));") x = y = z = 1 print ('Detalhes do carro') print '-'*17 escolha = True while escolha: carro_nome = raw_input('Carro %s: ' % x) carro_marca = raw_input('Marca %s: ' % y) carro_cor = raw_input('Cor %s: ' % z) cursor.execute ("INSERT INTO carro (nome, marca, cor) VALUES ('%s', '%s', '%s');" % (carro_nome, carro_marca, carro_cor)) x+=1; y+=1; z+=1 sair = raw_input(u'Incluir mais carros (S)im ou (N)ão: ') if sair in ['S', 's']: escolha = True else: escolha = False break cursor.execute ("SELECT * FROM carro") while (1): row = cursor.fetchone() if row == None: break print "Carro: %s, %s, %s" % (row[0], row[1], row[2]) cursor.close() db.commit() db.close()
[editar] Manual de referência
- (em inglês) Índice do manual do MySQL v5.0
- (em inglês) Índice do manual do MySQL v5.1
- (em português) Índice do manual do MySQL em PT_BR v4.1
[editar] Notas
- O MySQL a partir da versão 4.1 adicionou suporte a Transações, SubSelects, Foreign Keys e Integridade Referencial. Esse suporte foi graças ao Storage Engine InnoDB, adquirido em 2005 pela Oracle.
- Com a versão 5.0, o MySQL incorporou mais recursos avançados ao sistema, incluindo views , triggers, stored procedures, cursors e transações XA.
Referências
- ↑ MySQL. Why MySQL (em inglês). Página visitada em 10 de Fevereiro de 2007.
- ↑ MySQL. Referência e cases (em português). Página visitada em 19 de Agosto de 2007.
- ↑ MySQL. MySQL - Case Studies (em inglês). Página visitada em 22 de junho de 2007.
[editar] Ver também
- PHP
- Servidor Apache
- Banco de dados
- SQLite
- Postgresql
- Database Master - Database Management Studio for MySQL