TUTORIAL: Aprenda os comandos e funções básicas para trabalhar com banco de dados MySql
- set
- 01
Instalação
Windows
Instale com o pacote Xampp (xampp.sf.net)
Linux
sudo apt-get install mysql-server-5.1 phpmyadmin
Executando
Uma boa opção de administração do MySQL é o phpmyadmin, que também acompanha o Xampp.
Para administração pela linha de comando use:
mysql -h host -u user -p (o super usuário default é root)
mysql -u root (quando estiver sem senha)
TROCANDO 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’);
No Ubuntu
sudo dpkg-reconfigure mysql-server-5.1
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.* TOusuario@dominio.com.br
IDENTIFIED BY ‘senha';
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON nomebanco.* TO usuario@’%’
IDENTIFIED BY ‘senha';
INSTALAR COMO SERVIÇO NO WINDOWS
Instalar MySQL como serviço no Windows para trabalhar com Java (J2EE):
mysqld-nt –install –ansi –sql-mode=ANSI_QUOTES
Instalar como serviço:
bin\mysqld-nt –install mysql
Remover o serviço:
bin\mysqld –remove mysql
Remover serviço ansi:
bin\mysqld –remove –ansi
CRIAR TABELAS COM RELACIONAMENTOS
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).
REMOVER SERVIÇO NO WINDOWS NT/XP
mysql\bin\mysqld — remove (remove o serviço mysql)
— remove –ansi (remover o serviço ansi)
RESUMO DE USO
1) mysql -u root -p ou mysql -u root
mysql -h host -u user -p banco
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′);
Busca
A NC Master:
Fique por dentro:
Links:
Leia também:
- Como iniciar programas automaticamente no Ubuntu
- Como iniciar sessão automaticamente no Ubuntu
- Bit a bit: Megaupload pode voltar em breve !
- Google lança algorítimo para atrair mulheres
- Brasileira ganha bolsa do Google para pesquisas de doutorado
- Como instalar o Java no Linux Ubuntu
- Como liberar portas em seu roteador facilmente
- Aprenda como fazer backup de seus arquivos no Linux Ubuntu
