Diferència entre revisions de la pàgina «SQL creacio»

De Cacauet Wiki
Salta a la navegació Salta a la cerca
(create database per comanda SQL)
(seccions creació ampliada i importació separades)
Línia 1: Línia 1:
 +
Crearem la base de dades "mundo" com a exemple. L'arxiu amb les dades el teniu aquí: [[Fitxer:mundo.sql]], més avall trobareu com importar-lo dins d'una base de dades prèviament creada.
 +
 +
És interessant tenir en compte que '''en alguns sistemes amb permisos restringits (la majoria de ''hostings'')''' no podem crear bases de dades amb el nom que vulguem. '''Caldrà que creem la base de dades amb el nostre nom d'usuari com a prefix'''. Per exemple, en el meu cas hauria de crear una base de dades amb el nom "enric_mundo" o obtindria un error com aquest.
 +
mysql> create database mundo;
 +
ERROR 1044 (42000): Access denied for user 'enric'@'localhost' to database 'mundo'
 +
Utilitzant el prefix, tot funciona:
 +
mysql> create database enric_mundo;
 +
Query OK, 1 row affected (0.02 sec)
 +
 +
Esteu advertits :) Així, entrem en matèria:
 +
 +
 +
== Creació de bases de dades ==
 +
Tenim 3 mètodes per fer-ho:
 +
* Amb la comanda linux ''mysqladmin''
 +
* Amb la consola del client mysql (consola per executar comandes SQL dins de la base de dades).
 +
* Amb ''phpmyadmin''
 +
 +
 +
=== Creació de bases de dades amb mysqladmin ===
 +
 +
La comanda Linux ''mysqladmin'' té aquesta sintaxi:
 +
$ mysqladmin -u <usuari> -p -h <host_ip> create <nom_base_de_dades>
 +
Pel nostre cas concret (en host local, no cal el paràmetre -h), serà:
 +
$ mysqladmin -u <usuari> -p create mundo
 +
Si no diu res, és que tot ha anat bé. Si voleu comprovar si la base s'ha creat correctament, mireu la següent secció amb la consola mysql i la comanda "show databases".
 +
 +
L'avantatge d'aquest mètode és que no necessita que entrem a la consola de mysql.
 +
 +
 +
=== Creació de bases de dades amb la consola mysql ===
 +
Per entrar a la consola mysql, anem a la consola linux i posem:
 +
$ mysql -u <usuari> -p
 +
 +
El "prompt" que sol ser un dòlar "$", ara ha canviat a "mysql>".
 +
'''Des d'aquesta consola podem introduir comandes SQL (sempre acaben amb un punt i coma)'''.
 +
 +
La comanda que necessitem és la "create database" amb la següent sintaxi:
 +
mysql> create database <nom_bbdd>;
 +
 +
I pel nostre cas concret serà:
 +
mysql> create database mundo;
 +
mysql> show databases;
 +
...
 +
mysql> exit;
 +
 +
Fixeu-vos que la comanda SQL "show databases;" ens mostra les bases de dades que tenim disponibles. Això ens donarà un resultat més o menys com aquest:
 +
mysql> show databases;
 +
+--------------------+
 +
| Database          |
 +
+--------------------+
 +
| information_schema |
 +
| enric_samye        |
 +
| enric_wiki1        |
 +
+--------------------+
 +
3 rows in set (0.02 sec)
 +
 +
mysql>
 +
 +
...i podem seguir teclejant comandes SQL.
 +
 +
 +
=== Creació de bases de dades amb phpmyadmin ===
 +
Apunteu el vostre navegador a:
 +
<nowiki>http://<nom_del_servidor>/phpmyadmin</nowiki>
 +
entreu amb el vostre usuari i contrasenya i seguiu els menús... és molt fàcil!!
 +
 +
 +
 
== Importació de dades ==
 
== Importació de dades ==
 
Utilitzarem l'exemple per les consultes "mundo.sql".
 
Utilitzarem l'exemple per les consultes "mundo.sql".
Línia 17: Línia 86:
 
Pel nostre cas concret (en host local, no cal el paràmetre -h), serà:
 
Pel nostre cas concret (en host local, no cal el paràmetre -h), serà:
 
  $ mysqladmin -u <usuari> -p create mundo
 
  $ mysqladmin -u <usuari> -p create mundo
També tenim un mètode alternatiu, entrant a la consola de mysql amb el client i utilitzant la '''comanda SQL "create database <nom_bbdd>;"''':
 
$ mysql -u <usuari> -p
 
mysql> create database mundo;
 
mysql> show databases;
 
mysql> exit;
 
 
Fixeu-vos que la comanda SQL "show databases" ens mostra les bases de dades que tenim disponibles.
 
  
 
*'''Importar les dades''' de l'arxiu .SQL a dins de la nova base de dades creada.
 
*'''Importar les dades''' de l'arxiu .SQL a dins de la nova base de dades creada.
 
**Situeu-vos al directori on teniu l'arxiu "mundo.sql"
 
**Situeu-vos al directori on teniu l'arxiu "mundo.sql"
 
**La comanda és el client de MySQL que se sol utilitzar també per consola, i li redirigirem l'arxiu .SQL amb el "<". Aquesta comanda té la següent sintaxi:
 
