0
programação com SQL




Marco Pinheiro | twitter.com/marcopinheiro
Marco Pinheiro | twitter.com/marcopinheiro
1. introdução...
  a) materiais de suporte




Marco Pinheiro | twitter.com/marcopinheiro
1. introdução...
  a) materiais de suporte
                Livros de referência:




Marco Pinheiro | twitter.com/marcopin...
1. introdução...
  a) materiais de suporte
                Livros de referência:

                    “Beginning MySQL”; R...
1. introdução...
  a) materiais de suporte
                Livros de referência:

                    “Beginning MySQL”; R...
1. introdução...
  a) materiais de suporte
                Livros de referência:

                    “Beginning MySQL”; R...
1. introdução...
  a) materiais de suporte
                Livros de referência:

                    “Beginning MySQL”; R...
1. introdução...
  a) materiais de suporte
                Livros de referência:

                    “Beginning MySQL”; R...
1. introdução...
  a) materiais de suporte
                Livros de referência:

                    “Beginning MySQL”; R...
1. introdução...
  a) materiais de suporte
                Livros de referência:

                    “Beginning MySQL”; R...
1. introdução...
  a) materiais de suporte
                Livros de referência:

                    “Beginning MySQL”; R...
Marco Pinheiro | twitter.com/marcopinheiro
1. introdução...
  a) materiais de suporte




Marco Pinheiro | twitter.com/marcopinheiro
1. introdução...
  a) materiais de suporte
                Suite de aplicações para a instalação de um “servidor web”




...
1. introdução...
  a) materiais de suporte
                Suite de aplicações para a instalação de um “servidor web”

   ...
1. introdução...
  a) materiais de suporte
                Suite de aplicações para a instalação de um “servidor web”

   ...
1. introdução...
  a) materiais de suporte
                Suite de aplicações para a instalação de um “servidor web”

   ...
1. introdução...
  a) materiais de suporte
                Suite de aplicações para a instalação de um “servidor web”

   ...
1. introdução...
  a) materiais de suporte
                Suite de aplicações para a instalação de um “servidor web”

   ...
1. introdução...
  a) materiais de suporte
                Suite de aplicações para a instalação de um “servidor web”

   ...
1. introdução...
  a) materiais de suporte
                Suite de aplicações para a instalação de um “servidor web”

   ...
1. introdução...
  a) materiais de suporte
                Suite de aplicações para a instalação de um “servidor web”

   ...
Marco Pinheiro | twitter.com/marcopinheiro
1. introdução...
  b) introdução | SQL?!




Marco Pinheiro | twitter.com/marcopinheiro
1. introdução...
  b) introdução | SQL?!
                SQL (do inglês Structured Query Language, ou Linguagem de Consult...
1. introdução...
  b) introdução | SQL?!
                SQL (do inglês Structured Query Language, ou Linguagem de Consult...
1. introdução...
  b) introdução | SQL?!
                SQL (do inglês Structured Query Language, ou Linguagem de Consult...
1. introdução...
  b) introdução | SQL?!
                SQL (do inglês Structured Query Language, ou Linguagem de Consult...
1. introdução...
  b) introdução | SQL?!
                SQL (do inglês Structured Query Language, ou Linguagem de Consult...
Marco Pinheiro | twitter.com/marcopinheiro
1. introdução...
  b) introdução | a consola




Marco Pinheiro | twitter.com/marcopinheiro
1. introdução...
  b) introdução | a consola
                A consola (linha de comandos) do MySQL está localizada em xam...
1. introdução...
  b) introdução | a consola
                A consola (linha de comandos) do MySQL está localizada em xam...
1. introdução...
  b) introdução | a consola
                A consola (linha de comandos) do MySQL está localizada em xam...
1. introdução...
  b) introdução | a consola
                A consola (linha de comandos) do MySQL está localizada em xam...
Marco Pinheiro | twitter.com/marcopinheiro
1. introdução...
  c) primeiros passos | show databases




Marco Pinheiro | twitter.com/marcopinheiro
1. introdução...
  c) primeiros passos | show databases
                Para termos acesso a uma lista de bases de dados e...
1. introdução...
  c) primeiros passos | show databases
                Para termos acesso a uma lista de bases de dados e...
1. introdução...
  c) primeiros passos | show databases
                Para termos acesso a uma lista de bases de dados e...
Marco Pinheiro | twitter.com/marcopinheiro
1. introdução...
  c) primeiros passos | create database




Marco Pinheiro | twitter.com/marcopinheiro
1. introdução...
  c) primeiros passos | create database
                Para criar uma nova base de dados




Marco Pinhe...
1. introdução...
  c) primeiros passos | create database
                Para criar uma nova base de dados

              ...
1. introdução...
  c) primeiros passos | create database
                Para criar uma nova base de dados

              ...
Marco Pinheiro | twitter.com/marcopinheiro
1. introdução...
  c) primeiros passos | use e show




Marco Pinheiro | twitter.com/marcopinheiro
1. introdução...
  c) primeiros passos | use e show
                Para utilizar uma base de dados da lista




Marco Pin...
1. introdução...
  c) primeiros passos | use e show
                Para utilizar uma base de dados da lista

            ...
1. introdução...
  c) primeiros passos | use e show
                Para utilizar uma base de dados da lista

            ...
1. introdução...
  c) primeiros passos | use e show
                Para utilizar uma base de dados da lista

            ...
1. introdução...
  c) primeiros passos | use e show
                Para utilizar uma base de dados da lista

            ...
1. introdução...
  c) primeiros passos | use e show
                Para utilizar uma base de dados da lista

            ...
Marco Pinheiro | twitter.com/marcopinheiro
1. introdução...
  c) primeiros passos | describe




Marco Pinheiro | twitter.com/marcopinheiro
1. introdução...
  c) primeiros passos | describe
                Após criarmos uma tabela podemos visualizar a sua estrut...
1. introdução...
  c) primeiros passos | describe
                Após criarmos uma tabela podemos visualizar a sua estrut...
1. introdução...
  c) primeiros passos | describe
                Após criarmos uma tabela podemos visualizar a sua estrut...
1. introdução...
  c) primeiros passos | describe
                Após criarmos uma tabela podemos visualizar a sua estrut...
Marco Pinheiro | twitter.com/marcopinheiro
1. introdução...
  d) resumindo última aula...




Marco Pinheiro | twitter.com/marcopinheiro
1. introdução...
  d) resumindo última aula...
                     O que significa e para que serve o SQL?




Marco Pinhe...
1. introdução...
  d) resumindo última aula...
                     O que significa e para que serve o SQL?

              ...
1. introdução...
  d) resumindo última aula...
                     O que significa e para que serve o SQL?

              ...
1. introdução...
  d) resumindo última aula...
                     O que significa e para que serve o SQL?

              ...
1. introdução...
  d) resumindo última aula...
                     O que significa e para que serve o SQL?

              ...
1. introdução...
  d) resumindo última aula...
                     O que significa e para que serve o SQL?

              ...
1. introdução...
  d) resumindo última aula...
                     O que significa e para que serve o SQL?

              ...
Marco Pinheiro | twitter.com/marcopinheiro
1. introdução...
  d) tipos de dados aceites no SQL




Marco Pinheiro | twitter.com/marcopinheiro
1. introdução...
  d) tipos de dados aceites no SQL
                 Tipo         Abreviação                              ...
1. introdução...
  d) tipos de dados aceites no SQL
                 Tipo         Abreviação                              ...
1. introdução...
  d) tipos de dados aceites no SQL
                 Tipo         Abreviação                              ...
1. introdução...
  d) tipos de dados aceites no SQL
                 Tipo         Abreviação                              ...
1. introdução...
  d) tipos de dados aceites no SQL
                 Tipo         Abreviação                              ...
1. introdução...
  d) tipos de dados aceites no SQL
                 Tipo         Abreviação                              ...
1. introdução...
  d) tipos de dados aceites no SQL
                 Tipo         Abreviação                              ...
Marco Pinheiro | twitter.com/marcopinheiro
1. introdução...
  d) tipos de dados aceites no MySQL




Marco Pinheiro | twitter.com/marcopinheiro
1. introdução...
  d) tipos de dados aceites no MySQL
                Para valores numérios inteiros temos:




Marco Pinh...
1. introdução...
  d) tipos de dados aceites no MySQL
                Para valores numérios inteiros temos:




Marco Pinh...
Marco Pinheiro | twitter.com/marcopinheiro
1. introdução...
  d) tipos de dados aceites no MySQL




Marco Pinheiro | twitter.com/marcopinheiro
1. introdução...
  d) tipos de dados aceites no MySQL
                Para valores numérios reais temos:




Marco Pinheir...
1. introdução...
  d) tipos de dados aceites no MySQL
                Para valores numérios reais temos:




Marco Pinheir...
Marco Pinheiro | twitter.com/marcopinheiro
1. introdução...
  d) tipos de dados aceites no MySQL




Marco Pinheiro | twitter.com/marcopinheiro
1. introdução...
  d) tipos de dados aceites no MySQL
                Para valores do tipo caracter (string) temos:




Ma...
1. introdução...
  d) tipos de dados aceites no MySQL
                Para valores do tipo caracter (string) temos:




Ma...
Marco Pinheiro | twitter.com/marcopinheiro
1. introdução...
  d) tipos de dados aceites no MySQL




Marco Pinheiro | twitter.com/marcopinheiro
1. introdução...
  d) tipos de dados aceites no MySQL
                Para valores tipo data temos:




Marco Pinheiro | t...
1. introdução...
  d) tipos de dados aceites no MySQL
                Para valores tipo data temos:




Marco Pinheiro | t...
DDL - Linguagem de Definição de Dados
     DML - Linguagem de Manipulação de Dados




Marco Pinheiro | twitter.com/marcopi...
Marco Pinheiro | twitter.com/marcopinheiro
2. DDL - Linguagem de Definição de Dados
  a) definição




Marco Pinheiro | twitter.com/marcopinheiro
2. DDL - Linguagem de Definição de Dados
  a) definição
                Linguagem de definição de dados (ou DDL, de Data Defin...
2. DDL - Linguagem de Definição de Dados
  a) definição
                Linguagem de definição de dados (ou DDL, de Data Defin...
2. DDL - Linguagem de Definição de Dados
  a) definição
                Linguagem de definição de dados (ou DDL, de Data Defin...
Marco Pinheiro | twitter.com/marcopinheiro
2. DDL - Linguagem de Definição de Dados
  a) cad - create, alter, drop




Marco Pinheiro | twitter.com/marcopinheiro
2. DDL - Linguagem de Definição de Dados
  a) cad - create, alter, drop
                CREATE
                Uma declaraç...
2. DDL - Linguagem de Definição de Dados
  a) cad - create, alter, drop
                CREATE
                Uma declaraç...
Upcoming SlideShare
Loading in...5
×

Linguagem SQL (com MySQL)

15,797

Published on

Diapositivos de apoio para aulas da disciplina de Sistemas de Informação - Módulo III.

Curso profissional de Informática de Gestão

Published in: Technology, Education
0 Comments
14 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
15,797
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
799
Comments
0
Likes
14
Embeds 0
No embeds

No notes for slide

