História. Introdução ao MySQL



Documentos relacionados
Marcos Alexandruk Marcos Alexandruk

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho

MySQL. Prof. César Melo. com a ajuda de vários

Linguagem SQL Restrições, Triggers e Views

SQL E MYSQL - COMANDOS BÁSICOS

Banco de dados. Conteúdo: DDL Prof. Patrícia Lucas

A linguagem SQL

INTRODUÇÃO AO MYSQL. Eng. Computação

Banco de Dados. Professora: Luciana Faria

Administração de Usuários e Privilégios no Banco de Dados

PSI Linguagem de Definição de dados. Módulo 15

APOSTILA BÁSICA DE MYSQL

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Banco de Dados I Introdução SQL

Aula 06 Sistemas Embarcados LT38C

Administração de Sistemas Operacionais. Prof. Marlon Marcon

LAB 7 Cookies e Sessões em PHP

Lista 02 Sistema de Banco de Dados CAP 241 Computação Aplicada I

SQL Básica DDL. Prof. Marcos A. Schreiner. 21 de outubro de Curso de Licenciatura em Computação

Banco de dados. Linguagens de Banco de Dados II. Wedson Quintanilha da Silva -

SQL CREATE DATABASE. MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL.

Armazenamento organizado facilitando SCRUD; Agiliza processo de desenvolvimento de sistemas;

Prof. Claudio SIBC, TI e SGBD PRINCÍPIOS DE SISTEMAS DE INFORMAÇÃO

MySQL: Controle de Acesso

BANCO DE DADOS BANCO DE DADOS. Prof. Patrícia Lucas 3º Trimestre

Prof. Carlos Majer Aplicações Corporativas UNICID

ESTUDO DE CASO EM PL/SQL

Fábio Borges de Oliveira. MySQL

Linguagem SQL Sub-linguagem DDL

Triggers(Gatilhos) Tiago Alves de Oliveira

Curso PHP Aula 08. Bruno Falcão

O modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de

Instituto Federal de Educação, Ciência e Tecnologia de São Paulo

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

05/05/2017 Stored Procedures e Functions no MySQL com PhpMyAdmin

Como criar um banco de dados usando o mysql

Banco de Dados SQL (Structured Query Language) Ana Paula Toome Wauke

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011

Structured Query Language (SQL) Aula Prática

MySQL para DBAs Oracle

BANCO DE DADOS II. AULA MySQL.

INTRODUÇÃO AO MYSQL PROF. ME. HÉLIO ESPERIDIÃO

Fundamentos de Banco de Dados Postgre com Sql

Gerência de Banco de Dados

SQL Linguagem de Definição de Dados

A linguagem SQL

Introdução em Banco de Dados

Database and Applications. Criação, inserção de dados PHP+MySQL

(1,n) venda. (1,1) realizacao. cliente. (0,n) (1,1) contem. produto. Laboratório de Banco de Dados Exercicios

Banco de dados 1. Linguagem SQL DDL e DML. Professor: Victor Hugo L. Lopes

Aprenda a instalar a plataforma de monitorização Cacti

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language)

Banco de Dados. -Aprendendo conceitos -Usando o SQL Conf para: -Conectar no banco de dados -Criar, alterar, excluir e consultar estruturas de tabelas

TUTORIAL PARA INSTALAÇÃO DO MYSQL SERVER

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

Linguagem SQL (Parte II)

PostgreSQL. André Luiz Fortunato da Silva Analista de Sistemas CIRP / USP alf@cirp.usp.br

Tabelas. Banco de Dados I MySQL

PHP INTEGRAÇÃO COM MYSQL PARTE 1

Sensor de temperatura Parte 5 Cleiton Bueno Preparando o ambiente do Banco de dados Mysql

No Fedora, instalamos os pacotes "mysql" e "mysql-server", usando o yum:


LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

MySql. Introdução a MySQL. Andréa Garcia Trindade

Personal Home Page PHP. Prof. Luiz Claudio F. de Souza

Introdução à linguagem SQL

JAVA. Professor: Bruno Toledo

