You are on page 1of 11

Que es MYSQL?

Con PHP, usted puede conectarse y manipular bases de datos.
MySQL es el sistema de base de datos más popular usado con PHP.
¿Qué es MySQL?
MySQL es un sistema de base de datos utilizado en la eb
MySQL es un sistema de base de datos !ue se e"ecuta en un ser#idor
MySQL es ideal para aplicaciones pe!ue$as y %randes
MySQL es muy rápido, &able y 'ácil de usar
MySQL soporta el estándar SQL
MySQL se compila en un n(mero de plata'ormas
MySQL es %ratuito para descar%ar y usar
MySQL es desarrollado, distribuido y mantenido por )racle Corporation
MySQL es el nombre de la *i"a co+'undador Monty ,idenius- Mi
Los datos en MySQL se almacena en las tablas. .na tabla es una colecci/n de
datos relacionados, y consiste en columnas y &las.
Las bases de datos son (tiles cuando se almacena in'ormaci/n
cate%/ricamente. .na empresa puede tener una base de datos con las
si%uientes tablas-
0mpleados
Productos
Clientes
1rdenes
PHP 2 MySQL
PHP combinada con MySQL son multiplata'orma 3se puede desarrollar en
,indos y ser#ir en una plata'orma .ni45
consultas
.na consulta es una pre%unta o una solicitud.
Podemos consultar una base de datos para obtener in'ormaci/n espec6&ca y
tener un con"unto de re%istros de#ueltos.
Mira la si%uiente consulta 3mediante SQL estándar5-
S0L0C7 Last8ame 9:)M 0mpleados
La consulta anterior selecciona todos los datos en el ;<pellido; columna de la
tabla ;0mpleados;.
1` COMO CONNECTARTE A UNA BASE DE DATOS USANDO PHP
.tilice el mys!li=connect PHP 35 para abrir una nue#a cone4i/n con el ser#idor
MySQL.
<bra una cone4i/n con el ser#idor MySQL
<ntes de poder acceder a los datos en una base de datos, debe abrir una
cone4i/n con el ser#idor MySQL.
0n PHP, esto se *ace con el mys!li=connect 35 la 'unci/n.
sinta4is
mys!li=connect 3*ost, nombre de usuario, contrase$a, dbname5>
?escripci/n de los parámetros
*ost opcional. @a sea un nombre de *ost o una direcci/n AP
nombre de usuario opcional. 0l nombre de usuario MySQL
contrase$a opcional. La contrase$a para iniciar sesi/n con
dbname 9acultati#o. La base de datos predeterminada !ue se utilizará al
realizar consultas
8ota- Hay más parámetros disponibles, pero los mencionados son los más
importantes.
0n el si%uiente e"emplo almacenar la cone4i/n en una #ariable 3B con5 para su
uso posterior en la secuencia de comandos-
C? p*p
DDCrear cone4i/n
Bcon E mys!li=connect3;e4ample.com;, ;peter;, ;abcFGH;, ;my=db;5>
DD Comprobar la cone4i/n
i' 3mys!li=connect=errno 3B con55
I
ec*o ;8o se pudo conectar a MySQL- ; . mys!li=connect=error 35>
J
?K
Cierre de una cone4i/n
La cone4i/n se cerrará automáticamente cuando el pro%rama termina. Para
cerrar la cone4i/n anterior, utilice el mys!li=close 35 'unci/n-
C? p*p
BconEmys!li=connect 3;e4ample.com;, ;peter;, ;abcFGH;, ;my=db;5>
DD Comprobar la cone4i/n
i' 3mys!li=connect=errno3Bcon55
I
ec*o ;8o se pudo conectar a MySQL- ; . mys!li=connect=error 35>
J
mys!li=close3Bcon5>
?K
2` Crear base de datos tab!as
Crear una base de datos
La instrucci/n C:0<70 ?<7<L<S0 se utiliza para crear una tabla de base de
datos en MySQL.
Hay !ue a$adir la instrucci/n C:0<70 ?<7<L<S0 con la mys!li=!uery 35 para
e"ecutar el comando.
0n el e"emplo si%uiente, se crea una base de datos llamada ;my=db;-
C?p*p
BconEmys!li=connect3;e4ample.com;,;peter;,;abcFGH;5>
DD C*ecM connection
i' 3mys!li=connect=errno355
I
ec*o ;9ailed to connect to MySQL- ; . mys!li=connect=error35>
J
DD Create database
Bs!lE;C:0<70 ?<7<L<S0 my=db;>
i' 3mys!li=!uery3Bcon,Bs!l55
I
ec*o ;?atabase my=db created success'ully;>
J
else
I
ec*o ;0rror creatin% database- ; . mys!li=error35>
J
?K
KKKKK C:0<: .8< 7<LL< CCCCC
Crear una tabla
La instrucci/n C:0<70 7<LL0 se utiliza para crear una tabla en MySQL.
Hay !ue a$adir la sentencia C:0<70 7<LL0 para la mys!li=!uery 35 para
e"ecutar el comando.
0l e"emplo si%uiente crea una tabla denominada ;Personas;, con tres columnas.
Los nombres de columna será ;8ombre;, ;<pellido; y ;0dad;-
C?p*p
BconEmys!li=connect3;e4ample.com;,;peter;,;abcFGH;,;my=db;5>
DD C*ecM connection
i' 3mys!li=connect=errno355
I
ec*o ;9ailed to connect to MySQL- ; . mys!li=connect=error35>
J
DD Create table
Bs!lE;C:0<70 7<LL0 persons39irstname CH<:3HN5,Lastname CH<:3HN5,<%e
A875;>
DD 04ecute !uery
i' 3mys!li=!uery3Bcon,Bs!l55
I
ec*o ;7able persons created success'ully;>
J
else
I
ec*o ;0rror creatin% table- ; . mys!li=error35>
J
?K
KKKKKK 0O7:< CCCCC
Cla#es principales y campos de incremento automático
Cada tabla de una base de datos debe tener un campo cla#e principal.
.na cla#e principal se utiliza para identi&car de 'orma (nica las &las de una
tabla. Cada #alor de la cla#e principal deben ser (nicos dentro de la tabla. Por
otra parte, el campo de cla#e principal no puede ser nulo por!ue el motor de
base de datos re!uiere un #alor para localizar el re%istro.
0n el e"emplo si%uiente se establece el campo PA? como el campo de cla#e
principal. 0l campo de cla#e principal es a menudo un n(mero de
identi&caci/n, y se utiliza a menudo con el a"uste <.7)=A8C:0M087.
<.7)=A8C:0M087 aumenta automáticamente el #alor del campo en F cada #ez
!ue un nue#o re%istro se a$ade. Para ase%urarse de !ue el campo de cla#e
principal no puede ser nulo, *ay !ue a$adir el #alor 8) 8.LL al campo-
Bs!l E ;C:0<70 7<LL0 Persons
3
PA? A87 8)7 8.LL <.7)=A8C:0M087,
P:AM<:@ P0@3PA?5,
9irstname CH<:3FQ5,
Lastname CH<:3FQ5,
<%e A87
5;>
"` Co#o $%sertar re&$stros e% u%a base de datos
La A8S0:7 A87) se utiliza para insertar nue#os re%istros en una tabla.
Ansertar datos en una tabla de base de datos
La A8S0:7 A87) se utiliza para a%re%ar nue#os re%istros a una tabla de base de
datos.
sinta4is
0s posible escribir la instrucci/n A8S0:7 A87) en dos 'ormas.
La primera 'orma no especi&ca los nombres de las columnas en !ue los datos
se insertarán, s/lo sus #alores-
A8S0:7 A87) table=name
R<L.0S 3#alueF, #alueG, #alueH,...5
La se%unda 'orma especi&ca tanto los nombres de columna y los #alores !ue se
insertan-
A8S0:7 A87) table=name 3columnF, columnG, columnH,...5
R<L.0S 3#alueF, #alueG, #alueH,...5
KKKKKK 0"emplo CCCCCCCC
0n el cap6tulo anterior *emos creado una tabla llamada ;Personas;, con tres
columnas- ;8ombre;, ;<pellido; y ;0dad;. Ramos a utilizar la misma tabla en
este e"emplo. 0l e"emplo si%uiente a$ade dos nue#os re%istros a la ;Personas;
tabla-
C?p*p
BconEmys!li=connect3;e4ample.com;,;peter;,;abcFGH;,;my=db;5>
DD C*ecM connection
i' 3mys!li=connect=errno355
I
ec*o ;9ailed to connect to MySQL- ; . mys!li=connect=error35>
J
mys!li=!uery3Bcon,;A8S0:7 A87) Persons 39irst8ame, Last8ame, <%e5
R<L.0S 3SPeterS, STriUnS,HQ5;5>
mys!li=!uery3Bcon,;A8S0:7 A87) Persons 39irst8ame, Last8ame, <%e5
R<L.0S 3STlennS, SQua%mireS,HH5;5>
mys!li=close3Bcon5>
?K
'` Co#o se!e(($o%ar data e% u%a base de datos
La instrucci/n S0L0C7 se utiliza para seleccionar datos de una base de datos.
Seleccionar datos de una tabla de base de datos
La instrucci/n S0L0C7 se utiliza para seleccionar datos de una base de datos.
S0L0C7 column=name3s5
9:)M table=name
KKKKKK 0"emplo CCCCCC
0l e"emplo si%uiente selecciona todos los datos almacenados en el ;Personas;
de mesa 30l carácter V selecciona todos los datos de la tabla5-
C?p*p
BconEmys!li=connect3;e4ample.com;,;peter;,;abcFGH;,;my=db;5>
DD C*ecM connection
i' 3mys!li=connect=errno355
I
ec*o ;9ailed to connect to MySQL- ; . mys!li=connect=error35>
J
Bresult E mys!li=!uery3Bcon,;S0L0C7 V 9:)M Persons;5>
*ile3Bro E mys!li='etc*=array3Bresult55
I
ec*o BroWS9irst8ameSX . ; ; . BroWSLast8ameSX>
ec*o ;;>
J
mys!li=close3Bcon5>
?K
0l e"emplo anterior almacena los datos de#ueltos por el mys!l=!uery 35 en la
#ariable B result.
< continuaci/n, se utiliza el mys!li='etc*=array 35 para de#ol#er la primera &la
del con"unto de re%istros como un array. Cada llamada a mys!li='etc*=array 35
de#uel#e la si%uiente &la del con"unto de re%istros. 0l bucle *ile bucle a
tra#és de todos los re%istros del con"unto de re%istros. Para imprimir el #alor de
cada &la, se utiliza la #ariable de PHP B &la 3B ro WS8ombreSX y B ro
W;Last8ame;K5.
La salida del c/di%o anterior será-
Peter TriUn
Tlenn Qua%mire
)` Co#o *!trar !os re&$stros
La cláusula ,H0:0 se utiliza para &ltrar los re%istros.
La cláusula ,H0:0
La cláusula ,H0:0 se utiliza para e4traer s/lo a!uellos re%istros !ue cumplan
un criterio determinado.
Sinta4is
S0L0C7 column=name3s5
9:)M table=name
,H0:0 column=name operator #alue
KKKKK 0Y0MPL) CCCCCC
0l si%uiente e"emplo selecciona todas las &las de la ;Personas; tabla donde
;8ombre E SPeterS;-
C?p*p
BconEmys!li=connect3;e4ample.com;,;peter;,;abcFGH;,;my=db;5>
DD C*ecM connection
i' 3mys!li=connect=errno355
I
ec*o ;9ailed to connect to MySQL- ; . mys!li=connect=error35>
J
Bresult E mys!li=!uery3Bcon,;S0L0C7 V 9:)M Persons
,H0:0 9irst8ameESPeterS;5>
*ile3Bro E mys!li='etc*=array3Bresult55
I
ec*o BroWS9irst8ameSX . ; ; . BroWSLast8ameSX>
ec*o ;;>
J
?K
La salida del c/di%o anterior será-
Peter TriUn
+` Co#o orde%ar !os re&$stros e% u%a base de datos
La palabra cla#e ):?0: L@ se utiliza para ordenar los datos de un con"unto de
re%istros.
La palabra cla#e ):?0: L@
La palabra cla#e ):?0: L@ se utiliza para ordenar los datos de un con"unto de
re%istros.
La palabra cla#e ):?0: L@ ordenar los re%istros en orden ascendente por
de'ecto.
Si desea ordenar los re%istros en orden descendente, se puede utilizar la
palabra cla#e ?0SC.
Sinta4is
S0L0C7 column=name3s5
9:)M table=name
):?0: L@ column=name3s5 <SCZ?0SC
0"emplo
0l e"emplo si%uiente selecciona todos los datos almacenados en el ;Personas;
de mesa, y ordena el resultado en la ;0ra; de la columna-
C?p*p
BconEmys!li=connect3;e4ample.com;,;peter;,;abcFGH;,;my=db;5>
DD C*ecM connection
i' 3mys!li=connect=errno355
I
ec*o ;9ailed to connect to MySQL- ; . mys!li=connect=error35>
J
Bresult E mys!li=!uery3Bcon,;S0L0C7 V 9:)M Persons ):?0: L@ a%e;5>
*ile3Bro E mys!li='etc*=array3Bresult55
I
ec*o BroWS9irst8ameSX>
ec*o ; ; . BroWSLast8ameSX>
ec*o ; ; . BroWS<%eSX>
ec*o ;;>
J
mys!li=close3Bcon5>
?K
La salida del c/di%o anterior será-
Tlenn Qua%mire HH
Peter TriUn HQ
,` Co#o a(tua!$-ar re&$stros
<ctualizar datos en una base de datos
La instrucci/n .P?<70 se utiliza para actualizar los re%istros e4istentes en una
tabla.
Sinta4is
.P?<70 table=name
S07 columnFE#alue, columnGE#alueG,...
,H0:0 some=columnEsome=#alue
8ota- )bser#e la cláusula ,H0:0 en la sinta4is .P?<70. La cláusula ,H0:0
especi&ca el re%istro o re%istros !ue deben ser actualizados. Si se omite la
cláusula ,H0:0, todos los re%istros serán actualizados[
Para obtener PHP para e"ecutar la instrucci/n anterior se debe utilizar el
mys!li=!uery 35 'unci/n. 0sta 'unci/n se utiliza para en#iar una consulta o un
comando a una cone4i/n de MySQL.
KKKKKK 0"emplo CCCCCCCC
<nteriormente en el tutorial creamos una tabla llamada ;Personas;. <s6 es
como se #e-
8ombre <pellido 0dad
+++++++++++++++++++++++++
Peter Z TriUn Z HQ
Tlenn Z Qua%mire Z HH
+++++++++++++++++++++++++
0l e"emplo si%uiente actualiza al%unos datos de la secci/n ;Personas; tabla-
C?p*p
BconEmys!li=connect3;e4ample.com;,;peter;,;abcFGH;,;my=db;5>
DD C*ecM connection
i' 3mys!li=connect=errno355
I
ec*o ;9ailed to connect to MySQL- ; . mys!li=connect=error35>
J
mys!li=!uery3Bcon,;.P?<70 Persons S07 <%eEH\
,H0:0 9irst8ameESPeterS <8? Last8ameESTriUnS;5>
mys!li=close3Bcon5>
?K
?espués de la actualizaci/n, la tabla ;Personas; se #erá as6-
8ombre <pellido 0dad
+++++++++++++++++++++++++
Peter Z TriUn Z H\
Tlenn Z Qua%mire Z HH
+++++++++++++++++++++++++
.` Co#o borrar re&$stros de u%a base de datos
La sentencia ?0L070 se utiliza para eliminar re%istros de una tabla.
0liminar datos de una base de datos
0l comando ?0L070 9:)M se utiliza para eliminar re%istros de una tabla de
base de datos.
Sinta4is
?0L070 9:)M table=name
,H0:0 some=column E some=#alue
8ota- )bser#e la cláusula ,H0:0 en la sinta4is ?0L070. La cláusula ,H0:0
especi&ca el re%istro o re%istros !ue se deben eliminar. Si se omite la cláusula
,H0:0, todos los re%istros serán borrados[
Para obtener PHP para e"ecutar la instrucci/n anterior se debe utilizar el
mys!li=!uery 35 'unci/n. 0sta 'unci/n se utiliza para en#iar una consulta o un
comando a una cone4i/n de MySQL.
KKKKKKKK 0"emplo CCCCCCCCCCCCCCCC
Mira el si%uiente ;Personas; tabla-
8ombre <pellido 0dad
+++++++++++++++++++++++++
Peter Z TriUn Z H\
Tlenn Z Qua%mire Z HN
+++++++++++++++++++++++++
0l e"emplo si%uiente elimina todos los re%istros de la ;Personas; tabla ,H0:0
Last8ame E STriUnS-
C?p*p
BconEmys!li=connect3;e4ample.com;,;peter;,;abcFGH;,;my=db;5>
DD C*ecM connection
i' 3mys!li=connect=errno355
I
ec*o ;9ailed to connect to MySQL- ; . mys!li=connect=error35>
J
mys!li=!uery3Bcon,;?0L070 9:)M Persons ,H0:0 Last8ameESTriUnS;5>
mys!li=close3Bcon5>
?K
?espués de la eliminaci/n, la tabla se #erá as6-
+++++++++++++++++++++++++
Tlenn Z Qua%mire Z HN
+++++++++++++++++++++++++
Que ten%an un buen dia