**La comanda és el client de MySQL que se sol utilitzar també per consola, i li redirigirem l'arxiu .SQL amb el "<". Aquesta comanda té la següent sintaxi:
**: $ mysql -u <usuari> -p <nom_base_de_dades> '''<''' <nom_arxiu.sql>
+
$ mysql -u <usuari> -p <nom_base_de_dades> '''<''' <nom_arxiu.sql>
 
**Pel nostre cas concret, la comanda serà:
 
**Pel nostre cas concret, la comanda serà:
 
  $ mysql -u <usuari> -p mundo < mundo.sql
 
  $ mysql -u <usuari> -p mundo < mundo.sql
 
D'aquesta manera introduireu les instruccions SQL sobre la base de dades, creant les taules pertinents.
 
D'aquesta manera introduireu les instruccions SQL sobre la base de dades, creant les taules pertinents.

Revisió del 19:21, 22 nov 2010

Crearem la base de dades "mundo" com a exemple. L'arxiu amb les dades el teniu aquí: Fitxer:Mundo.sql, més avall trobareu com importar-lo dins d'una base de dades prèviament creada.

És interessant tenir en compte que en alguns sistemes amb permisos restringits (la majoria de hostings) no podem crear bases de dades amb el nom que vulguem. Caldrà que creem la base de dades amb el nostre nom d'usuari com a prefix. Per exemple, en el meu cas hauria de crear una base de dades amb el nom "enric_mundo" o obtindria un error com aquest.

mysql> create database mundo;
ERROR 1044 (42000): Access denied for user 'enric'@'localhost' to database 'mundo'

Utilitzant el prefix, tot funciona:

mysql> create database enric_mundo;
Query OK, 1 row affected (0.02 sec)

Esteu advertits :) Així, entrem en matèria:


Creació de bases de dades

Tenim 3 mètodes per fer-ho:

  • Amb la comanda linux mysqladmin
  • Amb la consola del client mysql (consola per executar comandes SQL dins de la base de dades).
  • Amb phpmyadmin


Creació de bases de dades amb mysqladmin

La comanda Linux mysqladmin té aquesta sintaxi:

$ mysqladmin -u <usuari> -p -h <host_ip> create <nom_base_de_dades>

Pel nostre cas concret (en host local, no cal el paràmetre -h), serà:

$ mysqladmin -u <usuari> -p create mundo

Si no diu res, és que tot ha anat bé. Si voleu comprovar si la base s'ha creat correctament, mireu la següent secció amb la consola mysql i la comanda "show databases".

L'avantatge d'aquest mètode és que no necessita que entrem a la consola de mysql.


Creació de bases de dades amb la consola mysql

Per entrar a la consola mysql, anem a la consola linux i posem:

$ mysql -u <usuari> -p

El "prompt" que sol ser un dòlar "$", ara ha canviat a "mysql>". Des d'aquesta consola podem introduir comandes SQL (sempre acaben amb un punt i coma).

La comanda que necessitem és la "create database" amb la següent sintaxi:

mysql> create database <nom_bbdd>;

I pel nostre cas concret serà:

mysql> create database mundo;
mysql> show databases;
...
mysql> exit;

Fixeu-vos que la comanda SQL "show databases;" ens mostra les bases de dades que tenim disponibles. Això ens donarà un resultat més o menys com aquest:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| enric_samye        |
| enric_wiki1        |
+--------------------+
3 rows in set (0.02 sec)

mysql> 

...i podem seguir teclejant comandes SQL.


Creació de bases de dades amb phpmyadmin

Apunteu el vostre navegador a:

http://<nom_del_servidor>/phpmyadmin

entreu amb el vostre usuari i contrasenya i seguiu els menús... és molt fàcil!!


Importació de dades

Utilitzarem l'exemple per les consultes "mundo.sql".

Importació amb phpmyadmin

  1. Crear una base de dades buida
  2. Descarregar l'arxiu Fitxer:Mundo.sql
  3. Anar al menú "importar"
  4. Seleccionar l'arxiu "mundo.sql" descarregat.
  5. Prémer "executar".


Importació per línia de comandes (Linux)

  • Descarregueu-vos l'arxiu Fitxer:Mundo.sql i deseu-lo en un directori conegut
  • Creeu la base de dades "mundo". Per fer això podeu fer-ho entrant al mysql o bé amb la comanda mysqladmin des de la línia de comandes de Linux. La sintaxi general de mysqladmin és aquesta:
    $ mysqladmin -u <usuari> -p -h <host_ip> create <nom_base_de_dades>

Pel nostre cas concret (en host local, no cal el paràmetre -h), serà:

$ mysqladmin -u <usuari> -p create mundo
  • Importar les dades de l'arxiu .SQL a dins de la nova base de dades creada.
    • Situeu-vos al directori on teniu l'arxiu "mundo.sql"
    • La comanda és el client de MySQL que se sol utilitzar també per consola, i li redirigirem l'arxiu .SQL amb el "<". Aquesta comanda té la següent sintaxi:
$ mysql -u <usuari> -p <nom_base_de_dades> < <nom_arxiu.sql>
    • Pel nostre cas concret, la comanda serà:
$ mysql -u <usuari> -p mundo < mundo.sql

D'aquesta manera introduireu les instruccions SQL sobre la base de dades, creant les taules pertinents.