Configurar ISE 2.2 para a integração com server de MySQL

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS BANCO DE DADOS I PROFA. CLEIANE GONÇALVES OLIVEIRA ATIVIDADE 15

LAB 12 Construção de uma E-shop (programação em HTML, CSS, Bootstrap, PHP, CodeIgniter, JavaScript, JQuery, AJAX)

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR

ORACLE HETEROGENEUS SERVICES: CRIANDO UM DATABASE LINK COM MYSQL

Benvindo ao Curso de Introdução ao Firebird com Ferramenta de Relatórios!

Sumário. SQL - Criação de Tabelas. Structured Query Language. SQL Versões. André Restivo. October 18, 2010

Bancos (Bases) de Dados

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

BANCO DE DADOS: SQL. Edson Anibal de Macedo Reis Batista. 27 de janeiro de 2010

Introdução ao Sistema. Características

Bases de Dados. DDL Data Definition Language

Tutorial para Instalação do dotproject

Mysql. Quanto mais informações você busca, mais você evolui. Vitor Ramos. Disciplina de Banco de Dados

Linguagem de Consulta Estruturada (SQL)

LAB 9 Programação com o framework Codeigniter [parte 1]

Programação Web Prof. Wladimir

Transcrição:

Introdução ao MySQL Wikipédia - http://pt.wikipedia.org/wiki/mysql O MySQL é um sistema de gerenciamento de banco de dados (SGBD), que utiliza a linguagem SQL (Linguagem de Consulta Estruturada, do inglês Structured Query Language) como interface. É atualmente um dos bancos de dados mais populares, com mais de 10 milhões de instalações pelo mundo. 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, CanaVialis S.A. e outros. 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 400 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 de licenças livres. No dia 20 de Abril de 2009 a Oracle compra a Sun Microsystems e todos o seu produtos, incluindo o MySQL. 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.

Aprendendo a instalar e configurar o phpmyadmin Introdução O que é o phpmyadmin? phpmyadmin é pretendido para administração do MySQL sobre aweb.com o phpmyadmin instalado em seu servidor você podera críar banco de dados, copiar tabelas, criar, apagar e editar. Facil configuração e administração. O que é necessario para instalar o phpmyadmin? mysql: www.mysql.com Apache: www.apache.org PHP: www.php.net Instalando Entre na url www.phpwizard.net e entre na seção phpmyadmin, você podera optar por duas opções do phpmyadmin: 1-) Extensão *.php3 2-) Extensão *.php Aconselho a pega o phpmyadmin de extensão *.php, porque a maioria dos servidores reconhece essa extensão. Configurando Após fazer o download descompacte o mesmo e copie todos os arquivos para uma pasta no seu servidor ex: mysql e edite o arquivo config.inc $cfgservers[1]['host'] = 'localhost'; // MySQL hostname mantenha localhost $cfgservers[1]['port'] = ''; // MySQL port - leave blank for default port mantenha $cfgservers[1]['adv_auth'] = true; // Use advanced authentication? aconselho a deixar true pois assim ao acessar a url no browser ele aparecera uma caixa de login e senha do usuário, para sua melhor segurança. caso deixe false ele não aparecera nada e entrara direto.

$cfgservers[1]['stduser'] = 'usuário'; // MySQL standard user (only needed with advanced auth) nome do usuário $cfgservers[1]['stdpass'] = 'senha'; // MySQL standard password (only needed with advanced auth) senha $cfgservers[1]['user'] = 'usuário'; // MySQL user (only needed with basic auth) nome do usuário $cfgservers[1]['password'] = 'senha'; // MySQL password (only needed with basic auth) senha Pronto a configuração basica do phpmyadmin já esta pronta. Agora é só acessar via browser seu phpmyadmin ex: www.seusite.com.br/mysql/ Qualquer duvida ou comentário, poste uma mensagem no forum. Tutorial feito por: Eduardo Luis de Medeiros eduardo@superphp.com.br

