· 5 years ago · Aug 25, 2020, 07:28 AM
1#Main
2
3import base_datos
4
5
6def menu_principal():
7 print("""
8 ### Bienvenido a su bloc de notas personal: ###
9 1 - Cargar Usuario
10 2 - Cargar Notas
11 3 - Listar Usuarios
12 4 - Ver Notas de Usuario
13 5 - Eliminar Notas
14 6 - Salir
15 """)
16
17 opcion = int(input("Seleccione una opcion para empezar: "))
18
19 while(opcion != 6):
20 if(opcion == 1):
21 print("#### SE PROCEDE CON LA CARGA DEL USUARIO")
22 nombre = input("Introduzca Nombre de usuario: ")
23 apellido = input("Introduzca Apellido de usuario: ")
24 base_datos.cargar_usuario(nombre,apellido)
25 menu_principal()
26 elif(opcion == 2):
27 base_datos.cargar_nota()
28 menu_principal()
29 elif(opcion == 3):
30 base_datos.listar_usuarios()
31 menu_principal()
32 elif(opcion == 4):
33 base_datos.ver_notas()
34 elif(opcion == 5):
35 None
36 else:
37 print("###### OPCION INCORRECTA ######")
38 opcion = int(input("Seleccione una opcion para empezar: "))
39
40
41menu_principal()
42
43
44#Modulo Conexion para conectarme con la base de datos
45
46import mysql.connector
47
48def conectar():
49 database = mysql.connector.connect(
50 host="localhost",
51 user="root",
52 passwd="",
53 database="proyecto_base_datos",
54 port=3306
55 #Muy importante dejar marcado el puerto - esto se puede consultar en la pagina phpmyadmin
56 )
57 cursor = database.cursor(buffered=True) #Permite hacer muchas consultas usando el mismo cursor
58 return[database, cursor]
59
60 """
61 Tabla usuario_registrados
62
63 id_user nombre_user apellido_user
64
65 Tabla notas_user
66
67 id_user notas_user
68
69
70 """
71
72#Modulo para trabajar con la base de datos
73
74from conexion import conectar
75
76connect = conectar()
77#Devuelve [database, cursor]
78database = connect[0]
79cursor = connect[1]
80
81def cargar_usuario(nombre,apellido):
82
83 sql = 'INSERT INTO usuario_registrados VALUES(null,%s,%s)'
84 usuario = (nombre,apellido)
85 cursor.execute(sql,usuario)
86 database.commit()
87 print("""
88 ### ¿Desea cargar una nota para el usuario? ###
89 1- Si 2 - No
90 """)
91 opcion = int(input("Seleccion opcion: "))
92 while(opcion != 2):
93 sql_2 = 'SELECT id_user FROM usuario_registrados WHERE nombre_user = %s AND apellido_user = %s'
94 consulta = cursor.execute(sql_2,usuario)
95 consulta = cursor.fetchone()
96 id_user = consulta[0]
97
98 sql = 'INSERT INTO notas_user VALUES(%s,%s)'
99 notita = (id_user,str(input("Ingrese nota: ")))
100 cursor.execute(sql,notita)
101 database.commit()
102
103 print("""
104 ### ¿Desea cargar una nota para el usuario? ###
105 1- Si 2 - No
106 """)
107 opcion = int(input("Seleccion opcion: "))
108
109
110def cargar_nota():
111 nombre_usuario = str(input("Ingrese nombre del usuario a buscar: "))
112
113 sql = 'SELECT * FROM usuario_registrados WHERE nombre_user = %s'
114 consulta = cursor.execute(sql,nombre_usuario)
115 consulta = cursor.fetchall()
116 print(consulta)
117
118
119 sql = 'INSERT INTO notas_user VALUES(null,%s)'
120 notita = input("Ingrese nota a cargar: ")
121 cursor.execute(sql,notita)
122 database.commit()
123
124def listar_usuarios():
125 sql = 'SELECT nombre_user,apellido_user FROM usuario_registrados'
126 mostrar = cursor.execute(sql)
127 mostrar = cursor.fetchall()
128
129 for elemento in range(0,len(mostrar)):
130 tupla = mostrar[elemento]
131 print(f"Nombre: {tupla[0]}\n" + f"Apellido: {tupla[1]}")
132 print("#####################")
133
134
135def ver_notas():
136 nombre_usuario = input("Ingrese nombre del usuario a buscar: ")
137 sql = 'SELECT * FROM usuario_registrados,notas_user WHERE nombre_user = %s'
138 usuario_nota = cursor.execute(sql,nombre_usuario)
139 usuario_nota = cursor.fetchall()
140 print(usuario_nota)
141
142/*
143SQL para crear la base de datos
144*/
145
146CREATE DATABASE IF NOT EXISTS proyecto_base_datos;
147USE proyecto_base_datos;
148
149CREATE TABLE usuario_registrados(
150 id_user int(10) AUTO_INCREMENT NOT NULL,
151 nombre_user varchar(50),
152 apellido_user varchar(50),
153 CONSTRAINT pk_id_user PRIMARY KEY(id_user),
154)ENGINE=InnoDb;
155
156CREATE TABLE notas_user(
157 id_user int(10) NOT NULL,
158 notas_user varchar(50),
159 CONSTRAINT pk_id_user PRIMARY KEY(id_user),
160 CONSTRAINT fk_id_user FOREIGN KEY(id_user) REFERENCES usuario_registrados(id_user)
161)ENGINE=InnoDb;
162