Comando Aula2 Prof. Hudson Banco de Dados
Acessando o mysql pelo terminal
mysql -h localhost -u root -p
### CRIAR A TABELA
create table tb_pessoa (
id_pessoa int(11) not null auto_increment primary key,
nome varchar(255),
cidade varchar(150)
);
### INSERE DADOS
insert into tb_pessoa (id_pessoa, nome, cidade) values (null, 'Francisco', 'Umuarama');
insert into tb_pessoa (id_pessoa, nome, cidade) values (default, 'Geremias', 'Maristela');
### INSERIR VARIOS NOMES JUNTOS
insert into tb_pessoa (id_pessoa, nome, cidade) values
(null, 'Irine', 'Maringá'),
(null, 'Pedro', 'Vila Rica'),
(null, 'Afonso', 'Maringa'),
(null, 'Astolfo', 'Astorga'),
(null, 'Azeite', 'Paranavaí')
;
### CONSULTA
select nome, cidade from tb_pessoa;
select * from tb_pessoa;
select nome, cidade
from tb_pessoa
where cidade='Umuarama';
select nome, cidade
from tb_pessoa
order by cidade asc;
select nome, cidade
from tb_pessoa
order by nome;
select nome, cidade
from tb_pessoa
where cidade='maringá';
select nome, cidade
from tb_pessoa
order by cidade desc;
select id_pessoa, nome, cidade
from tb_pessoa
where cidade='Maringá'
order by nome asc;
select id_pessoa as COD, nome as NOME, cidade as CIDADE
from tb_pessoa
where cidade='Maringá'
order by nome asc;
CREATE TABLE tb_animal_silvestre (
id_animal INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR( 150 ) NOT NULL,
data_nasc INT NOT NULL,
raca VARCHAR( 100 ) NOT NULL
);
### ALTERAR TABELA, INSERINDO UM NOVO ATRIBUTO
ALTER TABLE tab_animal ADD tipo_animal VARCHAR(100) NOT NULL AFTER data_nasc;
### ALTERAR TABELA, ATERANDO O NOME E/OU TIPO DO ATRIBUTO
mysql> ALTER TABLE tb_animal CHANGE tipo_animal tipo_animais varchar(35) NOT NULL;
mysql> ALTER TABLE tb_animal CHANGE tipo_animais tipo_animais varchar(100) NOT NULL;
mysql> ALTER TABLE tb_animal CHANGE tipo_animais tipo_bicho char(1) NOT NULL;
### ALTERAR TABELA, ATERANDO SOMENTE O TIPO DO ATRIBUTO
mysql> ALTER TABLE tb_animal CHANGE data_nasc data DATE;
### DELETAR ATRIBUTO
mysql> ALTER TABLE tb_animal DROP tipo_bicho;
### DESCRIÇÃO DA TABELA
mysql> describe tb_animal;
+-----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+----------------+
| id_animal | int(11) | NO | PRI | NULL | auto_increment |
| nome | varchar(150) | NO | | NULL | |
| data | date | YES | | NULL | |
| raca | varchar(100) | NO | | NULL | |
+-----------+--------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)
### INSERIR DADOS NA ENTIDADE
# INSERIR 1 DADOS
INSERT INTO tb_animal (id_animal, nome, data, raca)
VALUES
(NULL, 'Mingual', '1987-10-27', 'gato');
# INSERIR 3 DADOS
INSERT INTO tb_animal (id_animal, nome, data, raca)
VALUES
(NULL, 'Bob', '1998-08-13', 'cachorro'),
(NULL, 'Gibi', '2007-06-07', 'cachorro'),
(NULL, 'Thart', '1993-11-29', 'tartatuga')
;
mysql> select * from tb_animal;
+-----------+---------+------------+-----------+
| id_animal | nome | data | raca |
+-----------+---------+------------+-----------+
| 1 | Mingual | 1987-10-27 | gato |
| 2 | Bob | 1998-08-13 | cachorro |
| 3 | Gibi | 2007-06-07 | cachorro |
| 4 | Thart | 1993-11-29 | tartatuga |
+-----------+---------+------------+-----------+
4 rows in set (0.00 sec)
mysql> select nome, raca from tb_animal;
+---------+-----------+
| nome | raca |
+---------+-----------+
| Mingual | gato |
| Bob | cachorro |
| Gibi | cachorro |
| Thart | tartatuga |
+---------+-----------+
4 rows in set (0.00 sec)
mysql> SELECT * FROM tb_animal WHERE raca='cachorro';
+-----------+------+------------+----------+
| id_animal | nome | data | raca |
+-----------+------+------------+----------+
| 2 | Bob | 1998-08-13 | cachorro |
| 3 | Gibi | 2007-06-07 | cachorro |
+-----------+------+------------+----------+
2 rows in set (0.00 sec)
mysql> SELECT * FROM tb_animal WHERE raca='cachorro' ORDER BY nome DESC;
+-----------+------+------------+----------+
| id_animal | nome | data | raca |
+-----------+------+------------+----------+
| 3 | Gibi | 2007-06-07 | cachorro |
| 2 | Bob | 1998-08-13 | cachorro |
+-----------+------+------------+----------+
2 rows in set (0.00 sec)
mysql> SELECT * FROM tb_animal WHERE raca='cachorro' ORDER BY nome ASC;
+-----------+------+------------+----------+
| id_animal | nome | data | raca |
+-----------+------+------------+----------+
| 2 | Bob | 1998-08-13 | cachorro |
| 3 | Gibi | 2007-06-07 | cachorro |
+-----------+------+------------+----------+
2 rows in set (0.00 sec)
ALTERAÇÃO DADOS INSERIDOR NA TABELA
===================================
mysql> UPDATE tb_animal SET nome='Garfield' WHERE id_animal='1' LIMIT 1;
mysql> SELECT * FROM tb_animal;
+-----------+----------+------------+-----------+
| id_animal | nome | data | raca |
+-----------+----------+------------+-----------+
| 1 | Garfield | 1987-10-27 | gato |
| 2 | Bob | 1998-08-13 | cachorro |
| 3 | Gibi | 2007-06-07 | cachorro |
| 4 | Thart | 1993-11-29 | tartatuga |
+-----------+----------+------------+-----------+
4 rows in set (0.00 sec)
mysql> select * from tb_animal where nome like '%G%';
+-----------+----------+------------+----------+
| id_animal | nome | data | raca |
+-----------+----------+------------+----------+
| 1 | Garfield | 1987-10-27 | gato |
| 3 | Gibi | 2007-06-07 | cachorro |
+-----------+----------+------------+----------+
2 rows in set (0.00 sec)
mysql> select * from tb_animal where nome like '%g%';
+-----------+----------+------------+----------+
| id_animal | nome | data | raca |
+-----------+----------+------------+----------+
| 1 | Garfield | 1987-10-27 | gato |
| 3 | Gibi | 2007-06-07 | cachorro |
+-----------+----------+------------+----------+
2 rows in set (0.00 sec)
TAREFA PARA CASA
================
Porque a consulta com parâmetros diferentes, letra maiúscula ou minúscula, retornam o mesmo resultado?
where nome like '%G%'
where nome like '%g%'
#-------------------------------------------------------------------------------
A diferença entre o datatype ENUM e o datatype SET é a seguinte:
ENUM pode ter um (e apenas 1) valor escolhido em uma lista de opções. Esta lista pode ter até 65535 elementos.
SET pode ter zero a ene valores escolhidos da nossa lista de opções. Esta lista apenas pode ter 64 elementos.
precisão,escala
1.234,56
O NUMERIC precisa ter a precisão exata especificada, bem como a escala;
NUMERIC quando quer definir um número específico de dígitos
DECIMAL quando quer definir um número mínimo de dígitos.
O DECIMAL precisa ter pelo menos a precisão especificada, e a escala idêntica.
Comentários
Postar um comentário