Introdução ao MySQL Teste de SQL Online http://www.w3schools.com/sql/default.asp http://www.w3schools.com/sql/sql_tryit.asp Instalação Sugestão: Instale com o pacote Xampp (http://xampp.sf.net) Executando Uma boa opção de administração do MySQL é o phpmyadmin, que também acompanha o Xampp. Administrando pela linha de comando mysql -h host -u root -p (o super usuário default é root) mysql -u root (sintaxe para acessar o MySQL local e quando estiver sem senha) Trocando a senha do Usuário root mysql -u root teste (Usuário root acessar banco teste) use mysql; UPDATE user SET Password=PASSWORD("novasenha") WHERE user="root"; FLUSH PRIVILEGES; Ou mysql -u root clientes SET PASSWORD FOR root=password('senhadoroot'); Criando Usuários mysql --user=root mysql GRANT ALL PRIVILEGES ON *.* TO super@localhost IDENTIFIED BY 'senha' WITH GRANT OPTION; GRANT ALL PRIVILEGES ON *.* TO super@"%" IDENTIFIED BY 'some_pass' WITH GRANT OPTION; super - é um total super usuário que pode se conectar no localhost e de qualquer lugar ("%"), mas precisa usar senha GRANT RELOAD,PROCESS ON *.* TO admin@localhost; admin - usuário que pode se conectar no localhost sem senha. Pode executar os comandos mysqladmin reload, mysqladmin refresh, and mysqladmin

flush-* e mysqladmin processlist. Não tem nenhum privilégio relacionado aos bancos. GRANT USAGE ON *.* TO fraco@localhost; fraco - pode conectar somente via localhost sem senha mas sem privilégios, somente para uso. Exemplo: GRANT ALL PRIVILEGES ON *.* TO ribafs@localhost IDENTIFIED BY 'ribafs' WITH GRANT OPTION; mysql -u ribafs // Dá erro de senha mysql -u ribafs -p //Funciona após entrar a senha ribafs Removendo Usuários DROP USER nomeusuario; Privilégios REVOKE GRANT ALL ON nomebancooutabelaou*ou*.* FROM nomeusuario * - todas as tabelas *.* todos os bancos e todas as tabelas banco.* - todas as tabelas do banco GRANT SELECT,INSERT,UPDATE ON nomebanco.* TO nomeuser; GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON nomebanco.* TO usuario@localhost IDENTIFIED BY 'senha'; GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON nomebanco.* TO usuario@dominio.com.br IDENTIFIED BY 'senha'; GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON nomebanco.* TO usuario@'%' IDENTIFIED BY 'senha'; Remover o serviço: bin\mysqld --remove mysql

Criar Tabelas Relacionadas create table produto( codigo int not null primary key, nome varchar(50) not null unique, descricao varchar(200), valor real(6, 2) ) ENGINE=INNODB; create table cliente( codigo int not null primary key, nome varchar(50) not null, email varchar(100) not null unique, cpf varchar(11) not null ) ENGINE=INNODB; create table pedido( numero int not null primary key auto_increment, codigocliente int not null references cliente(codigo), valortotal real(7,2) DEFAULT '0.00' NOT NULL ) ENGINE=INNODB; create table item( numeropedido int not null references pedido(numero), codigoproduto int not null references produto(codigo), quantidade int not null, primary key(numeropedido, codigoproduto) ) ENGINE=INNODB; CREATE TABLE product ( category INT NOT NULL, id INT NOT NULL, price DECIMAL, PRIMARY KEY(category, id) ) ENGINE=INNODB; CREATE TABLE product_order ( no INT NOT NULL AUTO_INCREMENT, product_category INT NOT NULL, product_id INT NOT NULL, customer_id INT NOT NULL, PRIMARY KEY(no), INDEX (product_category, product_id), FOREIGN KEY (product_category, product_id) REFERENCES product(category, id) ON UPDATE CASCADE ON DELETE RESTRICT, INDEX (customer_id), FOREIGN KEY (customer_id) REFERENCES customer(id)

) ENGINE=INNODB; O tipo InnoDb dá suporte à constraint Foreign Key (references). 1) mysql -u root -p ou mysql -u root mysql -h host -u user -p banco Resumo de Uso Obs: Caso receba a mensagem: Can't connect to MySQL server on 'localhost' Falta startar o MySQL 2) create database nomebanco; 3) use nomebanco; 4) create table nometabela(campos tipos...); 5) select * from nometabela; 6) show databases; 7) show tables; 8) describe nometabela; Importar e Exportar Exportando: bin\mysqldump -u user -p passwd banco > banco.sql Importando: bin\mysql -u user -p password banco < banco.sql Mudar Conjunto de Caracters para LATIN1 musql -u root \C latin1 Populando Tabelas após a Criação O comando LOAD DATA pode ser utilizado para popular tabelas, trazendo de arquivos:

