Baixe o app para aproveitar ainda mais
Prévia do material em texto
PHP e MySQL mysql> select matricula, nome, dataNasc from aluno where nome like 'paulo%'; mysql> select matricula, nome, dataNasc from aluno where nome like 'paulo%'; +-----------+---------------+------------+ | matricula | nome | dataNasc | +-----------+---------------+------------+ | 6 | Paulo Ricardo | 1960-04-09 | | 7 | Paulo Roberto | 1982-07-17 | +-----------+---------------+------------+ 2 rows in set (0.00 sec) Chaves estrangeiras O uso de chaves estrangeiras é útil para melhor organização dos dados, evitando redundância e facilitando buscas. Ex: Agora, cada aluno deve informar o estado em que mora. Vamos então criar uma tabela, onde cadastraremos os estados e relacionaremos cada estado com um aluno, utilizando chaves estrangeiras: mysql> create table estado( -> uf char(2) not null primary key, -> estado varchar(40) not null -> ); Query OK, 0 rows affected (0.01 sec) O comando acima cria uma tabela estado com os campos UF e estado. Note que UF é uma chave primária, visto que cada estado possui sua própria sigla. Vamos cadastrar apenas alguns estados nessa tabela: mysql> insert into estado values('MG','Minas Gerais'); Query OK, 1 row affected (0.00 sec) mysql> insert into estado values('BA','Bahia'); Query OK, 1 row affected (0.00 sec) mysql> insert into estado values('PR','Paraná'); Query OK, 1 row affected (0.00 sec) mysql> insert into estado values('CE','Ceará'); Query OK, 1 row affected (0.00 sec) mysql> insert into estado values('RS','Rio Grande do Sul'); Query OK, 1 row affected (0.00 sec) Tipos de tabelas As tabelas do MySQL possuem tipos. O tipo padrão de tabela é MyISAM. Todas as tabelas são criadas dessa forma. É um tipo de tabela mais rápido, mas que não permite relacionamentos através de chaves estrangeiras. Para que este relacionamento possa ser utilizado, i tipo da tabela deve ser innoDB, que é um tipo mais lento, mas que trabalha com chaves estrangeiras. O tipo da tabela pode ser informado no momento da criação da tabela, utilizando a cláusula engine no final dos atributos: mysql> create table estado( -> uf char(2) not null primary key, -> estado varchar(40) not null -> )engine=innodb; Caso a tabela já exista, podemos alterá-la: 58 MySQL e PHP Comandos sql Chaves estrangeiras Tipos de tabelas
Compartilhar