Descargaremos el *.exe desde la web de postgres link de descarga>> php con postgres desde windows. Luego de descargar lo ejecutamos e instalamos normal, mostrare algunas imágenes de la instalación:
Name: postgres
Passwd: el q tu quieras
Aqui seleccionas ApachePHP y phpPgAdmin.
Luego de esta imagen que esta arriba aparecerán las opciones de instalar los paquetes que tu seleccionaste para tu uso
Fin de la instalacion!!!, ahora a trabajar con lo que nos interesa q es sobre este curso en php con postgres en windows
Abriremos la consola de windows(CMD), ejecutar >>CMD, y ubiquemos en la carpeta donde instalaron postgresql ,en mi caso yo instale en "C:\Archivos de programa\", luego nos ubicamos en "postgresql\bin"
q seria en C:\Archivos de programa\postgresql\bin.
Los archivos que aparescan con *.exe en esta carpeta, les puede solicitar la ayuda para poder usarlos,
ejemplo
POSTGRESQL EN WINDOWS
C:\Archivos de programa\postgresql\bin>createuser.exe --help
createuser crea un nuevo rol de PostgreSQL.
Empleo:
createuser [OPCIÓN]... [ROL]
Opciones:
-c, --connection-limit=N límite de conexiones para el rol
(predeterminado: sin límite)
-d, --createdb el rol podrá crear bases de datos
-D, --no-createdb el rol no podrá crear bases de datos
-e, --echo mostrar las órdenes a medida que se ejecutan
-E, --encrypted almacenar la constraseña cifrada
-i, --inherit el rol heredará los privilegios de los roles
los cuales es miembro (predeterminado)
-I, --no-inherit rol no heredará privilegios
-l, --login el rol podrá conectarse (predeterminado)
-L, --no-login el rol no podrá conectarse
-N, --unencrypted almacenar la contraseña sin cifrar
-P, --pwprompt asignar una contraseña al nuevo rol
-r, --createrole el rol podrá crear otros roles
-R, --no-createrole el rol no podrá crear otros roles
-s, --superuser el rol será un superusuario
-S, --no-superuser el rol no será un superusuario
--help desplegar esta ayuda y salir
--version desplegar información de versión y salir
Opciones de conexión:
-h, --host=ANFITRIÓN nombre del servidor o directorio del socket
-p, --port=PUERTO puerto del servidor
-U, --username=NOMBRE nombre de usuario con el cual conectarse
(no el usuario a crear)
-w, --no-password nunca pedir contraseña
-W, --password forzar la petición de contraseña
Si no se especifican -d, -D, -r, -R, -s, -S o el ROL, se preguntará
interactivamente.
Ahora a crear nuestro usuario para trabajar este curso php con postgres
1. Crear usuario en la postgres
C:\Archivos de programa\postgresql\bin>createuser -U postgres -P alfo
Enter password for new user:
Enter it again:
Shall the new user be allowed to create databases? (y/n) y
Shall the new user be allowed to create more new users? (y/n) y
Password:
2. Crear base de datos desde la consola windows, Base de datos "escuela"
C:\Archivos de programa\postgresql\bin>createdb.exe -h 127.0.0.1 -U alfo escuela
Password:
3. Entrar a la DB creada, DB escuela
C:\Archivos de programa\postgresql\bin> psql.exe -d escuela -U postgres -W
o puedes usar tu usuario creado
C:\Archivos de programa\postgresql\bin> psql.exe -d escuela -U alfo -W
escuela=#
4. Una vez adentro, podes ejecutar el comand de ayuda
escuela=#\h
5. Para movernos de por varias DB, podemos usar el comando
escuela=#\c tienda
password:
Ahora está conectado a la base de datos «tienda».
tienda=#
Al crear una tabla, debemos de saber q tipo de registros vamos a usar, por ejemplo
si es solo nombre podemos usar char, si es numero numeric, si es combinacion de numero alphanumerico,
si queremos q se autoincremente usamos autoincrementent.
Nota: En algunos lenguajes sql cambia la sintaxis, busquen los tipos de registros para postgresql
De este modo, para crear una tabla es necesario definir el tipo de información que se almacenara en cada columna. PgSQL posee varios tipos de datos, los más usados son:
* VARCHAR(n) Almacena cadena de caracteres de longitud variable, de longitud máxima n.
* CHAR(n). Almacena cadena de caracteres de longitud fija, de longitud n.
* INTEGER. Almacena números enteros como 2,33,107,15228, etc.
* NUMERIC. Almacena números enteros y decimales.
* DATE, almacena fechas.
* FLOAT: numérico con signo de doble palabra y coma flotante.
* TEXT. Guarda textos largos.
* SERIAL. Crea una secuencia y la asigna a una columna como llave de la tabla.
Para crear una tabla se usa el comando “CREATE TABLE nombre_de_tabla”. Por ejemplo, vamos a crear la tabla empleados. Corte y pegue las siguientes lineas :
CREATE TABLE empleados (
id serial, --Indice de la tabla
nombre varchar(50), --nombre del empleado
rfc varchar(20) UNIQUE, --registro de hacienda del empleado
fechac date, --fecha de nacimiento del empleado
sucursal varchar(30), --sucursal donde labora
sueldo money NOT NULL --Sueldo
);
Apliquemos lo antes visto
6. Crear tablas en DB
escuela=# create table profesores (
Nombre char(20),apellido char(20),asignatura char(20), telefono numeric(8));
CREATE TABLE
7. Como puedo ver las tablas que tiene una base de datos??
con el comando "\dt"
ejemplo
escuela=# \dt
Listado de relaciones
Schema | Nombre | Tipo | Dueño
--------+----------------------+-------+----------
public | Profesores | tabla | postgres
public | alumnos | tabla | postgres
public | Mantenimiento | tabla | postgres
public | biblioteca | tabla | postgres
public | aranceles | tabla | postgres
8. una vez creadas las tablas, podemos ver lo q tiene cada una de ellas en su registro
escuela=# select * from profesores;
Nombre | apellido | asignatura | telefono
-------+--------------+--------------+------------
9. Usando la sentencia
INSERT INTO tabla (columna1, columna2) VALUES ('valor uno', 'valor dos'); o podemos
INSERT INTO tabla VALUES ('valor uno', 'valor dos');
podemos insertar los registros en las tablas
escuela=# insert into profesores (nombre, apellido, telefono) values ('Juan Jose','Perez Soza','26563145');
INSERT 0 3
como ven en este ejemplo no hemos insertado asignatura, miramos la tabla y aparecera esto
escuela=# select * from profesores;
Nombre | apellido | asignatura | telefono
---------+--------------+--------------+------------
Juan Jose Perez Soza 26563145
Tambien podemos insertar registros sin omitir ningun campo
escuela=# INSERT INTO profesores VALUES ('Fred','Quarry ','fisico','25686945');
INSERT 0 4
miramos la tabla y aparecera esto
escuela=# select * from profesores;
Nombre | apellido | asignatura | telefono
---------+--------------+--------------+------------
Juan Jose Perez Soza 26563145
Fred Quarry fisico 25686945);
PHP CON POSTGRES EN WINDOWS
10. Ahora nos iremos a nuestro server apache, en donde el directorio de www en mi caso se encuentra en "C:\AppServ\apache\www\" .
Ahora crearemos un archivo en ese directorio con un click derecho >> Nuevo >> Documento Text
Lo renombraremos "conex.php" y lo abriremos con el "WORDPAD"
<?php
// conex.php
$user = 'alfo';
$passwd = '123456';
$db = 'escuela';
$port = 5432;
$host = '127.0.0.1';
$strCnx = "host=$host port=$port dbname=$db user=$user password=$passwd";
?>
Crearemos otro para hacer la consulta desde php con postgres
"consulta.php"
<?php
//
consulta.php
include "C:\AppServ\apache\www\conex.php";
$con = pg_connect ($strCnx) or die ("Error de conexion.". pg_last_error());
echo "conexion exitosa <hr>";
echo "curso en php con postgres en windows <hr>";
$resultado = pg_query($con, "SELECT * FROM profesores");
if (!$resultado) {
echo "<b>Error de busqueda</b>";
exit;
}
$filas=pg_numrows($resultado);
if ($filas==0) {
echo "No se encontro ningun registro\n"; exit;
}
else
{
echo "<ul>";
for($cont=0;$cont<$filas;$cont++)
{
$campo1=pg_result($resultado,$cont,0);
$campo2=pg_result($resultado,$cont,1);
$campo3=pg_result($resultado,$cont,2);
$campo4=pg_result($resultado,$cont,3);
echo " <li>$campo1 $campo2 $campo3 $campo4\n";
}
}
pg_FreeResult($resultado);
?>
Listo, verificar si apache esta corriendo!, abrimos un navegador y en la URL teipeamos
http://localhost/consulta.php
Pantalla del navegador
conexion exitosa
curso en php con postgres en windows
- Juan Jose Perez Soza 26563145
- Fred Quarry fisico 25686945
Espero que les sirva muchos este pequeño curso en php con postgres en windows, pronto publicare nuevos artículos, alguna duda déjenla en los comentario
1 comentario:
Hasta ahora no he encontrado una nueva herramienta genial para trabajar con PostgreSQL en win – Valentina Studio. Es la edición gratuita puede hacer las cosas más de las muchas herramientas comerciales!
¡Muy recomendable comprobarlo. http://www.valentina-db.com/en/valentina-studio-overview
Publicar un comentario