LOAD DATA LOCAL INFILE '/path/arquivo.txt' INTO TABLE nometabela; SELECT DATABASE(); SHOW CHARACTER SET; CREATE DATABASE db_name [[DEFAULT] CHARACTER SET charset_name] [[DEFAULT] COLLATE collation_name] ALTER DATABASE db_name [[DEFAULT] CHARACTER SET charset_name] [[DEFAULT] COLLATE collation_name] CREATE TABLE tbl_name (column_list) [[DEFAULT] CHARACTER SET charset_name] [COLLATE collation_name]] ALTER TABLE tbl_name [[DEFAULT] CHARACTER SET charset_name] [COLLATE collation_name] Example: CREATE TABLE t1 (... ) CHARACTER SET latin1 COLLATE latin1_danish_ci; col_name {CHAR VARCHAR TEXT} (col_length) [CHARACTER SET charset_name] [COLLATE collation_name] Example: CREATE TABLE Table1 ( column1 VARCHAR(5) CHARACTER SET latin1 COLLATE latin1_german1_ci ); Funções com Datas DATE_SUB SELECT something FROM tbl_name WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col; SELECT DATEDIFF('1997-12-31 23:59:59','1997-12-30'); DATE_ADD SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY); SELECT CURDATE(); SELECT CURTIME(); DATE_FORMAT SELECT date_format( '2006-04-30', '%d/%m/%y' ); -- 30/04/2006 SELECT DATE_FORMAT('2003-10-03',GET_FORMAT(DATE,'EUR')); -- 03.10.2003 SELECT DATE_FORMAT('2006-06-00', '%d/%m/%y');

SELECT NOW(); SELECT TO_DAYS('1997-10-07'); -- RETORNA DIAS SELECT YEAR('2000-01-01'); dbdesigner Gerenciamento e modelagem do SGBD MySQL. Site oficial - http://fabforce.net/dbdesigner4/ Download - http://fabforce.net/downloads.php O programa e a documentação. Tutorial usando com o PostgreSQL: http://www.flaviobrito.com.br/cursos/bd/apostilas/guiadbdesign4posgresql.pdf Triggers no MySQL Criando uma tabela de logs Que guardará informações dos registros excluídos e atualizados Exemplo de tabela, cujas operações (delete e update) queremos monitorar create table clientes ( cliente int primary key, cpf char(11), nome char(45) not null, credito_liberado char(1) not null, data_nasc date, email varchar(50) )engine innodb; Exemplo de tabela onde queremos guardar as informações (logs) sobre as alterações, a data e hora e quem efetuou create table logs ( code int auto_increment primary key, tablel char(20) not null, operation char(6) not null, login char(12) not null, date_time datetime not null )engine innodb; Exemplo de trigger que fará o serviço automaticamente a cada operação de delete

delimiter DROP TRIGGER IF EXISTS tg_delete CREATE TRIGGER tg_delete BEFORE DELETE ON clientes FOR EACH ROW BEGIN INSERT INTO logs SET tablel = 'clientes', operation = 'delete',login = CURRENT_USER, date_time = NOW(); END; delimiter; Exemplo de trigger que fará o serviço automaticamente a cada operação de update delimiter CREATE TRIGGER tg_update BEFORE UPDATE ON clientes FOR EACH ROW BEGIN INSERT INTO logs SET cliente = OLD.cliente, nome=old.nome; END; delimiter ;