Transcript of "Linguagem SQL (com MySQL)"

  1. 1. programação com SQL Marco Pinheiro | twitter.com/marcopinheiro
  2. 2. Marco Pinheiro | twitter.com/marcopinheiro
  3. 3. 1. introdução... a) materiais de suporte Marco Pinheiro | twitter.com/marcopinheiro
  4. 4. 1. introdução... a) materiais de suporte Livros de referência: Marco Pinheiro | twitter.com/marcopinheiro
  5. 5. 1. introdução... a) materiais de suporte Livros de referência: “Beginning MySQL”; Robert Sheldon, Geoff Moes; Editora: Wrox; ISBN: 0764579509; Marco Pinheiro | twitter.com/marcopinheiro
  6. 6. 1. introdução... a) materiais de suporte Livros de referência: “Beginning MySQL”; Robert Sheldon, Geoff Moes; Editora: Wrox; ISBN: 0764579509; “SQL - Structured Query Language - 6ª Edição Actualizada e Aumentada”; Luís Manuel Dias Damas; Editora: FCA; ISBN: 972-722-443-1; Marco Pinheiro | twitter.com/marcopinheiro
  7. 7. 1. introdução... a) materiais de suporte Livros de referência: “Beginning MySQL”; Robert Sheldon, Geoff Moes; Editora: Wrox; ISBN: 0764579509; “SQL - Structured Query Language - 6ª Edição Actualizada e Aumentada”; Luís Manuel Dias Damas; Editora: FCA; ISBN: 972-722-443-1; Webliografia de referência: Marco Pinheiro | twitter.com/marcopinheiro
  8. 8. 1. introdução... a) materiais de suporte Livros de referência: “Beginning MySQL”; Robert Sheldon, Geoff Moes; Editora: Wrox; ISBN: 0764579509; “SQL - Structured Query Language - 6ª Edição Actualizada e Aumentada”; Luís Manuel Dias Damas; Editora: FCA; ISBN: 972-722-443-1; Webliografia de referência: http://www.hscripts.com/tutorials/mysql/index.php Marco Pinheiro | twitter.com/marcopinheiro
  9. 9. 1. introdução... a) materiais de suporte Livros de referência: “Beginning MySQL”; Robert Sheldon, Geoff Moes; Editora: Wrox; ISBN: 0764579509; “SQL - Structured Query Language - 6ª Edição Actualizada e Aumentada”; Luís Manuel Dias Damas; Editora: FCA; ISBN: 972-722-443-1; Webliografia de referência: http://www.hscripts.com/tutorials/mysql/index.php http://www.estig.ipbeja.pt/~eidbd/sql.htm Marco Pinheiro | twitter.com/marcopinheiro
  10. 10. 1. introdução... a) materiais de suporte Livros de referência: “Beginning MySQL”; Robert Sheldon, Geoff Moes; Editora: Wrox; ISBN: 0764579509; “SQL - Structured Query Language - 6ª Edição Actualizada e Aumentada”; Luís Manuel Dias Damas; Editora: FCA; ISBN: 972-722-443-1; Webliografia de referência: http://www.hscripts.com/tutorials/mysql/index.php http://www.estig.ipbeja.pt/~eidbd/sql.htm http://www.w3schools.com/sql/default.asp Marco Pinheiro | twitter.com/marcopinheiro
  11. 11. 1. introdução... a) materiais de suporte Livros de referência: “Beginning MySQL”; Robert Sheldon, Geoff Moes; Editora: Wrox; ISBN: 0764579509; “SQL - Structured Query Language - 6ª Edição Actualizada e Aumentada”; Luís Manuel Dias Damas; Editora: FCA; ISBN: 972-722-443-1; Webliografia de referência: http://www.hscripts.com/tutorials/mysql/index.php http://www.estig.ipbeja.pt/~eidbd/sql.htm http://www.w3schools.com/sql/default.asp Marco Pinheiro | twitter.com/marcopinheiro
  12. 12. 1. introdução... a) materiais de suporte Livros de referência: “Beginning MySQL”; Robert Sheldon, Geoff Moes; Editora: Wrox; ISBN: 0764579509; “SQL - Structured Query Language - 6ª Edição Actualizada e Aumentada”; Luís Manuel Dias Damas; Editora: FCA; ISBN: 972-722-443-1; Webliografia de referência: http://www.hscripts.com/tutorials/mysql/index.php http://www.estig.ipbeja.pt/~eidbd/sql.htm http://www.w3schools.com/sql/default.asp Marco Pinheiro | twitter.com/marcopinheiro
  13. 13. Marco Pinheiro | twitter.com/marcopinheiro
  14. 14. 1. introdução... a) materiais de suporte Marco Pinheiro | twitter.com/marcopinheiro
  15. 15. 1. introdução... a) materiais de suporte Suite de aplicações para a instalação de um “servidor web” Marco Pinheiro | twitter.com/marcopinheiro
  16. 16. 1. introdução... a) materiais de suporte Suite de aplicações para a instalação de um “servidor web” XAMPP Marco Pinheiro | twitter.com/marcopinheiro
  17. 17. 1. introdução... a) materiais de suporte Suite de aplicações para a instalação de um “servidor web” XAMPP http://www.apachefriends.org/pt_br/xampp-windows.html Marco Pinheiro | twitter.com/marcopinheiro
  18. 18. 1. introdução... a) materiais de suporte Suite de aplicações para a instalação de um “servidor web” XAMPP http://www.apachefriends.org/pt_br/xampp-windows.html Entre outros aplicativos / servidores, inclui : Marco Pinheiro | twitter.com/marcopinheiro
  19. 19. 1. introdução... a) materiais de suporte Suite de aplicações para a instalação de um “servidor web” XAMPP http://www.apachefriends.org/pt_br/xampp-windows.html Entre outros aplicativos / servidores, inclui : * Apache Marco Pinheiro | twitter.com/marcopinheiro
  20. 20. 1. introdução... a) materiais de suporte Suite de aplicações para a instalação de um “servidor web” XAMPP http://www.apachefriends.org/pt_br/xampp-windows.html Entre outros aplicativos / servidores, inclui : * Apache * MySQL Marco Pinheiro | twitter.com/marcopinheiro
  21. 21. 1. introdução... a) materiais de suporte Suite de aplicações para a instalação de um “servidor web” XAMPP http://www.apachefriends.org/pt_br/xampp-windows.html Entre outros aplicativos / servidores, inclui : * Apache * MySQL * PHP... Marco Pinheiro | twitter.com/marcopinheiro
  22. 22. 1. introdução... a) materiais de suporte Suite de aplicações para a instalação de um “servidor web” XAMPP http://www.apachefriends.org/pt_br/xampp-windows.html Entre outros aplicativos / servidores, inclui : * Apache * MySQL * PHP... Todas as aplicações incluídas são livres e de código aberto (open source). Marco Pinheiro | twitter.com/marcopinheiro
  23. 23. 1. introdução... a) materiais de suporte Suite de aplicações para a instalação de um “servidor web” XAMPP http://www.apachefriends.org/pt_br/xampp-windows.html Entre outros aplicativos / servidores, inclui : * Apache * MySQL * PHP... Todas as aplicações incluídas são livres e de código aberto (open source). Marco Pinheiro | twitter.com/marcopinheiro
  24. 24. Marco Pinheiro | twitter.com/marcopinheiro
  25. 25. 1. introdução... b) introdução | SQL?! Marco Pinheiro | twitter.com/marcopinheiro
  26. 26. 1. introdução... b) introdução | SQL?! SQL (do inglês Structured Query Language, ou Linguagem de Consulta Estruturada), é uma linguagem de pesquisa, declarativa, para Bases de Dados Relacionais; Marco Pinheiro | twitter.com/marcopinheiro
  27. 27. 1. introdução... b) introdução | SQL?! SQL (do inglês Structured Query Language, ou Linguagem de Consulta Estruturada), é uma linguagem de pesquisa, declarativa, para Bases de Dados Relacionais; Vamos aprender SQL para aceder e manipular dados no SGBDs MySQL, mas esta linguagem é comum a outros SGBDs: SQL Server, Access, Oracle, DB2 entre outros... Marco Pinheiro | twitter.com/marcopinheiro
  28. 28. 1. introdução... b) introdução | SQL?! SQL (do inglês Structured Query Language, ou Linguagem de Consulta Estruturada), é uma linguagem de pesquisa, declarativa, para Bases de Dados Relacionais; Vamos aprender SQL para aceder e manipular dados no SGBDs MySQL, mas esta linguagem é comum a outros SGBDs: SQL Server, Access, Oracle, DB2 entre outros... O SQL foi desenvolvido originalmente no início dos anos 70 nos laboratórios da IBM; Marco Pinheiro | twitter.com/marcopinheiro
  29. 29. 1. introdução... b) introdução | SQL?! SQL (do inglês Structured Query Language, ou Linguagem de Consulta Estruturada), é uma linguagem de pesquisa, declarativa, para Bases de Dados Relacionais; Vamos aprender SQL para aceder e manipular dados no SGBDs MySQL, mas esta linguagem é comum a outros SGBDs: SQL Server, Access, Oracle, DB2 entre outros... O SQL foi desenvolvido originalmente no início dos anos 70 nos laboratórios da IBM; O SGBD que vamos utilizar nas aulas será o MySQL Marco Pinheiro | twitter.com/marcopinheiro
  30. 30. 1. introdução... b) introdução | SQL?! SQL (do inglês Structured Query Language, ou Linguagem de Consulta Estruturada), é uma linguagem de pesquisa, declarativa, para Bases de Dados Relacionais; Vamos aprender SQL para aceder e manipular dados no SGBDs MySQL, mas esta linguagem é comum a outros SGBDs: SQL Server, Access, Oracle, DB2 entre outros... O SQL foi desenvolvido originalmente no início dos anos 70 nos laboratórios da IBM; O SGBD que vamos utilizar nas aulas será o MySQL Marco Pinheiro | twitter.com/marcopinheiro
  31. 31. Marco Pinheiro | twitter.com/marcopinheiro
  32. 32. 1. introdução... b) introdução | a consola Marco Pinheiro | twitter.com/marcopinheiro
  33. 33. 1. introdução... b) introdução | a consola A consola (linha de comandos) do MySQL está localizada em xamppmysqlbin e tem o nome mysql.exe. Para ser iniciado como administrador, mysql -u root Marco Pinheiro | twitter.com/marcopinheiro
  34. 34. 1. introdução... b) introdução | a consola A consola (linha de comandos) do MySQL está localizada em xamppmysqlbin e tem o nome mysql.exe. Para ser iniciado como administrador, mysql -u root Vai ser na consola que iremos executar todas as operações de SQL; Marco Pinheiro | twitter.com/marcopinheiro
  35. 35. 1. introdução... b) introdução | a consola A consola (linha de comandos) do MySQL está localizada em xamppmysqlbin e tem o nome mysql.exe. Para ser iniciado como administrador, mysql -u root Vai ser na consola que iremos executar todas as operações de SQL; Nota: O comando será apenas executado quando a linha terminar com ; caso contrário, sempre que for premida a tecla ENTER é efectuada apenas uma quebra de linha (-->) Marco Pinheiro | twitter.com/marcopinheiro
  36. 36. 1. introdução... b) introdução | a consola A consola (linha de comandos) do MySQL está localizada em xamppmysqlbin e tem o nome mysql.exe. Para ser iniciado como administrador, mysql -u root Vai ser na consola que iremos executar todas as operações de SQL; Nota: O comando será apenas executado quando a linha terminar com ; caso contrário, sempre que for premida a tecla ENTER é efectuada apenas uma quebra de linha (-->) Marco Pinheiro | twitter.com/marcopinheiro
  37. 37. Marco Pinheiro | twitter.com/marcopinheiro
  38. 38. 1. introdução... c) primeiros passos | show databases Marco Pinheiro | twitter.com/marcopinheiro
  39. 39. 1. introdução... c) primeiros passos | show databases Para termos acesso a uma lista de bases de dados existentes no servidor Marco Pinheiro | twitter.com/marcopinheiro
  40. 40. 1. introdução... c) primeiros passos | show databases Para termos acesso a uma lista de bases de dados existentes no servidor show databases; Marco Pinheiro | twitter.com/marcopinheiro
  41. 41. 1. introdução... c) primeiros passos | show databases Para termos acesso a uma lista de bases de dados existentes no servidor show databases; Marco Pinheiro | twitter.com/marcopinheiro
  42. 42. Marco Pinheiro | twitter.com/marcopinheiro
  43. 43. 1. introdução... c) primeiros passos | create database Marco Pinheiro | twitter.com/marcopinheiro
  44. 44. 1. introdução... c) primeiros passos | create database Para criar uma nova base de dados Marco Pinheiro | twitter.com/marcopinheiro
  45. 45. 1. introdução... c) primeiros passos | create database Para criar uma nova base de dados create database NomeDaNovaBaseDados; Marco Pinheiro | twitter.com/marcopinheiro
  46. 46. 1. introdução... c) primeiros passos | create database Para criar uma nova base de dados create database NomeDaNovaBaseDados; Marco Pinheiro | twitter.com/marcopinheiro
  47. 47. Marco Pinheiro | twitter.com/marcopinheiro
  48. 48. 1. introdução... c) primeiros passos | use e show Marco Pinheiro | twitter.com/marcopinheiro
  49. 49. 1. introdução... c) primeiros passos | use e show Para utilizar uma base de dados da lista Marco Pinheiro | twitter.com/marcopinheiro
  50. 50. 1. introdução... c) primeiros passos | use e show Para utilizar uma base de dados da lista use NomeDaBaseDados; Marco Pinheiro | twitter.com/marcopinheiro
  51. 51. 1. introdução... c) primeiros passos | use e show Para utilizar uma base de dados da lista use NomeDaBaseDados; Para listar as tabelas da base de dados em uso Marco Pinheiro | twitter.com/marcopinheiro
  52. 52. 1. introdução... c) primeiros passos | use e show Para utilizar uma base de dados da lista use NomeDaBaseDados; Para listar as tabelas da base de dados em uso show tables; Marco Pinheiro | twitter.com/marcopinheiro
  53. 53. 1. introdução... c) primeiros passos | use e show Para utilizar uma base de dados da lista use NomeDaBaseDados; Para listar as tabelas da base de dados em uso show tables; Nota: no exemplo o resultado mostrado é “Empty set” na medida em que ainda não foram criadas quaisquer tabelas na dita base de dados... Marco Pinheiro | twitter.com/marcopinheiro
  54. 54. 1. introdução... c) primeiros passos | use e show Para utilizar uma base de dados da lista use NomeDaBaseDados; Para listar as tabelas da base de dados em uso show tables; Nota: no exemplo o resultado mostrado é “Empty set” na medida em que ainda não foram criadas quaisquer tabelas na dita base de dados... Marco Pinheiro | twitter.com/marcopinheiro
  55. 55. Marco Pinheiro | twitter.com/marcopinheiro
  56. 56. 1. introdução... c) primeiros passos | describe Marco Pinheiro | twitter.com/marcopinheiro
  57. 57. 1. introdução... c) primeiros passos | describe Após criarmos uma tabela podemos visualizar a sua estrutura utilizando o comando DESCRIBE ou simplesmente DESC seguido do nome da tabela, ou o comando SHOW FIELDS FROM nomeTabela ; Marco Pinheiro | twitter.com/marcopinheiro
  58. 58. 1. introdução... c) primeiros passos | describe Após criarmos uma tabela podemos visualizar a sua estrutura utilizando o comando DESCRIBE ou simplesmente DESC seguido do nome da tabela, ou o comando SHOW FIELDS FROM nomeTabela ; DESC nomeTabela ; (show create table nomeTabela -> mais detalhe!) Marco Pinheiro | twitter.com/marcopinheiro
  59. 59. 1. introdução... c) primeiros passos | describe Após criarmos uma tabela podemos visualizar a sua estrutura utilizando o comando DESCRIBE ou simplesmente DESC seguido do nome da tabela, ou o comando SHOW FIELDS FROM nomeTabela ; DESC nomeTabela ; (show create table nomeTabela -> mais detalhe!) SHOW FIELDS FROM nomeTabela ; Marco Pinheiro | twitter.com/marcopinheiro
  60. 60. 1. introdução... c) primeiros passos | describe Após criarmos uma tabela podemos visualizar a sua estrutura utilizando o comando DESCRIBE ou simplesmente DESC seguido do nome da tabela, ou o comando SHOW FIELDS FROM nomeTabela ; DESC nomeTabela ; (show create table nomeTabela -> mais detalhe!) SHOW FIELDS FROM nomeTabela ; Marco Pinheiro | twitter.com/marcopinheiro
  61. 61. Marco Pinheiro | twitter.com/marcopinheiro
  62. 62. 1. introdução... d) resumindo última aula... Marco Pinheiro | twitter.com/marcopinheiro
  63. 63. 1. introdução... d) resumindo última aula... O que significa e para que serve o SQL? Marco Pinheiro | twitter.com/marcopinheiro
  64. 64. 1. introdução... d) resumindo última aula... O que significa e para que serve o SQL? O que é e como se usa a consola? Marco Pinheiro | twitter.com/marcopinheiro
  65. 65. 1. introdução... d) resumindo última aula... O que significa e para que serve o SQL? O que é e como se usa a consola? show databases; Marco Pinheiro | twitter.com/marcopinheiro
  66. 66. 1. introdução... d) resumindo última aula... O que significa e para que serve o SQL? O que é e como se usa a consola? show databases; create database NomeDaNovaBaseDados; Marco Pinheiro | twitter.com/marcopinheiro
  67. 67. 1. introdução... d) resumindo última aula... O que significa e para que serve o SQL? O que é e como se usa a consola? show databases; create database NomeDaNovaBaseDados; use NomeDaBaseDados; Marco Pinheiro | twitter.com/marcopinheiro
  68. 68. 1. introdução... d) resumindo última aula... O que significa e para que serve o SQL? O que é e como se usa a consola? show databases; create database NomeDaNovaBaseDados; use NomeDaBaseDados; show tables; Marco Pinheiro | twitter.com/marcopinheiro
  69. 69. 1. introdução... d) resumindo última aula... O que significa e para que serve o SQL? O que é e como se usa a consola? show databases; create database NomeDaNovaBaseDados; use NomeDaBaseDados; show tables; desc nomeTabela; Marco Pinheiro | twitter.com/marcopinheiro
  70. 70. Marco Pinheiro | twitter.com/marcopinheiro
  71. 71. 1. introdução... d) tipos de dados aceites no SQL Marco Pinheiro | twitter.com/marcopinheiro
  72. 72. 1. introdução... d) tipos de dados aceites no SQL Tipo Abreviação Descrição INT ou Números inteiros. Existem outros tipos de números inteiros de acordo INTEIRO INTEGER com o sgbd utilizado. DOUBLE ou Números reais. Permitem armazenar todo tipo de número não inteiro. REAL REAL Existem outros tipos de números reais de acordo com o sgbd utilizado. Caracter. Permite a inclusão de dados alfanuméricos com tamanho pré- CARACTER CHAR (x) definido. O número de caracteres é definido entre os parênteses. Ocupa sempre o número indicado (com espaços...) Caracter. Permite a inclusão de dados alfanuméricos. O número de CARACTER VARCHAR (x) caracteres é definido entre os parênteses, porém o número de bytes VARIÁVEL utilizados pelo campo é apenas o especificado (número). DATA DATE Data. Existem diversos tipos de datas de acordo com o sgbd utilizado. BOOLEANO BOOLEAN Armazena um bit de informação, utilizado para verdadeiro ou falso. Marco Pinheiro | twitter.com/marcopinheiro
  73. 73. 1. introdução... d) tipos de dados aceites no SQL Tipo Abreviação Descrição INT ou Números inteiros. Existem outros tipos de números inteiros de acordo INTEIRO INTEGER com o sgbd utilizado. DOUBLE ou Números reais. Permitem armazenar todo tipo de número não inteiro. REAL REAL Existem outros tipos de números reais de acordo com o sgbd utilizado. Caracter. Permite a inclusão de dados alfanuméricos com tamanho pré- CARACTER CHAR (x) definido. O número de caracteres é definido entre os parênteses. Ocupa sempre o número indicado (com espaços...) Caracter. Permite a inclusão de dados alfanuméricos. O número de CARACTER VARCHAR (x) caracteres é definido entre os parênteses, porém o número de bytes VARIÁVEL utilizados pelo campo é apenas o especificado (número). DATA DATE Data. Existem diversos tipos de datas de acordo com o sgbd utilizado. BOOLEANO BOOLEAN Armazena um bit de informação, utilizado para verdadeiro ou falso. Marco Pinheiro | twitter.com/marcopinheiro
  74. 74. 1. introdução... d) tipos de dados aceites no SQL Tipo Abreviação Descrição INT ou Números inteiros. Existem outros tipos de números inteiros de acordo INTEIRO INTEGER com o sgbd utilizado. DOUBLE ou Números reais. Permitem armazenar todo tipo de número não inteiro. REAL REAL Existem outros tipos de números reais de acordo com o sgbd utilizado. Caracter. Permite a inclusão de dados alfanuméricos com tamanho pré- CARACTER CHAR (x) definido. O número de caracteres é definido entre os parênteses. Ocupa sempre o número indicado (com espaços...) Caracter. Permite a inclusão de dados alfanuméricos. O número de CARACTER VARCHAR (x) caracteres é definido entre os parênteses, porém o número de bytes VARIÁVEL utilizados pelo campo é apenas o especificado (número). DATA DATE Data. Existem diversos tipos de datas de acordo com o sgbd utilizado. BOOLEANO BOOLEAN Armazena um bit de informação, utilizado para verdadeiro ou falso. Marco Pinheiro | twitter.com/marcopinheiro
  75. 75. 1. introdução... d) tipos de dados aceites no SQL Tipo Abreviação Descrição INT ou Números inteiros. Existem outros tipos de números inteiros de acordo INTEIRO INTEGER com o sgbd utilizado. DOUBLE ou Números reais. Permitem armazenar todo tipo de número não inteiro. REAL REAL Existem outros tipos de números reais de acordo com o sgbd utilizado. Caracter. Permite a inclusão de dados alfanuméricos com tamanho pré- CARACTER CHAR (x) definido. O número de caracteres é definido entre os parênteses. Ocupa sempre o número indicado (com espaços...) Caracter. Permite a inclusão de dados alfanuméricos. O número de CARACTER VARCHAR (x) caracteres é definido entre os parênteses, porém o número de bytes VARIÁVEL utilizados pelo campo é apenas o especificado (número). DATA DATE Data. Existem diversos tipos de datas de acordo com o sgbd utilizado. BOOLEANO BOOLEAN Armazena um bit de informação, utilizado para verdadeiro ou falso. Marco Pinheiro | twitter.com/marcopinheiro
  76. 76. 1. introdução... d) tipos de dados aceites no SQL Tipo Abreviação Descrição INT ou Números inteiros. Existem outros tipos de números inteiros de acordo INTEIRO INTEGER com o sgbd utilizado. DOUBLE ou Números reais. Permitem armazenar todo tipo de número não inteiro. REAL REAL Existem outros tipos de números reais de acordo com o sgbd utilizado. Caracter. Permite a inclusão de dados alfanuméricos com tamanho pré- CARACTER CHAR (x) definido. O número de caracteres é definido entre os parênteses. Ocupa sempre o número indicado (com espaços...) Caracter. Permite a inclusão de dados alfanuméricos. O número de CARACTER VARCHAR (x) caracteres é definido entre os parênteses, porém o número de bytes VARIÁVEL utilizados pelo campo é apenas o especificado (número). DATA DATE Data. Existem diversos tipos de datas de acordo com o sgbd utilizado. BOOLEANO BOOLEAN Armazena um bit de informação, utilizado para verdadeiro ou falso. Marco Pinheiro | twitter.com/marcopinheiro
  77. 77. 1. introdução... d) tipos de dados aceites no SQL Tipo Abreviação Descrição INT ou Números inteiros. Existem outros tipos de números inteiros de acordo INTEIRO INTEGER com o sgbd utilizado. DOUBLE ou Números reais. Permitem armazenar todo tipo de número não inteiro. REAL REAL Existem outros tipos de números reais de acordo com o sgbd utilizado. Caracter. Permite a inclusão de dados alfanuméricos com tamanho pré- CARACTER CHAR (x) definido. O número de caracteres é definido entre os parênteses. Ocupa sempre o número indicado (com espaços...) Caracter. Permite a inclusão de dados alfanuméricos. O número de CARACTER VARCHAR (x) caracteres é definido entre os parênteses, porém o número de bytes VARIÁVEL utilizados pelo campo é apenas o especificado (número). DATA DATE Data. Existem diversos tipos de datas de acordo com o sgbd utilizado. BOOLEANO BOOLEAN Armazena um bit de informação, utilizado para verdadeiro ou falso. Marco Pinheiro | twitter.com/marcopinheiro
  78. 78. 1. introdução... d) tipos de dados aceites no SQL Tipo Abreviação Descrição INT ou Números inteiros. Existem outros tipos de números inteiros de acordo INTEIRO INTEGER com o sgbd utilizado. DOUBLE ou Números reais. Permitem armazenar todo tipo de número não inteiro. REAL REAL Existem outros tipos de números reais de acordo com o sgbd utilizado. Caracter. Permite a inclusão de dados alfanuméricos com tamanho pré- CARACTER CHAR (x) definido. O número de caracteres é definido entre os parênteses. Ocupa sempre o número indicado (com espaços...) Caracter. Permite a inclusão de dados alfanuméricos. O número de CARACTER VARCHAR (x) caracteres é definido entre os parênteses, porém o número de bytes VARIÁVEL utilizados pelo campo é apenas o especificado (número). DATA DATE Data. Existem diversos tipos de datas de acordo com o sgbd utilizado. BOOLEANO BOOLEAN Armazena um bit de informação, utilizado para verdadeiro ou falso. Marco Pinheiro | twitter.com/marcopinheiro
  79. 79. Marco Pinheiro | twitter.com/marcopinheiro
  80. 80. 1. introdução... d) tipos de dados aceites no MySQL Marco Pinheiro | twitter.com/marcopinheiro
  81. 81. 1. introdução... d) tipos de dados aceites no MySQL Para valores numérios inteiros temos: Marco Pinheiro | twitter.com/marcopinheiro
  82. 82. 1. introdução... d) tipos de dados aceites no MySQL Para valores numérios inteiros temos: Marco Pinheiro | twitter.com/marcopinheiro
  83. 83. Marco Pinheiro | twitter.com/marcopinheiro
  84. 84. 1. introdução... d) tipos de dados aceites no MySQL Marco Pinheiro | twitter.com/marcopinheiro
  85. 85. 1. introdução... d) tipos de dados aceites no MySQL Para valores numérios reais temos: Marco Pinheiro | twitter.com/marcopinheiro
  86. 86. 1. introdução... d) tipos de dados aceites no MySQL Para valores numérios reais temos: Marco Pinheiro | twitter.com/marcopinheiro
  87. 87. Marco Pinheiro | twitter.com/marcopinheiro
  88. 88. 1. introdução... d) tipos de dados aceites no MySQL Marco Pinheiro | twitter.com/marcopinheiro
  89. 89. 1. introdução... d) tipos de dados aceites no MySQL Para valores do tipo caracter (string) temos: Marco Pinheiro | twitter.com/marcopinheiro
  90. 90. 1. introdução... d) tipos de dados aceites no MySQL Para valores do tipo caracter (string) temos: Marco Pinheiro | twitter.com/marcopinheiro
  91. 91. Marco Pinheiro | twitter.com/marcopinheiro
  92. 92. 1. introdução... d) tipos de dados aceites no MySQL Marco Pinheiro | twitter.com/marcopinheiro
  93. 93. 1. introdução... d) tipos de dados aceites no MySQL Para valores tipo data temos: Marco Pinheiro | twitter.com/marcopinheiro
  94. 94. 1. introdução... d) tipos de dados aceites no MySQL Para valores tipo data temos: Marco Pinheiro | twitter.com/marcopinheiro
  95. 95. DDL - Linguagem de Definição de Dados DML - Linguagem de Manipulação de Dados Marco Pinheiro | twitter.com/marcopinheiro
  96. 96. Marco Pinheiro | twitter.com/marcopinheiro
  97. 97. 2. DDL - Linguagem de Definição de Dados a) definição Marco Pinheiro | twitter.com/marcopinheiro
  98. 98. 2. DDL - Linguagem de Definição de Dados a) definição Linguagem de definição de dados (ou DDL, de Data Definition Language) é um conjunto de comandos dentro do SQL usada para a definição das estruturas de dados, fornecendo as instruções que permitem a criação, modificação e remoção das tabelas, assim como criação de índices (ou chaves). Marco Pinheiro | twitter.com/marcopinheiro
  99. 99. 2. DDL - Linguagem de Definição de Dados a) definição Linguagem de definição de dados (ou DDL, de Data Definition Language) é um conjunto de comandos dentro do SQL usada para a definição das estruturas de dados, fornecendo as instruções que permitem a criação, modificação e remoção das tabelas, assim como criação de índices (ou chaves). Estas instruções SQL permitem definir a estrutura de uma base de dados, incluindo colunas (campos), tabelas, índices (chaves), etc. Marco Pinheiro | twitter.com/marcopinheiro
  100. 100. 2. DDL - Linguagem de Definição de Dados a) definição Linguagem de definição de dados (ou DDL, de Data Definition Language) é um conjunto de comandos dentro do SQL usada para a definição das estruturas de dados, fornecendo as instruções que permitem a criação, modificação e remoção das tabelas, assim como criação de índices (ou chaves). Estas instruções SQL permitem definir a estrutura de uma base de dados, incluindo colunas (campos), tabelas, índices (chaves), etc. Entre os principais comandos DDL estão CREATE (criar), ALTER (alterar) e DROP (apagar). Marco Pinheiro | twitter.com/marcopinheiro
  101. 101. Marco Pinheiro | twitter.com/marcopinheiro
  102. 102. 2. DDL - Linguagem de Definição de Dados a) cad - create, alter, drop Marco Pinheiro | twitter.com/marcopinheiro
  103. 103. 2. DDL - Linguagem de Definição de Dados a) cad - create, alter, drop CREATE Uma declaração CREATE permite a criação de uma nova base de dados, tabela, índice, ou consulta armazenada. Entre os principais comandos incluidos estão CREATE DATABASE (criar base de dados) e CREATE TABLE (criar tabela); Marco Pinheiro | twitter.com/marcopinheiro
  104. 104. 2. DDL - Linguagem de Definição de Dados a) cad - create, alter, drop CREATE Uma declaração CREATE permite a criação de uma nova base de dados, tabela, índice, ou consulta armazenada. Entre os principais comandos incluidos estão CREATE DATABASE (criar base de dados) e CREATE TABLE (criar tabela); ALTER Uma declaração ALTER permite alterar um objeto de um base de dados. Entre os principais comandos estão ALTER TABLE ADD (adicionar uma coluna na tabela), ALTER TABLE DROP (excluir uma coluna na tabela), entre outros... Marco Pinheiro | twitter.com/marcopinheiro
  105. 105. 2. DDL - Linguagem de Definição de Dados a) cad - create, alter, drop CREATE Uma declaração CREATE permite a criação de uma nova base de dados, tabela, índice, ou consulta armazenada. Entre os principais comandos incluidos estão CREATE DATABASE (criar base de dados) e CREATE TABLE (criar tabela); ALTER Uma declaração ALTER permite alterar um objeto de um base de dados. Entre os principais comandos estão ALTER TABLE ADD (adicionar uma coluna na tabela), ALTER TABLE DROP (excluir uma coluna na tabela), entre outros... DROP Uma declaração DROP permite remover (destruir) uma base de dados existente, tabela ou índice. Entre os principais comandos incluídos estão o DROP DATABASE (eliminar uma base de dados inteira), DROP TABLE (excluir tabela) entre outros... Marco Pinheiro | twitter.com/marcopinheiro
  106. 106. Marco Pinheiro | twitter.com/marcopinheiro
  107. 107. 2. DDL - Linguagem de Definição de Dados a) cad - create, alter, drop Marco Pinheiro | twitter.com/marcopinheiro
  108. 108. 2. DDL - Linguagem de Definição de Dados a) cad - create, alter, drop create table Marco Pinheiro | twitter.com/marcopinheiro
  109. 109. Marco Pinheiro | twitter.com/marcopinheiro
  110. 110. 2. DDL - Linguagem de Definição de Dados b1) CREATE TABLE Marco Pinheiro | twitter.com/marcopinheiro
  111. 111. 2. DDL - Linguagem de Definição de Dados b1) CREATE TABLE CREATE TABLE é o comando para a criação de tabelas e deve ser seguido pelo nome que queremos dar à tabela; Marco Pinheiro | twitter.com/marcopinheiro
  112. 112. 2. DDL - Linguagem de Definição de Dados b1) CREATE TABLE CREATE TABLE é o comando para a criação de tabelas e deve ser seguido pelo nome que queremos dar à tabela; Dentro do comando, devemos definir os nomes dos campos de acordo com a conveniência da base de dados, e determinar o tipo de dados que poderão ser incluídos nesse campo. Marco Pinheiro | twitter.com/marcopinheiro
  113. 113. 2. DDL - Linguagem de Definição de Dados b1) CREATE TABLE CREATE TABLE é o comando para a criação de tabelas e deve ser seguido pelo nome que queremos dar à tabela; Dentro do comando, devemos definir os nomes dos campos de acordo com a conveniência da base de dados, e determinar o tipo de dados que poderão ser incluídos nesse campo. CREATE TABLE nomeTabela Marco Pinheiro | twitter.com/marcopinheiro
  114. 114. 2. DDL - Linguagem de Definição de Dados b1) CREATE TABLE CREATE TABLE é o comando para a criação de tabelas e deve ser seguido pelo nome que queremos dar à tabela; Dentro do comando, devemos definir os nomes dos campos de acordo com a conveniência da base de dados, e determinar o tipo de dados que poderão ser incluídos nesse campo. CREATE TABLE nomeTabela ( Marco Pinheiro | twitter.com/marcopinheiro
  115. 115. 2. DDL - Linguagem de Definição de Dados b1) CREATE TABLE CREATE TABLE é o comando para a criação de tabelas e deve ser seguido pelo nome que queremos dar à tabela; Dentro do comando, devemos definir os nomes dos campos de acordo com a conveniência da base de dados, e determinar o tipo de dados que poderão ser incluídos nesse campo. CREATE TABLE nomeTabela ( fieldName1 dataType(size) , Marco Pinheiro | twitter.com/marcopinheiro
  116. 116. 2. DDL - Linguagem de Definição de Dados b1) CREATE TABLE CREATE TABLE é o comando para a criação de tabelas e deve ser seguido pelo nome que queremos dar à tabela; Dentro do comando, devemos definir os nomes dos campos de acordo com a conveniência da base de dados, e determinar o tipo de dados que poderão ser incluídos nesse campo. CREATE TABLE nomeTabela ( fieldName1 dataType(size) , fieldName2 dataType(size) Marco Pinheiro | twitter.com/marcopinheiro
  117. 117. 2. DDL - Linguagem de Definição de Dados b1) CREATE TABLE CREATE TABLE é o comando para a criação de tabelas e deve ser seguido pelo nome que queremos dar à tabela; Dentro do comando, devemos definir os nomes dos campos de acordo com a conveniência da base de dados, e determinar o tipo de dados que poderão ser incluídos nesse campo. CREATE TABLE nomeTabela ( fieldName1 dataType(size) , fieldName2 dataType(size) ... Marco Pinheiro | twitter.com/marcopinheiro
  118. 118. 2. DDL - Linguagem de Definição de Dados b1) CREATE TABLE CREATE TABLE é o comando para a criação de tabelas e deve ser seguido pelo nome que queremos dar à tabela; Dentro do comando, devemos definir os nomes dos campos de acordo com a conveniência da base de dados, e determinar o tipo de dados que poderão ser incluídos nesse campo. CREATE TABLE nomeTabela ( fieldName1 dataType(size) , fieldName2 dataType(size) ... ) [ ENGINE = engineUtilizada ] ; Marco Pinheiro | twitter.com/marcopinheiro
  119. 119. 2. DDL - Linguagem de Definição de Dados b1) CREATE TABLE CREATE TABLE é o comando para a criação de tabelas e deve ser seguido pelo nome que queremos dar à tabela; Dentro do comando, devemos definir os nomes dos campos de acordo com a conveniência da base de dados, e determinar o tipo de dados que poderão ser incluídos nesse campo. CREATE TABLE nomeTabela ( fieldName1 dataType(size) , fieldName2 dataType(size) ... ) [ ENGINE = engineUtilizada ] ; Tipos de "engine" da base de dados no SGBD MySQL: ENGINE = {BDB | MEMORY | ISAM | INNODB | MERGE | MYISAM} Marco Pinheiro | twitter.com/marcopinheiro
  120. 120. 2. DDL - Linguagem de Definição de Dados b1) CREATE TABLE CREATE TABLE é o comando para a criação de tabelas e deve ser seguido pelo nome que queremos dar à tabela; Dentro do comando, devemos definir os nomes dos campos de acordo com a conveniência da base de dados, e determinar o tipo de dados que poderão ser incluídos nesse campo. CREATE TABLE nomeTabela CREATE TABLE student ( ( fieldName1 dataType(size) , studID INT , fieldName2 dataType(size) name VARCHAR(30) , ... address VARCHAR(40) ) [ ENGINE = engineUtilizada ] ; ) ENGINE = InnoDB ; Tipos de "engine" da base de dados no SGBD MySQL: ENGINE = {BDB | MEMORY | ISAM | INNODB | MERGE | MYISAM} Marco Pinheiro | twitter.com/marcopinheiro
  121. 121. 2. DDL - Linguagem de Definição de Dados b1) CREATE TABLE CREATE TABLE é o comando para a criação de tabelas e deve ser seguido pelo nome que queremos dar à tabela; Dentro do comando, devemos definir os nomes dos campos de acordo com a conveniência da base de dados, e determinar o tipo de dados que poderão ser incluídos nesse campo. CREATE TABLE nomeTabela CREATE TABLE student ( ( fieldName1 dataType(size) , studID INT , fieldName2 dataType(size) name VARCHAR(30) , ... address VARCHAR(40) ) [ ENGINE = engineUtilizada ] ; ) ENGINE = InnoDB ; Tipos de "engine" da base de dados no SGBD MySQL: ENGINE = {BDB | MEMORY | ISAM | INNODB | MERGE | MYISAM} Marco Pinheiro | twitter.com/marcopinheiro
  122. 122. 2. DDL - Linguagem de Definição de Dados b1) CREATE TABLE CREATE TABLE é o comando para a criação de tabelas e deve ser seguido pelo nome que queremos dar à tabela; Dentro do comando, devemos definir os nomes dos campos de acordo com a conveniência da base de dados, e determinar o tipo de dados que poderão ser incluídos nesse campo. CREATE TABLE nomeTabela CREATE TABLE student ( ( fieldName1 dataType(size) , studID INT , fieldName2 dataType(size) name VARCHAR(30) , ... address VARCHAR(40) ) [ ENGINE = engineUtilizada ] ; ) ENGINE = InnoDB ; Tipos de "engine" da base de dados no SGBD MySQL: ENGINE = {BDB | MEMORY | ISAM | INNODB | MERGE | MYISAM} Marco Pinheiro | twitter.com/marcopinheiro
  123. 123. Marco Pinheiro | twitter.com/marcopinheiro
  124. 124. 2. DDL - Linguagem de Definição de Dados b1) CREATE TABLE | auto-increment Marco Pinheiro | twitter.com/marcopinheiro
  125. 125. 2. DDL - Linguagem de Definição de Dados b1) CREATE TABLE | auto-increment Se desejamos que o valor de um campo seja de auto-incremento (numeração automática sequêncial) devemos inserir AUTO_INCREMENT na frente do campo pretendido; Marco Pinheiro | twitter.com/marcopinheiro
  126. 126. 2. DDL - Linguagem de Definição de Dados b1) CREATE TABLE | auto-increment Se desejamos que o valor de um campo seja de auto-incremento (numeração automática sequêncial) devemos inserir AUTO_INCREMENT na frente do campo pretendido; Isto pode ser utilizado por exemplo, para automatizar um nº que sirva de chave primária na tabela Marco Pinheiro | twitter.com/marcopinheiro
  127. 127. 2. DDL - Linguagem de Definição de Dados b1) CREATE TABLE | auto-increment Se desejamos que o valor de um campo seja de auto-incremento (numeração automática sequêncial) devemos inserir AUTO_INCREMENT na frente do campo pretendido; Isto pode ser utilizado por exemplo, para automatizar um nº que sirva de chave primária na tabela CREATE TABLE student Marco Pinheiro | twitter.com/marcopinheiro
  128. 128. 2. DDL - Linguagem de Definição de Dados b1) CREATE TABLE | auto-increment Se desejamos que o valor de um campo seja de auto-incremento (numeração automática sequêncial) devemos inserir AUTO_INCREMENT na frente do campo pretendido; Isto pode ser utilizado por exemplo, para automatizar um nº que sirva de chave primária na tabela CREATE TABLE student ( Marco Pinheiro | twitter.com/marcopinheiro
  129. 129. 2. DDL - Linguagem de Definição de Dados b1) CREATE TABLE | auto-increment Se desejamos que o valor de um campo seja de auto-incremento (numeração automática sequêncial) devemos inserir AUTO_INCREMENT na frente do campo pretendido; Isto pode ser utilizado por exemplo, para automatizar um nº que sirva de chave primária na tabela CREATE TABLE student ( studID INT PRIMARY KEY AUTO_INCREMENT , Marco Pinheiro | twitter.com/marcopinheiro
  130. 130. 2. DDL - Linguagem de Definição de Dados b1) CREATE TABLE | auto-increment Se desejamos que o valor de um campo seja de auto-incremento (numeração automática sequêncial) devemos inserir AUTO_INCREMENT na frente do campo pretendido; Isto pode ser utilizado por exemplo, para automatizar um nº que sirva de chave primária na tabela CREATE TABLE student ( studID INT PRIMARY KEY AUTO_INCREMENT , name VARCHAR(30) , Marco Pinheiro | twitter.com/marcopinheiro
  131. 131. 2. DDL - Linguagem de Definição de Dados b1) CREATE TABLE | auto-increment Se desejamos que o valor de um campo seja de auto-incremento (numeração automática sequêncial) devemos inserir AUTO_INCREMENT na frente do campo pretendido; Isto pode ser utilizado por exemplo, para automatizar um nº que sirva de chave primária na tabela CREATE TABLE student ( studID INT PRIMARY KEY AUTO_INCREMENT , name VARCHAR(30) , address VARCHAR(40) Marco Pinheiro | twitter.com/marcopinheiro
  132. 132. 2. DDL - Linguagem de Definição de Dados b1) CREATE TABLE | auto-increment Se desejamos que o valor de um campo seja de auto-incremento (numeração automática sequêncial) devemos inserir AUTO_INCREMENT na frente do campo pretendido; Isto pode ser utilizado por exemplo, para automatizar um nº que sirva de chave primária na tabela CREATE TABLE student ( studID INT PRIMARY KEY AUTO_INCREMENT , name VARCHAR(30) , address VARCHAR(40) ) ENGINE = InnoDB ; Marco Pinheiro | twitter.com/marcopinheiro
  133. 133. 2. DDL - Linguagem de Definição de Dados b1) CREATE TABLE | auto-increment Se desejamos que o valor de um campo seja de auto-incremento (numeração automática sequêncial) devemos inserir AUTO_INCREMENT na frente do campo pretendido; Isto pode ser utilizado por exemplo, para automatizar um nº que sirva de chave primária na tabela CREATE TABLE student ( studID INT PRIMARY KEY AUTO_INCREMENT , name VARCHAR(30) , address VARCHAR(40) ) ENGINE = InnoDB ; Nota: cada tabela pode ter apenas UM CAMPO com AUTO_INCREMENT e o mesmo terá de ser obrigatoriamente definido como chave primária ( PRIMARY KEY )! Marco Pinheiro | twitter.com/marcopinheiro
  134. 134. Marco Pinheiro | twitter.com/marcopinheiro
  135. 135. 2. DDL - Linguagem de Definição de Dados b1) CREATE TABLE | default Marco Pinheiro | twitter.com/marcopinheiro
  136. 136. 2. DDL - Linguagem de Definição de Dados b1) CREATE TABLE | default Valor predefinido para um campo da tabela Marco Pinheiro | twitter.com/marcopinheiro
  137. 137. 2. DDL - Linguagem de Definição de Dados b1) CREATE TABLE | default Valor predefinido para um campo da tabela CREATE TABLE student Marco Pinheiro | twitter.com/marcopinheiro
  138. 138. 2. DDL - Linguagem de Definição de Dados b1) CREATE TABLE | default Valor predefinido para um campo da tabela CREATE TABLE student ( Marco Pinheiro | twitter.com/marcopinheiro
  139. 139. 2. DDL - Linguagem de Definição de Dados b1) CREATE TABLE | default Valor predefinido para um campo da tabela CREATE TABLE student ( studID INT, Marco Pinheiro | twitter.com/marcopinheiro
  140. 140. 2. DDL - Linguagem de Definição de Dados b1) CREATE TABLE | default Valor predefinido para um campo da tabela CREATE TABLE student ( studID INT, name VARCHAR(30) , Marco Pinheiro | twitter.com/marcopinheiro
  141. 141. 2. DDL - Linguagem de Definição de Dados b1) CREATE TABLE | default Valor predefinido para um campo da tabela CREATE TABLE student ( studID INT, name VARCHAR(30) , address VARCHAR(40) DEFAULT ‘ Aveiro ‘ Marco Pinheiro | twitter.com/marcopinheiro
  142. 142. 2. DDL - Linguagem de Definição de Dados b1) CREATE TABLE | default Valor predefinido para um campo da tabela CREATE TABLE student ( studID INT, name VARCHAR(30) , address VARCHAR(40) DEFAULT ‘ Aveiro ‘ ) ENGINE = InnoDB ; Marco Pinheiro | twitter.com/marcopinheiro
  143. 143. constraints Marco Pinheiro | twitter.com/marcopinheiro
  144. 144. 2. DDL - Linguagem de Definição de Dados b2) CREATE TABLE | constraints constraints Marco Pinheiro | twitter.com/marcopinheiro
  145. 145. Marco Pinheiro | twitter.com/marcopinheiro
  146. 146. 2. DDL - Linguagem de Definição de Dados b2) create | constraints Marco Pinheiro | twitter.com/marcopinheiro
  147. 147. 2. DDL - Linguagem de Definição de Dados b2) create | constraints Há diversas regras de “constraint” que podem ser aplicadas aos campos que formam uma tabela. Marco Pinheiro | twitter.com/marcopinheiro
  148. 148. 2. DDL - Linguagem de Definição de Dados b2) create | constraints Há diversas regras de “constraint” que podem ser aplicadas aos campos que formam uma tabela. A sua definição pode ser feita de duas formas: inline ou com a palavra constraint (com a excepção do NOT NULL que pode apenas ser definida inline) Marco Pinheiro | twitter.com/marcopinheiro
  149. 149. 2. DDL - Linguagem de Definição de Dados b2) create | constraints Há diversas regras de “constraint” que podem ser aplicadas aos campos que formam uma tabela. A sua definição pode ser feita de duas formas: inline ou com a palavra constraint (com a excepção do NOT NULL que pode apenas ser definida inline) Eis as mais importantes: Marco Pinheiro | twitter.com/marcopinheiro
  150. 150. 2. DDL - Linguagem de Definição de Dados b2) create | constraints Há diversas regras de “constraint” que podem ser aplicadas aos campos que formam uma tabela. A sua definição pode ser feita de duas formas: inline ou com a palavra constraint (com a excepção do NOT NULL que pode apenas ser definida inline) Eis as mais importantes: NOT NULL (definido apenas inline) Marco Pinheiro | twitter.com/marcopinheiro
  151. 151. 2. DDL - Linguagem de Definição de Dados b2) create | constraints Há diversas regras de “constraint” que podem ser aplicadas aos campos que formam uma tabela. A sua definição pode ser feita de duas formas: inline ou com a palavra constraint (com a excepção do NOT NULL que pode apenas ser definida inline) Eis as mais importantes: NOT NULL (definido apenas inline) UNIQUE Marco Pinheiro | twitter.com/marcopinheiro
  152. 152. 2. DDL - Linguagem de Definição de Dados b2) create | constraints Há diversas regras de “constraint” que podem ser aplicadas aos campos que formam uma tabela. A sua definição pode ser feita de duas formas: inline ou com a palavra constraint (com a excepção do NOT NULL que pode apenas ser definida inline) Eis as mais importantes: NOT NULL (definido apenas inline) UNIQUE PRIMARY KEY Marco Pinheiro | twitter.com/marcopinheiro
  153. 153. 2. DDL - Linguagem de Definição de Dados b2) create | constraints Há diversas regras de “constraint” que podem ser aplicadas aos campos que formam uma tabela. A sua definição pode ser feita de duas formas: inline ou com a palavra constraint (com a excepção do NOT NULL que pode apenas ser definida inline) Eis as mais importantes: NOT NULL (definido apenas inline) UNIQUE PRIMARY KEY FOREIGN KEY Marco Pinheiro | twitter.com/marcopinheiro
  154. 154. 2. DDL - Linguagem de Definição de Dados b2) create | constraints Há diversas regras de “constraint” que podem ser aplicadas aos campos que formam uma tabela. A sua definição pode ser feita de duas formas: inline ou com a palavra constraint (com a excepção do NOT NULL que pode apenas ser definida inline) Eis as mais importantes: NOT NULL (definido apenas inline) UNIQUE PRIMARY KEY FOREIGN KEY CHECK Marco Pinheiro | twitter.com/marcopinheiro
  155. 155. Marco Pinheiro | twitter.com/marcopinheiro
  156. 156. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: not null (nn) Marco Pinheiro | twitter.com/marcopinheiro
  157. 157. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: not null (nn) O constrangimento NOT NULL força um campo a não aceitar valores NULL (vazios), ou seja, obriga a que este seja sempre preenchido (tal como explicado anteriormente). Marco Pinheiro | twitter.com/marcopinheiro
  158. 158. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: not null (nn) O constrangimento NOT NULL força um campo a não aceitar valores NULL (vazios), ou seja, obriga a que este seja sempre preenchido (tal como explicado anteriormente). Eis um pequeno exemplo onde o constrangimento é definido inline: Marco Pinheiro | twitter.com/marcopinheiro
  159. 159. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: not null (nn) O constrangimento NOT NULL força um campo a não aceitar valores NULL (vazios), ou seja, obriga a que este seja sempre preenchido (tal como explicado anteriormente). Eis um pequeno exemplo onde o constrangimento é definido inline: CREATE TABLE student ( studID INT NOT NULL , name VARCHAR(30) , address VARCHAR(40) ) ENGINE = InnoDB ; Marco Pinheiro | twitter.com/marcopinheiro
  160. 160. Marco Pinheiro | twitter.com/marcopinheiro
  161. 161. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: unique (un) Marco Pinheiro | twitter.com/marcopinheiro
  162. 162. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: unique (un) O constrangimento UNIQUE identifica de forma única cada registo da tabela da base de dados (não permite que o valor se repita). Marco Pinheiro | twitter.com/marcopinheiro
  163. 163. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: unique (un) O constrangimento UNIQUE identifica de forma única cada registo da tabela da base de dados (não permite que o valor se repita). Tem o mesmo efeito prático da PRIMARY KEY. Marco Pinheiro | twitter.com/marcopinheiro
  164. 164. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: unique (un) O constrangimento UNIQUE identifica de forma única cada registo da tabela da base de dados (não permite que o valor se repita). Tem o mesmo efeito prático da PRIMARY KEY. CREATE TABLE student Marco Pinheiro | twitter.com/marcopinheiro
  165. 165. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: unique (un) O constrangimento UNIQUE identifica de forma única cada registo da tabela da base de dados (não permite que o valor se repita). Tem o mesmo efeito prático da PRIMARY KEY. CREATE TABLE student ( Marco Pinheiro | twitter.com/marcopinheiro
  166. 166. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: unique (un) O constrangimento UNIQUE identifica de forma única cada registo da tabela da base de dados (não permite que o valor se repita). Tem o mesmo efeito prático da PRIMARY KEY. CREATE TABLE student ( studID INT , Marco Pinheiro | twitter.com/marcopinheiro
  167. 167. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: unique (un) O constrangimento UNIQUE identifica de forma única cada registo da tabela da base de dados (não permite que o valor se repita). Tem o mesmo efeito prático da PRIMARY KEY. CREATE TABLE student ( studID INT , name VARCHAR(30) , Marco Pinheiro | twitter.com/marcopinheiro
  168. 168. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: unique (un) O constrangimento UNIQUE identifica de forma única cada registo da tabela da base de dados (não permite que o valor se repita). Tem o mesmo efeito prático da PRIMARY KEY. CREATE TABLE student ( studID INT , name VARCHAR(30) , address VARCHAR(40) , Marco Pinheiro | twitter.com/marcopinheiro
  169. 169. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: unique (un) O constrangimento UNIQUE identifica de forma única cada registo da tabela da base de dados (não permite que o valor se repita). Tem o mesmo efeito prático da PRIMARY KEY. CREATE TABLE student ( studID INT , name VARCHAR(30) , address VARCHAR(40) , CONSTRAINT un_nomeConstricao UNIQUE ( studID ) Marco Pinheiro | twitter.com/marcopinheiro
  170. 170. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: unique (un) O constrangimento UNIQUE identifica de forma única cada registo da tabela da base de dados (não permite que o valor se repita). Tem o mesmo efeito prático da PRIMARY KEY. CREATE TABLE student ( studID INT , name VARCHAR(30) , address VARCHAR(40) , CONSTRAINT un_nomeConstricao UNIQUE ( studID ) ) ENGINE = InnoDB ; Marco Pinheiro | twitter.com/marcopinheiro
  171. 171. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: unique (un) O constrangimento UNIQUE identifica de forma única cada registo da tabela da base de dados (não permite que o valor se repita). Tem o mesmo efeito prático da PRIMARY KEY. CREATE TABLE student ( studID INT , name VARCHAR(30) , address VARCHAR(40) , CONSTRAINT un_nomeConstricao UNIQUE ( studID ) ) ENGINE = InnoDB ; Obs 1) O constrangimento PRIMARY KEY implementa automaticamente este UNIQUE; Marco Pinheiro | twitter.com/marcopinheiro
  172. 172. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: unique (un) O constrangimento UNIQUE identifica de forma única cada registo da tabela da base de dados (não permite que o valor se repita). Tem o mesmo efeito prático da PRIMARY KEY. CREATE TABLE student ( studID INT , name VARCHAR(30) , address VARCHAR(40) , CONSTRAINT un_nomeConstricao UNIQUE ( studID ) ) ENGINE = InnoDB ; Obs 1) O constrangimento PRIMARY KEY implementa automaticamente este UNIQUE; Obs 2) Podemos ter vários campos com o constrangimento UNIQUE. Marco Pinheiro | twitter.com/marcopinheiro
  173. 173. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: unique (un) O constrangimento UNIQUE identifica de forma única cada registo da tabela da base de dados (não permite que o valor se repita). Tem o mesmo efeito prático da PRIMARY KEY. CREATE TABLE student ( studID INT , name VARCHAR(30) , address VARCHAR(40) , CONSTRAINT un_nomeConstricao UNIQUE ( studID ) ) ENGINE = InnoDB ; Obs 1) O constrangimento PRIMARY KEY implementa automaticamente este UNIQUE; Obs 2) Podemos ter vários campos com o constrangimento UNIQUE. Nota: un_nomeConstricao é o nome do constraint. Tipicamente tem um prefixo (nn, un, pk, fk,ck), seguido de underscore e o nome "simbólico" para a regra de constrangimento. Marco Pinheiro | twitter.com/marcopinheiro
  174. 174. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: unique (un) O constrangimento UNIQUE identifica de forma única cada registo da tabela da base de dados (não permite que o valor se repita). Tem o mesmo efeito prático da PRIMARY KEY. CREATE TABLE student ( studID INT , name VARCHAR(30) , address VARCHAR(40) , CONSTRAINT un_nomeConstricao UNIQUE ( studID ) ) ENGINE = InnoDB ; Obs 1) O constrangimento PRIMARY KEY implementa automaticamente este UNIQUE; Obs 2) Podemos ter vários campos com o constrangimento UNIQUE. Nota: un_nomeConstricao é o nome do constraint. Tipicamente tem um prefixo (nn, un, pk, fk,ck), seguido de underscore e o nome "simbólico" para a regra de constrangimento. Nota2: O MySQL é case sensitive (sensível às maiúsculas) no nome do constraint! nn_nomeConstricao e un_nomeconstricao seriam duas regras de constrangimento diferentes! Marco Pinheiro | twitter.com/marcopinheiro
  175. 175. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: unique (un) O constrangimento UNIQUE identifica de forma única cada registo da tabela da base de dados (não permite que o valor se repita). Tem o mesmo efeito prático da PRIMARY KEY. inline: CREATE TABLE student CREATE TABLE student ( ( studID INT , studID INT UNIQUE , name VARCHAR(30) , name VARCHAR(30) , address VARCHAR(40) , address VARCHAR(40) CONSTRAINT un_nomeConstricao UNIQUE ( studID ) ) ENGINE = InnoDB ; ) ENGINE = InnoDB ; Obs 1) O constrangimento PRIMARY KEY implementa automaticamente este UNIQUE; Obs 2) Podemos ter vários campos com o constrangimento UNIQUE. Nota: un_nomeConstricao é o nome do constraint. Tipicamente tem um prefixo (nn, un, pk, fk,ck), seguido de underscore e o nome "simbólico" para a regra de constrangimento. Nota2: O MySQL é case sensitive (sensível às maiúsculas) no nome do constraint! nn_nomeConstricao e un_nomeconstricao seriam duas regras de constrangimento diferentes! Marco Pinheiro | twitter.com/marcopinheiro
  176. 176. Marco Pinheiro | twitter.com/marcopinheiro
  177. 177. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: primary key (pk) Marco Pinheiro | twitter.com/marcopinheiro
  178. 178. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: primary key (pk) O constrangimento PRIMARY KEY define a chave primária da tabela. O valor introduzido não pode ser nem repetido nem nulo (implementa automaticamente os constrangimentos UNIQUE e NOT NULL). Marco Pinheiro | twitter.com/marcopinheiro
  179. 179. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: primary key (pk) O constrangimento PRIMARY KEY define a chave primária da tabela. O valor introduzido não pode ser nem repetido nem nulo (implementa automaticamente os constrangimentos UNIQUE e NOT NULL). Marco Pinheiro | twitter.com/marcopinheiro
  180. 180. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: primary key (pk) O constrangimento PRIMARY KEY define a chave primária da tabela. O valor introduzido não pode ser nem repetido nem nulo (implementa automaticamente os constrangimentos UNIQUE e NOT NULL). CREATE TABLE student Marco Pinheiro | twitter.com/marcopinheiro
  181. 181. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: primary key (pk) O constrangimento PRIMARY KEY define a chave primária da tabela. O valor introduzido não pode ser nem repetido nem nulo (implementa automaticamente os constrangimentos UNIQUE e NOT NULL). CREATE TABLE student ( Marco Pinheiro | twitter.com/marcopinheiro
  182. 182. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: primary key (pk) O constrangimento PRIMARY KEY define a chave primária da tabela. O valor introduzido não pode ser nem repetido nem nulo (implementa automaticamente os constrangimentos UNIQUE e NOT NULL). CREATE TABLE student ( studID INT AUTO_INCREMENT, Marco Pinheiro | twitter.com/marcopinheiro
  183. 183. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: primary key (pk) O constrangimento PRIMARY KEY define a chave primária da tabela. O valor introduzido não pode ser nem repetido nem nulo (implementa automaticamente os constrangimentos UNIQUE e NOT NULL). CREATE TABLE student ( studID INT AUTO_INCREMENT, name VARCHAR(30) , Marco Pinheiro | twitter.com/marcopinheiro
  184. 184. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: primary key (pk) O constrangimento PRIMARY KEY define a chave primária da tabela. O valor introduzido não pode ser nem repetido nem nulo (implementa automaticamente os constrangimentos UNIQUE e NOT NULL). CREATE TABLE student ( studID INT AUTO_INCREMENT, name VARCHAR(30) , address VARCHAR(40) , Marco Pinheiro | twitter.com/marcopinheiro
  185. 185. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: primary key (pk) O constrangimento PRIMARY KEY define a chave primária da tabela. O valor introduzido não pode ser nem repetido nem nulo (implementa automaticamente os constrangimentos UNIQUE e NOT NULL). CREATE TABLE student ( studID INT AUTO_INCREMENT, name VARCHAR(30) , address VARCHAR(40) , CONSTRAINT pk_nomeConstricao PRIMARY KEY ( studID ) Marco Pinheiro | twitter.com/marcopinheiro
  186. 186. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: primary key (pk) O constrangimento PRIMARY KEY define a chave primária da tabela. O valor introduzido não pode ser nem repetido nem nulo (implementa automaticamente os constrangimentos UNIQUE e NOT NULL). CREATE TABLE student ( studID INT AUTO_INCREMENT, name VARCHAR(30) , address VARCHAR(40) , CONSTRAINT pk_nomeConstricao PRIMARY KEY ( studID ) ) ENGINE = InnoDB ; Marco Pinheiro | twitter.com/marcopinheiro
  187. 187. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: primary key (pk) O constrangimento PRIMARY KEY define a chave primária da tabela. O valor introduzido não pode ser nem repetido nem nulo (implementa automaticamente os constrangimentos UNIQUE e NOT NULL). CREATE TABLE student ( studID INT AUTO_INCREMENT, name VARCHAR(30) , address VARCHAR(40) , CONSTRAINT pk_nomeConstricao PRIMARY KEY ( studID ) ) ENGINE = InnoDB ; O constrangimento PRIMARY KEY implementa automaticamente o UNIQUE. Marco Pinheiro | twitter.com/marcopinheiro
  188. 188. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: primary key (pk) O constrangimento PRIMARY KEY define a chave primária da tabela. O valor introduzido não pode ser nem repetido nem nulo (implementa automaticamente os constrangimentos UNIQUE e NOT NULL). CREATE TABLE student ( studID INT AUTO_INCREMENT, name VARCHAR(30) , address VARCHAR(40) , CONSTRAINT pk_nomeConstricao PRIMARY KEY ( studID ) ) ENGINE = InnoDB ; O constrangimento PRIMARY KEY implementa automaticamente o UNIQUE. Lembra-te: podemos ter vários campos com o constrangimento UNIQUE mas apenas UMA PRIMARY KEY por tabela. Marco Pinheiro | twitter.com/marcopinheiro
  189. 189. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: primary key (pk) O constrangimento PRIMARY KEY define a chave primária da tabela. O valor introduzido não pode ser nem repetido nem nulo (implementa automaticamente os constrangimentos UNIQUE e NOT NULL). inline: CREATE TABLE student CREATE TABLE student ( ( studID INT AUTO_INCREMENT, KEY , studID INT PRIMARY name VARCHAR(30) , name VARCHAR(30) , address VARCHAR(40) , address VARCHAR(40) CONSTRAINT pk_nomeConstricao PRIMARY KEY ( studID ) ) ENGINE = InnoDB ; ) ENGINE = InnoDB ; O constrangimento PRIMARY KEY implementa automaticamente o UNIQUE. Lembra-te: podemos ter vários campos com o constrangimento UNIQUE mas apenas UMA PRIMARY KEY por tabela. Marco Pinheiro | twitter.com/marcopinheiro
  190. 190. Marco Pinheiro | twitter.com/marcopinheiro
  191. 191. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: primary key (pk) Marco Pinheiro | twitter.com/marcopinheiro
  192. 192. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: primary key (pk) CREATE TABLE student ( studID INT UNSIGNED AUTO_INCREMENT , name VARCHAR(30) , address VARCHAR(40) , CONSTRAINT pk_nomeConstricao PRIMARY KEY ( studID ) ); Marco Pinheiro | twitter.com/marcopinheiro
  193. 193. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: primary key (pk) CREATE TABLE student ( studID INT UNSIGNED AUTO_INCREMENT , name VARCHAR(30) , address VARCHAR(40) , CONSTRAINT pk_nomeConstricao PRIMARY KEY ( studID ) ); Marco Pinheiro | twitter.com/marcopinheiro
  194. 194. Marco Pinheiro | twitter.com/marcopinheiro
  195. 195. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: foreign key (fk) Marco Pinheiro | twitter.com/marcopinheiro
  196. 196. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: foreign key (fk) A chave estrangeira (foreign key) é uma cláusula que deve ser incluída quando possuímos duas tabelas relacionadas numa base de dados. Marco Pinheiro | twitter.com/marcopinheiro
  197. 197. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: foreign key (fk) A chave estrangeira (foreign key) é uma cláusula que deve ser incluída quando possuímos duas tabelas relacionadas numa base de dados. Através da chave estrangeira estabelecemos as relações entre duas ou mais tabelas. Marco Pinheiro | twitter.com/marcopinheiro
  198. 198. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: foreign key (fk) A chave estrangeira (foreign key) é uma cláusula que deve ser incluída quando possuímos duas tabelas relacionadas numa base de dados. Através da chave estrangeira estabelecemos as relações entre duas ou mais tabelas. A chave estrangeira desta forma referencía o campo que é chave primária na tabeça relacionada. Marco Pinheiro | twitter.com/marcopinheiro
  199. 199. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: foreign key (fk) A chave estrangeira (foreign key) é uma cláusula que deve ser incluída quando possuímos duas tabelas relacionadas numa base de dados. Através da chave estrangeira estabelecemos as relações entre duas ou mais tabelas. A chave estrangeira desta forma referencía o campo que é chave primária na tabeça relacionada. CREATE TABLE student ( studID INT PRIMARY KEY , name VARCHAR(30) , address VARCHAR(40) , ( Nome_da_Chave ) FOREIGN KEY ( campoChaveEstrangeira ) REFERENCES Nome_outraTabela ) ENGINE = InnoDB ; Marco Pinheiro | twitter.com/marcopinheiro
  200. 200. Marco Pinheiro | twitter.com/marcopinheiro
  201. 201. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: foreign key (fk) Marco Pinheiro | twitter.com/marcopinheiro
  202. 202. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: foreign key (fk) Implementando a chave estrangeira através do método de CONSTRAINT: Marco Pinheiro | twitter.com/marcopinheiro
  203. 203. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: foreign key (fk) Implementando a chave estrangeira através do método de CONSTRAINT: CREATE TABLE student ( studID INT PRIMARY KEY , name VARCHAR(30) , address VARCHAR(40) , class INT , CONSTRAINT fk_nomeConstricao FOREIGN KEY ( CampoChaveEstrangeira ) REFERENCES Nome_outraTabela( Nome_da_Chave ) ) ENGINE = InnoDB ; Marco Pinheiro | twitter.com/marcopinheiro
  204. 204. Marco Pinheiro | twitter.com/marcopinheiro
  205. 205. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: check (ck) Marco Pinheiro | twitter.com/marcopinheiro
  206. 206. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: check (ck) Validação dos valores introduzidos ( “regra de validação” ) Marco Pinheiro | twitter.com/marcopinheiro
  207. 207. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: check (ck) Validação dos valores introduzidos ( “regra de validação” ) Deve ser incluida em campos que estejam DEPOIS da chave primária. Marco Pinheiro | twitter.com/marcopinheiro
  208. 208. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: check (ck) Validação dos valores introduzidos ( “regra de validação” ) Deve ser incluida em campos que estejam DEPOIS da chave primária. Eis um exemplo para uma regra aplicada ao campo class que só aceita turmas com número compreendido entre 1 e 10: Marco Pinheiro | twitter.com/marcopinheiro
  209. 209. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: check (ck) Validação dos valores introduzidos ( “regra de validação” ) Deve ser incluida em campos que estejam DEPOIS da chave primária. Eis um exemplo para uma regra aplicada ao campo class que só aceita turmas com número compreendido entre 1 e 10: CREATE TABLE student ( studID INT PRIMARY KEY , name VARCHAR(30) , address VARCHAR(40) , class INT , CONSTRAINT ck_nomeConstricao CHECK ( class BETWEEN 0 AND 10 ) ) ENGINE = InnoDB ; Marco Pinheiro | twitter.com/marcopinheiro
  210. 210. 2. DDL - Linguagem de Definição de Dados b2) create | constraints: check (ck) Validação dos valores introduzidos ( “regra de validação” ) Deve ser incluida em campos que estejam DEPOIS da chave primária. Eis um exemplo para uma regra aplicada ao campo class que só aceita turmas com número compreendido entre 1 e 10: inline: CREATE TABLE student CREATE TABLE student ( ( studID INT PRIMARY KEY , studID INT PRIMARY KEY , name VARCHAR(30) , name VARCHAR(30) , address VARCHAR(40) , address VARCHAR(40) , class INT , class INT , CONSTRAINT ck_nomeConstricao CHECK CHECK ( class BETWEEN 0 AND 10 ) ( class BETWEEN 0 AND 10 ) ) ENGINE = InnoDB ; ) ENGINE = InnoDB ; Marco Pinheiro | twitter.com/marcopinheiro
  211. 211. Marco Pinheiro | twitter.com/marcopinheiro
  212. 212. alter table Marco Pinheiro | twitter.com/marcopinheiro
  213. 213. 2. DDL - Linguagem de Definição de Dados c) cad - create, alter, drop alter table Marco Pinheiro | twitter.com/marcopinheiro
  214. 214. Marco Pinheiro | twitter.com/marcopinheiro
  215. 215. 2. DDL - Linguagem de Definição de Dados c) ALTER TABLE Marco Pinheiro | twitter.com/marcopinheiro
  216. 216. 2. DDL - Linguagem de Definição de Dados c) ALTER TABLE Após criarmos uma tabela podemos alterar sua estrutura com o uso da cláusula ALTER TABLE. Lembra-te que esta alteração é sempre sobre a estrutura da tabela, e não sobre os dados. Marco Pinheiro | twitter.com/marcopinheiro
  217. 217. 2. DDL - Linguagem de Definição de Dados c) ALTER TABLE Após criarmos uma tabela podemos alterar sua estrutura com o uso da cláusula ALTER TABLE. Lembra-te que esta alteração é sempre sobre a estrutura da tabela, e não sobre os dados. Esta alteração à tabela pode ser efectuada de duas formas: Marco Pinheiro | twitter.com/marcopinheiro
  218. 218. 2. DDL - Linguagem de Definição de Dados c) ALTER TABLE Após criarmos uma tabela podemos alterar sua estrutura com o uso da cláusula ALTER TABLE. Lembra-te que esta alteração é sempre sobre a estrutura da tabela, e não sobre os dados. Esta alteração à tabela pode ser efectuada de duas formas: ou acrescentando um novo campo (utilizando ADD) Marco Pinheiro | twitter.com/marcopinheiro
  219. 219. 2. DDL - Linguagem de Definição de Dados c) ALTER TABLE Após criarmos uma tabela podemos alterar sua estrutura com o uso da cláusula ALTER TABLE. Lembra-te que esta alteração é sempre sobre a estrutura da tabela, e não sobre os dados. Esta alteração à tabela pode ser efectuada de duas formas: ou acrescentando um novo campo (utilizando ADD) ou alterando-se as propriedades de um campo já existente (utilizando-se CHANGE ou MODIFY). Marco Pinheiro | twitter.com/marcopinheiro
  220. 220. 2. DDL - Linguagem de Definição de Dados c) ALTER TABLE Após criarmos uma tabela podemos alterar sua estrutura com o uso da cláusula ALTER TABLE. Lembra-te que esta alteração é sempre sobre a estrutura da tabela, e não sobre os dados. Esta alteração à tabela pode ser efectuada de duas formas: ou acrescentando um novo campo (utilizando ADD) ou alterando-se as propriedades de um campo já existente (utilizando-se CHANGE ou MODIFY). O comando ALTER TABLE tem a seguinte sintaxe (a excepção é para mudar nome a uma tabela >> ALTER TABLE nomeActual RENAME novoNome): Marco Pinheiro | twitter.com/marcopinheiro
  221. 221. 2. DDL - Linguagem de Definição de Dados c) ALTER TABLE Após criarmos uma tabela podemos alterar sua estrutura com o uso da cláusula ALTER TABLE. Lembra-te que esta alteração é sempre sobre a estrutura da tabela, e não sobre os dados. Esta alteração à tabela pode ser efectuada de duas formas: ou acrescentando um novo campo (utilizando ADD) ou alterando-se as propriedades de um campo já existente (utilizando-se CHANGE ou MODIFY). O comando ALTER TABLE tem a seguinte sintaxe (a excepção é para mudar nome a uma tabela >> ALTER TABLE nomeActual RENAME novoNome): ALTER TABLE Nome_Tabela Marco Pinheiro | twitter.com/marcopinheiro
  222. 222. 2. DDL - Linguagem de Definição de Dados c) ALTER TABLE Após criarmos uma tabela podemos alterar sua estrutura com o uso da cláusula ALTER TABLE. Lembra-te que esta alteração é sempre sobre a estrutura da tabela, e não sobre os dados. Esta alteração à tabela pode ser efectuada de duas formas: ou acrescentando um novo campo (utilizando ADD) ou alterando-se as propriedades de um campo já existente (utilizando-se CHANGE ou MODIFY). O comando ALTER TABLE tem a seguinte sintaxe (a excepção é para mudar nome a uma tabela >> ALTER TABLE nomeActual RENAME novoNome): ALTER TABLE Nome_Tabela [ADD Nome_Campo Nova_Regra | nova_regra Marco Pinheiro | twitter.com/marcopinheiro
  223. 223. 2. DDL - Linguagem de Definição de Dados c) ALTER TABLE Após criarmos uma tabela podemos alterar sua estrutura com o uso da cláusula ALTER TABLE. Lembra-te que esta alteração é sempre sobre a estrutura da tabela, e não sobre os dados. Esta alteração à tabela pode ser efectuada de duas formas: ou acrescentando um novo campo (utilizando ADD) ou alterando-se as propriedades de um campo já existente (utilizando-se CHANGE ou MODIFY). O comando ALTER TABLE tem a seguinte sintaxe (a excepção é para mudar nome a uma tabela >> ALTER TABLE nomeActual RENAME novoNome): ALTER TABLE Nome_Tabela [ADD Nome_Campo Nova_Regra | nova_regra MODIFY Nome_Campo NovoTipo ou Nova_Regra Marco Pinheiro | twitter.com/marcopinheiro
  224. 224. 2. DDL - Linguagem de Definição de Dados c) ALTER TABLE Após criarmos uma tabela podemos alterar sua estrutura com o uso da cláusula ALTER TABLE. Lembra-te que esta alteração é sempre sobre a estrutura da tabela, e não sobre os dados. Esta alteração à tabela pode ser efectuada de duas formas: ou acrescentando um novo campo (utilizando ADD) ou alterando-se as propriedades de um campo já existente (utilizando-se CHANGE ou MODIFY). O comando ALTER TABLE tem a seguinte sintaxe (a excepção é para mudar nome a uma tabela >> ALTER TABLE nomeActual RENAME novoNome): ALTER TABLE Nome_Tabela [ADD Nome_Campo Nova_Regra | nova_regra MODIFY Nome_Campo NovoTipo ou Nova_Regra CHANGE Nome_Campo_actual novo_Nome_Campo NovoTipo [e Nova_Regra] Marco Pinheiro | twitter.com/marcopinheiro
  225. 225. 2. DDL - Linguagem de Definição de Dados c) ALTER TABLE Após criarmos uma tabela podemos alterar sua estrutura com o uso da cláusula ALTER TABLE. Lembra-te que esta alteração é sempre sobre a estrutura da tabela, e não sobre os dados. Esta alteração à tabela pode ser efectuada de duas formas: ou acrescentando um novo campo (utilizando ADD) ou alterando-se as propriedades de um campo já existente (utilizando-se CHANGE ou MODIFY). O comando ALTER TABLE tem a seguinte sintaxe (a excepção é para mudar nome a uma tabela >> ALTER TABLE nomeActual RENAME novoNome): ALTER TABLE Nome_Tabela [ADD Nome_Campo Nova_Regra | nova_regra MODIFY Nome_Campo NovoTipo ou Nova_Regra CHANGE Nome_Campo_actual novo_Nome_Campo NovoTipo [e Nova_Regra] DROP Nome_Campo | RegraConstraint Marco Pinheiro | twitter.com/marcopinheiro
  226. 226. 2. DDL - Linguagem de DefiniçÀ
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×