manage-sql 0.7.1.dev1015__tar.gz → 1.0.2.dev1302__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {manage_sql-0.7.1.dev1015 → manage_sql-1.0.2.dev1302}/PKG-INFO +63 -50
- {manage_sql-0.7.1.dev1015 → manage_sql-1.0.2.dev1302}/README.md +50 -48
- {manage_sql-0.7.1.dev1015 → manage_sql-1.0.2.dev1302}/manage_sql/Utils/SQLITE.py +122 -49
- {manage_sql-0.7.1.dev1015 → manage_sql-1.0.2.dev1302}/manage_sql.egg-info/PKG-INFO +63 -50
- {manage_sql-0.7.1.dev1015 → manage_sql-1.0.2.dev1302}/setup.py +1 -1
- {manage_sql-0.7.1.dev1015 → manage_sql-1.0.2.dev1302}/LICENCE +0 -0
- {manage_sql-0.7.1.dev1015 → manage_sql-1.0.2.dev1302}/manage_sql/Utils/MYSQL.py +0 -0
- {manage_sql-0.7.1.dev1015 → manage_sql-1.0.2.dev1302}/manage_sql/Utils/POSTGRESQL.py +0 -0
- {manage_sql-0.7.1.dev1015 → manage_sql-1.0.2.dev1302}/manage_sql/Utils/__init__.py +0 -0
- {manage_sql-0.7.1.dev1015 → manage_sql-1.0.2.dev1302}/manage_sql/Utils/utils_mysql.py +0 -0
- {manage_sql-0.7.1.dev1015 → manage_sql-1.0.2.dev1302}/manage_sql/Utils/utils_postgres.py +0 -0
- {manage_sql-0.7.1.dev1015 → manage_sql-1.0.2.dev1302}/manage_sql/Utils/utils_sqlite.py +0 -0
- {manage_sql-0.7.1.dev1015 → manage_sql-1.0.2.dev1302}/manage_sql/__init__.py +0 -0
- {manage_sql-0.7.1.dev1015 → manage_sql-1.0.2.dev1302}/manage_sql.egg-info/SOURCES.txt +0 -0
- {manage_sql-0.7.1.dev1015 → manage_sql-1.0.2.dev1302}/manage_sql.egg-info/dependency_links.txt +0 -0
- {manage_sql-0.7.1.dev1015 → manage_sql-1.0.2.dev1302}/manage_sql.egg-info/requires.txt +0 -0
- {manage_sql-0.7.1.dev1015 → manage_sql-1.0.2.dev1302}/manage_sql.egg-info/top_level.txt +0 -0
- {manage_sql-0.7.1.dev1015 → manage_sql-1.0.2.dev1302}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: manage-sql
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 1.0.2.dev1302
|
|
4
4
|
Summary: Python library for managing SQLite, MySQL, and PostgreSQL databases with greater efficiency.
|
|
5
5
|
Home-page: https://github.com/webtechmoz/manage-sql.git
|
|
6
6
|
Author: Web Tech Moz
|
|
@@ -20,6 +20,17 @@ License-File: LICENCE
|
|
|
20
20
|
Requires-Dist: mysql-connector
|
|
21
21
|
Requires-Dist: mysql-connector-python
|
|
22
22
|
Requires-Dist: psycopg2-binary
|
|
23
|
+
Dynamic: author
|
|
24
|
+
Dynamic: author-email
|
|
25
|
+
Dynamic: classifier
|
|
26
|
+
Dynamic: description
|
|
27
|
+
Dynamic: description-content-type
|
|
28
|
+
Dynamic: home-page
|
|
29
|
+
Dynamic: keywords
|
|
30
|
+
Dynamic: license
|
|
31
|
+
Dynamic: requires-dist
|
|
32
|
+
Dynamic: requires-python
|
|
33
|
+
Dynamic: summary
|
|
23
34
|
|
|
24
35
|
# MANAGE-SQL DOCUMENTATION
|
|
25
36
|
|
|
@@ -129,10 +140,10 @@ db = POSTEGRESQL(
|
|
|
129
140
|
from manage_sql import MYSQL
|
|
130
141
|
|
|
131
142
|
db = MYSQL(
|
|
132
|
-
host='
|
|
133
|
-
username='
|
|
134
|
-
password='
|
|
135
|
-
database='
|
|
143
|
+
host='hostname',
|
|
144
|
+
username='username',
|
|
145
|
+
password='user_password',
|
|
146
|
+
database='database_name'
|
|
136
147
|
)
|
|
137
148
|
|
|
138
149
|
db.create_table(
|
|
@@ -140,11 +151,11 @@ db.create_table(
|
|
|
140
151
|
columns=[
|
|
141
152
|
db.Column(
|
|
142
153
|
name='nome',
|
|
143
|
-
column_type=db.
|
|
154
|
+
column_type=db.Column_types.Char(60).varchar
|
|
144
155
|
),
|
|
145
156
|
db.Column(
|
|
146
157
|
name='username',
|
|
147
|
-
column_type=db.
|
|
158
|
+
column_type=db.Column_types.Char(60).varchar
|
|
148
159
|
)
|
|
149
160
|
]
|
|
150
161
|
)
|
|
@@ -155,7 +166,7 @@ db.create_table(
|
|
|
155
166
|
- `columns`: *list[Column]* - lista de colunas que pretende criar dentro da tabela.
|
|
156
167
|
|
|
157
168
|
**Nota 1:** A documentação devida do `Column` será feita em breve.
|
|
158
|
-
**Nota 2:** Tenha atenção aos tipos do `
|
|
169
|
+
**Nota 2:** Tenha atenção aos tipos do `Column_types`, dado que cada tipo de banco de dados possui seus respectivos tipos.
|
|
159
170
|
|
|
160
171
|
***
|
|
161
172
|
|
|
@@ -164,10 +175,10 @@ db.create_table(
|
|
|
164
175
|
from manage_sql import MYSQL
|
|
165
176
|
|
|
166
177
|
db = MYSQL(
|
|
167
|
-
host='
|
|
168
|
-
username='
|
|
169
|
-
password='
|
|
170
|
-
database='
|
|
178
|
+
host='hostname',
|
|
179
|
+
username='username',
|
|
180
|
+
password='user_password',
|
|
181
|
+
database='database_name'
|
|
171
182
|
)
|
|
172
183
|
|
|
173
184
|
db.insert_data(
|
|
@@ -197,10 +208,10 @@ db.insert_data(
|
|
|
197
208
|
from manage_sql import MYSQL
|
|
198
209
|
|
|
199
210
|
db = MYSQL(
|
|
200
|
-
host='
|
|
201
|
-
username='
|
|
202
|
-
password='
|
|
203
|
-
database='
|
|
211
|
+
host='hostname',
|
|
212
|
+
username='username',
|
|
213
|
+
password='user_password',
|
|
214
|
+
database='database_name'
|
|
204
215
|
)
|
|
205
216
|
|
|
206
217
|
db.detele_data(
|
|
@@ -220,11 +231,13 @@ db.detele_data(
|
|
|
220
231
|
**Parametros de Filtragem**
|
|
221
232
|
O `delete_by` deve receber uma coluna base para fazer a filtragem dos dados. Este método possui várioss metodos de filtragem abaixo indicados:
|
|
222
233
|
- `EQUAL`: recebe um valor em que a coluna especificada deverá ser igual `=`
|
|
234
|
+
- `NOT_EQUAL`: recebe um valor em que a coluna especificada deverá ser igual `!=`
|
|
223
235
|
- `GATHER_THAN`: recebe um valor minimo para comparação `>`
|
|
224
236
|
- `GATHER_OR_EQUAL`: recebe um valor que deverá ser o mínimo incluido para comparação `>=`
|
|
225
237
|
- `LESS_THAN`: recebe um valor máximo para comparação `<`
|
|
226
238
|
- `LESS_OR_EQUAL`: recebe um valor máximo incluido `<=`
|
|
227
239
|
- `CONTAIN`: recebe uma parte de texto para validação de strings `LIKE`
|
|
240
|
+
- `NOT_CONTAIN`: recebe uma parte de texto para validação de strings `NOT LIKE`
|
|
228
241
|
|
|
229
242
|
Pode tambem fazer filtragem em multiplas colunas usando as condicionais abaixo:
|
|
230
243
|
|
|
@@ -233,10 +246,10 @@ Pode tambem fazer filtragem em multiplas colunas usando as condicionais abaixo:
|
|
|
233
246
|
from manage_sql import MYSQL
|
|
234
247
|
|
|
235
248
|
db = MYSQL(
|
|
236
|
-
host='
|
|
237
|
-
username='
|
|
238
|
-
password='
|
|
239
|
-
database='
|
|
249
|
+
host='hostname',
|
|
250
|
+
username='username',
|
|
251
|
+
password='user_password',
|
|
252
|
+
database='database_name'
|
|
240
253
|
)
|
|
241
254
|
|
|
242
255
|
# Filtrando usando o OR
|
|
@@ -274,10 +287,10 @@ db.detele_data(
|
|
|
274
287
|
from manage_sql import MYSQL
|
|
275
288
|
|
|
276
289
|
db = MYSQL(
|
|
277
|
-
host='
|
|
278
|
-
username='
|
|
279
|
-
password='
|
|
280
|
-
database='
|
|
290
|
+
host='hostname',
|
|
291
|
+
username='username',
|
|
292
|
+
password='user_password',
|
|
293
|
+
database='database_name'
|
|
281
294
|
)
|
|
282
295
|
|
|
283
296
|
dados = db.select_data(
|
|
@@ -305,10 +318,10 @@ print(dados)
|
|
|
305
318
|
from manage_sql import MYSQL
|
|
306
319
|
|
|
307
320
|
db = MYSQL(
|
|
308
|
-
host='
|
|
309
|
-
username='
|
|
310
|
-
password='
|
|
311
|
-
database='
|
|
321
|
+
host='hostname',
|
|
322
|
+
username='username',
|
|
323
|
+
password='user_password',
|
|
324
|
+
database='database_name'
|
|
312
325
|
)
|
|
313
326
|
|
|
314
327
|
db.update_data(
|
|
@@ -336,17 +349,17 @@ db.update_data(
|
|
|
336
349
|
### Adiconar Coluna
|
|
337
350
|
```python
|
|
338
351
|
db = MYSQL(
|
|
339
|
-
host='
|
|
340
|
-
username='
|
|
341
|
-
password='
|
|
342
|
-
database='
|
|
352
|
+
host='hostname',
|
|
353
|
+
username='username',
|
|
354
|
+
password='user_password',
|
|
355
|
+
database='database_name'
|
|
343
356
|
)
|
|
344
357
|
|
|
345
358
|
db.add_column(
|
|
346
359
|
tablename='usuarios',
|
|
347
360
|
column=db.Column(
|
|
348
361
|
name='idade',
|
|
349
|
-
column_type=db.
|
|
362
|
+
column_type=db.Column_types.Integer.integer
|
|
350
363
|
)
|
|
351
364
|
)
|
|
352
365
|
```
|
|
@@ -364,10 +377,10 @@ Mais Detalhes sobre a `Column` veja a documentação [clicando aqui](#criar-tabe
|
|
|
364
377
|
from manage_sql import MYSQL
|
|
365
378
|
|
|
366
379
|
db = MYSQL(
|
|
367
|
-
host='
|
|
368
|
-
username='
|
|
369
|
-
password='
|
|
370
|
-
database='
|
|
380
|
+
host='hostname',
|
|
381
|
+
username='username',
|
|
382
|
+
password='user_password',
|
|
383
|
+
database='database_name'
|
|
371
384
|
)
|
|
372
385
|
|
|
373
386
|
db.drop_column(
|
|
@@ -387,10 +400,10 @@ db.drop_column(
|
|
|
387
400
|
from manage_sql import MYSQL
|
|
388
401
|
|
|
389
402
|
db = MYSQL(
|
|
390
|
-
host='
|
|
391
|
-
username='
|
|
392
|
-
password='
|
|
393
|
-
database='
|
|
403
|
+
host='hostname',
|
|
404
|
+
username='username',
|
|
405
|
+
password='user_password',
|
|
406
|
+
database='database_name'
|
|
394
407
|
)
|
|
395
408
|
|
|
396
409
|
db.drop_table(
|
|
@@ -410,10 +423,10 @@ Caso queira rodar outras queries SQL que o `manage_sql` ainda não possua de for
|
|
|
410
423
|
from manage_sql import MYSQL
|
|
411
424
|
|
|
412
425
|
db = MYSQL(
|
|
413
|
-
host='
|
|
414
|
-
username='
|
|
415
|
-
password='
|
|
416
|
-
database='
|
|
426
|
+
host='hostname',
|
|
427
|
+
username='username',
|
|
428
|
+
password='user_password',
|
|
429
|
+
database='database_name'
|
|
417
430
|
)
|
|
418
431
|
|
|
419
432
|
columns = db.execute_query(
|
|
@@ -429,10 +442,10 @@ O `manage_sql` possui um metodo proprio para encriptar valores baseado no hash51
|
|
|
429
442
|
```python
|
|
430
443
|
from manage_sql import MYSQL
|
|
431
444
|
db = MYSQL(
|
|
432
|
-
host='
|
|
433
|
-
username='
|
|
434
|
-
password='
|
|
435
|
-
database='
|
|
445
|
+
host='hostname',
|
|
446
|
+
username='username',
|
|
447
|
+
password='user_password',
|
|
448
|
+
database='database_name'
|
|
436
449
|
)
|
|
437
450
|
|
|
438
451
|
hash_value = db.encrypt_value(
|
|
@@ -106,10 +106,10 @@ db = POSTEGRESQL(
|
|
|
106
106
|
from manage_sql import MYSQL
|
|
107
107
|
|
|
108
108
|
db = MYSQL(
|
|
109
|
-
host='
|
|
110
|
-
username='
|
|
111
|
-
password='
|
|
112
|
-
database='
|
|
109
|
+
host='hostname',
|
|
110
|
+
username='username',
|
|
111
|
+
password='user_password',
|
|
112
|
+
database='database_name'
|
|
113
113
|
)
|
|
114
114
|
|
|
115
115
|
db.create_table(
|
|
@@ -117,11 +117,11 @@ db.create_table(
|
|
|
117
117
|
columns=[
|
|
118
118
|
db.Column(
|
|
119
119
|
name='nome',
|
|
120
|
-
column_type=db.
|
|
120
|
+
column_type=db.Column_types.Char(60).varchar
|
|
121
121
|
),
|
|
122
122
|
db.Column(
|
|
123
123
|
name='username',
|
|
124
|
-
column_type=db.
|
|
124
|
+
column_type=db.Column_types.Char(60).varchar
|
|
125
125
|
)
|
|
126
126
|
]
|
|
127
127
|
)
|
|
@@ -132,7 +132,7 @@ db.create_table(
|
|
|
132
132
|
- `columns`: *list[Column]* - lista de colunas que pretende criar dentro da tabela.
|
|
133
133
|
|
|
134
134
|
**Nota 1:** A documentação devida do `Column` será feita em breve.
|
|
135
|
-
**Nota 2:** Tenha atenção aos tipos do `
|
|
135
|
+
**Nota 2:** Tenha atenção aos tipos do `Column_types`, dado que cada tipo de banco de dados possui seus respectivos tipos.
|
|
136
136
|
|
|
137
137
|
***
|
|
138
138
|
|
|
@@ -141,10 +141,10 @@ db.create_table(
|
|
|
141
141
|
from manage_sql import MYSQL
|
|
142
142
|
|
|
143
143
|
db = MYSQL(
|
|
144
|
-
host='
|
|
145
|
-
username='
|
|
146
|
-
password='
|
|
147
|
-
database='
|
|
144
|
+
host='hostname',
|
|
145
|
+
username='username',
|
|
146
|
+
password='user_password',
|
|
147
|
+
database='database_name'
|
|
148
148
|
)
|
|
149
149
|
|
|
150
150
|
db.insert_data(
|
|
@@ -174,10 +174,10 @@ db.insert_data(
|
|
|
174
174
|
from manage_sql import MYSQL
|
|
175
175
|
|
|
176
176
|
db = MYSQL(
|
|
177
|
-
host='
|
|
178
|
-
username='
|
|
179
|
-
password='
|
|
180
|
-
database='
|
|
177
|
+
host='hostname',
|
|
178
|
+
username='username',
|
|
179
|
+
password='user_password',
|
|
180
|
+
database='database_name'
|
|
181
181
|
)
|
|
182
182
|
|
|
183
183
|
db.detele_data(
|
|
@@ -197,11 +197,13 @@ db.detele_data(
|
|
|
197
197
|
**Parametros de Filtragem**
|
|
198
198
|
O `delete_by` deve receber uma coluna base para fazer a filtragem dos dados. Este método possui várioss metodos de filtragem abaixo indicados:
|
|
199
199
|
- `EQUAL`: recebe um valor em que a coluna especificada deverá ser igual `=`
|
|
200
|
+
- `NOT_EQUAL`: recebe um valor em que a coluna especificada deverá ser igual `!=`
|
|
200
201
|
- `GATHER_THAN`: recebe um valor minimo para comparação `>`
|
|
201
202
|
- `GATHER_OR_EQUAL`: recebe um valor que deverá ser o mínimo incluido para comparação `>=`
|
|
202
203
|
- `LESS_THAN`: recebe um valor máximo para comparação `<`
|
|
203
204
|
- `LESS_OR_EQUAL`: recebe um valor máximo incluido `<=`
|
|
204
205
|
- `CONTAIN`: recebe uma parte de texto para validação de strings `LIKE`
|
|
206
|
+
- `NOT_CONTAIN`: recebe uma parte de texto para validação de strings `NOT LIKE`
|
|
205
207
|
|
|
206
208
|
Pode tambem fazer filtragem em multiplas colunas usando as condicionais abaixo:
|
|
207
209
|
|
|
@@ -210,10 +212,10 @@ Pode tambem fazer filtragem em multiplas colunas usando as condicionais abaixo:
|
|
|
210
212
|
from manage_sql import MYSQL
|
|
211
213
|
|
|
212
214
|
db = MYSQL(
|
|
213
|
-
host='
|
|
214
|
-
username='
|
|
215
|
-
password='
|
|
216
|
-
database='
|
|
215
|
+
host='hostname',
|
|
216
|
+
username='username',
|
|
217
|
+
password='user_password',
|
|
218
|
+
database='database_name'
|
|
217
219
|
)
|
|
218
220
|
|
|
219
221
|
# Filtrando usando o OR
|
|
@@ -251,10 +253,10 @@ db.detele_data(
|
|
|
251
253
|
from manage_sql import MYSQL
|
|
252
254
|
|
|
253
255
|
db = MYSQL(
|
|
254
|
-
host='
|
|
255
|
-
username='
|
|
256
|
-
password='
|
|
257
|
-
database='
|
|
256
|
+
host='hostname',
|
|
257
|
+
username='username',
|
|
258
|
+
password='user_password',
|
|
259
|
+
database='database_name'
|
|
258
260
|
)
|
|
259
261
|
|
|
260
262
|
dados = db.select_data(
|
|
@@ -282,10 +284,10 @@ print(dados)
|
|
|
282
284
|
from manage_sql import MYSQL
|
|
283
285
|
|
|
284
286
|
db = MYSQL(
|
|
285
|
-
host='
|
|
286
|
-
username='
|
|
287
|
-
password='
|
|
288
|
-
database='
|
|
287
|
+
host='hostname',
|
|
288
|
+
username='username',
|
|
289
|
+
password='user_password',
|
|
290
|
+
database='database_name'
|
|
289
291
|
)
|
|
290
292
|
|
|
291
293
|
db.update_data(
|
|
@@ -313,17 +315,17 @@ db.update_data(
|
|
|
313
315
|
### Adiconar Coluna
|
|
314
316
|
```python
|
|
315
317
|
db = MYSQL(
|
|
316
|
-
host='
|
|
317
|
-
username='
|
|
318
|
-
password='
|
|
319
|
-
database='
|
|
318
|
+
host='hostname',
|
|
319
|
+
username='username',
|
|
320
|
+
password='user_password',
|
|
321
|
+
database='database_name'
|
|
320
322
|
)
|
|
321
323
|
|
|
322
324
|
db.add_column(
|
|
323
325
|
tablename='usuarios',
|
|
324
326
|
column=db.Column(
|
|
325
327
|
name='idade',
|
|
326
|
-
column_type=db.
|
|
328
|
+
column_type=db.Column_types.Integer.integer
|
|
327
329
|
)
|
|
328
330
|
)
|
|
329
331
|
```
|
|
@@ -341,10 +343,10 @@ Mais Detalhes sobre a `Column` veja a documentação [clicando aqui](#criar-tabe
|
|
|
341
343
|
from manage_sql import MYSQL
|
|
342
344
|
|
|
343
345
|
db = MYSQL(
|
|
344
|
-
host='
|
|
345
|
-
username='
|
|
346
|
-
password='
|
|
347
|
-
database='
|
|
346
|
+
host='hostname',
|
|
347
|
+
username='username',
|
|
348
|
+
password='user_password',
|
|
349
|
+
database='database_name'
|
|
348
350
|
)
|
|
349
351
|
|
|
350
352
|
db.drop_column(
|
|
@@ -364,10 +366,10 @@ db.drop_column(
|
|
|
364
366
|
from manage_sql import MYSQL
|
|
365
367
|
|
|
366
368
|
db = MYSQL(
|
|
367
|
-
host='
|
|
368
|
-
username='
|
|
369
|
-
password='
|
|
370
|
-
database='
|
|
369
|
+
host='hostname',
|
|
370
|
+
username='username',
|
|
371
|
+
password='user_password',
|
|
372
|
+
database='database_name'
|
|
371
373
|
)
|
|
372
374
|
|
|
373
375
|
db.drop_table(
|
|
@@ -387,10 +389,10 @@ Caso queira rodar outras queries SQL que o `manage_sql` ainda não possua de for
|
|
|
387
389
|
from manage_sql import MYSQL
|
|
388
390
|
|
|
389
391
|
db = MYSQL(
|
|
390
|
-
host='
|
|
391
|
-
username='
|
|
392
|
-
password='
|
|
393
|
-
database='
|
|
392
|
+
host='hostname',
|
|
393
|
+
username='username',
|
|
394
|
+
password='user_password',
|
|
395
|
+
database='database_name'
|
|
394
396
|
)
|
|
395
397
|
|
|
396
398
|
columns = db.execute_query(
|
|
@@ -406,10 +408,10 @@ O `manage_sql` possui um metodo proprio para encriptar valores baseado no hash51
|
|
|
406
408
|
```python
|
|
407
409
|
from manage_sql import MYSQL
|
|
408
410
|
db = MYSQL(
|
|
409
|
-
host='
|
|
410
|
-
username='
|
|
411
|
-
password='
|
|
412
|
-
database='
|
|
411
|
+
host='hostname',
|
|
412
|
+
username='username',
|
|
413
|
+
password='user_password',
|
|
414
|
+
database='database_name'
|
|
413
415
|
)
|
|
414
416
|
|
|
415
417
|
hash_value = db.encrypt_value(
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import multiprocessing
|
|
1
2
|
import sqlite3 as sq
|
|
2
3
|
import os
|
|
3
4
|
|
|
@@ -63,6 +64,9 @@ class SQLITE:
|
|
|
63
64
|
self.filter_by = Filter
|
|
64
65
|
self.delete_by = Filter
|
|
65
66
|
self.ColumnData = ColumnData
|
|
67
|
+
self.__sql_multiprocess = SQLITE_MULTI(
|
|
68
|
+
connection=self.__connect
|
|
69
|
+
)
|
|
66
70
|
|
|
67
71
|
@property
|
|
68
72
|
def __connect(self) -> tuple[sq.Connection, sq.Cursor]:
|
|
@@ -172,14 +176,12 @@ class SQLITE:
|
|
|
172
176
|
]
|
|
173
177
|
|
|
174
178
|
all_columns = ', '.join(column.column_parameters for column in columns_details)
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
)
|
|
179
|
+
multiprocessing.Process(
|
|
180
|
+
target=self.__sql_multiprocess.create_table_multi,
|
|
181
|
+
args=(tablename, all_columns),
|
|
182
|
+
daemon=True
|
|
183
|
+
).start()
|
|
180
184
|
|
|
181
|
-
connection.close()
|
|
182
|
-
|
|
183
185
|
except Exception as e:
|
|
184
186
|
self.__exception_error(message_error=e)
|
|
185
187
|
|
|
@@ -197,14 +199,11 @@ class SQLITE:
|
|
|
197
199
|
key: str = ', '.join('?' for _ in insert_query)
|
|
198
200
|
|
|
199
201
|
try:
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
)
|
|
205
|
-
|
|
206
|
-
connection.commit()
|
|
207
|
-
connection.close()
|
|
202
|
+
multiprocessing.Process(
|
|
203
|
+
target=self.__sql_multiprocess.insert_data_multi,
|
|
204
|
+
args=(tablename, columns, key, params),
|
|
205
|
+
daemon=True
|
|
206
|
+
).start()
|
|
208
207
|
|
|
209
208
|
except Exception as e:
|
|
210
209
|
self.__exception_error(message_error=e)
|
|
@@ -217,20 +216,27 @@ class SQLITE:
|
|
|
217
216
|
tablename (str): Name of the table where data will be deleted.
|
|
218
217
|
condition (Filter, optional): Filtering condition to specify which records to delete.
|
|
219
218
|
"""
|
|
220
|
-
|
|
221
|
-
connection, cursor = self.__connect
|
|
222
|
-
|
|
223
|
-
if not condition:
|
|
224
|
-
cursor.execute(f'DELETE FROM {tablename}')
|
|
225
219
|
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
220
|
+
try:
|
|
221
|
+
if condition:
|
|
222
|
+
multiprocessing.Process(
|
|
223
|
+
target=self.__sql_multiprocess.delete_data_multi,
|
|
224
|
+
args=(tablename),
|
|
225
|
+
daemon=True
|
|
226
|
+
).start()
|
|
227
|
+
|
|
228
|
+
else:
|
|
229
|
+
condition_query = condition._Filter__condition.strip()
|
|
230
|
+
condition_params = condition._Filter__params
|
|
231
|
+
|
|
232
|
+
multiprocessing.Process(
|
|
233
|
+
target=self.__sql_multiprocess.delete_data_multi,
|
|
234
|
+
args=(tablename, condition_params, condition_query),
|
|
235
|
+
daemon=True
|
|
236
|
+
).start()
|
|
231
237
|
|
|
232
|
-
|
|
233
|
-
|
|
238
|
+
except Exception as e:
|
|
239
|
+
self.__exception_error(message_error=e)
|
|
234
240
|
|
|
235
241
|
def select_data(self, tablename: str, columns: list[str] = ['*'], condition: Filter = None):
|
|
236
242
|
"""
|
|
@@ -277,22 +283,32 @@ class SQLITE:
|
|
|
277
283
|
condition (Filter, optional):
|
|
278
284
|
Condition to specify which records to update.
|
|
279
285
|
"""
|
|
280
|
-
|
|
281
|
-
connection, cursor = self.__connect
|
|
286
|
+
|
|
282
287
|
columns: str = ', '.join([f'{edit.column} = ?' for edit in edit_query])
|
|
283
288
|
params: list = [edit.value for edit in edit_query]
|
|
284
289
|
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
else:
|
|
289
|
-
condition_query: str = condition._Filter__condition.strip()
|
|
290
|
-
params.extend(condition._Filter__params)
|
|
290
|
+
try:
|
|
291
|
+
|
|
291
292
|
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
293
|
+
if not condition:
|
|
294
|
+
multiprocessing.Process(
|
|
295
|
+
target=self.__sql_multiprocess.update_data_multi,
|
|
296
|
+
args=(tablename, columns, params),
|
|
297
|
+
daemon=True
|
|
298
|
+
).start()
|
|
299
|
+
|
|
300
|
+
else:
|
|
301
|
+
condition_query: str = condition._Filter__condition.strip()
|
|
302
|
+
params.extend(condition._Filter__params)
|
|
303
|
+
|
|
304
|
+
multiprocessing.Process(
|
|
305
|
+
target=self.__sql_multiprocess.update_data_multi,
|
|
306
|
+
args=(tablename, columns, params, condition_query),
|
|
307
|
+
daemon=True
|
|
308
|
+
).start()
|
|
309
|
+
|
|
310
|
+
except Exception as e:
|
|
311
|
+
self.__exception_error(message_error=e)
|
|
296
312
|
|
|
297
313
|
def add_column(self, tablename: str, column: Column):
|
|
298
314
|
"""
|
|
@@ -380,16 +396,13 @@ class SQLITE:
|
|
|
380
396
|
Exception:
|
|
381
397
|
If there is an error in executing the SQL query, the exception is logged or raised.
|
|
382
398
|
"""
|
|
383
|
-
|
|
384
|
-
try:
|
|
385
|
-
connection, cursor = self.__connect
|
|
386
|
-
|
|
387
|
-
cursor.execute(query)
|
|
388
|
-
|
|
389
|
-
return cursor.fetchall()
|
|
390
399
|
|
|
391
|
-
|
|
392
|
-
|
|
400
|
+
multiprocessing.Process(
|
|
401
|
+
target=self.__sql_multiprocess.execute_query_multi,
|
|
402
|
+
args=(query),
|
|
403
|
+
daemon=True
|
|
404
|
+
).start()
|
|
405
|
+
|
|
393
406
|
|
|
394
407
|
def encrypt_value(self, value) -> str:
|
|
395
408
|
"""
|
|
@@ -421,4 +434,64 @@ class SQLITE:
|
|
|
421
434
|
|
|
422
435
|
def __exception_error(self, message_error: str):
|
|
423
436
|
print(f'Error: {message_error}')
|
|
424
|
-
exit()
|
|
437
|
+
exit()
|
|
438
|
+
|
|
439
|
+
class SQLITE_MULTI:
|
|
440
|
+
def __init__(
|
|
441
|
+
self,
|
|
442
|
+
connection: tuple[sq.Connection, sq.Cursor]
|
|
443
|
+
):
|
|
444
|
+
self.__connect = connection
|
|
445
|
+
|
|
446
|
+
def create_table_multi(self, table_name: str, columns: str):
|
|
447
|
+
connection, cursor = self.__connect
|
|
448
|
+
cursor.execute(
|
|
449
|
+
f'CREATE TABLE IF NOT EXISTS {table_name} ({columns})'
|
|
450
|
+
)
|
|
451
|
+
|
|
452
|
+
connection.close()
|
|
453
|
+
|
|
454
|
+
def insert_data_multi(self, table_name: str, columns: str, key: str, params: list[None]):
|
|
455
|
+
connection, cursor = self.__connect
|
|
456
|
+
|
|
457
|
+
cursor.execute(
|
|
458
|
+
f'INSERT INTO {table_name} ({columns}) VALUES ({key})', tuple(params)
|
|
459
|
+
)
|
|
460
|
+
|
|
461
|
+
connection.commit()
|
|
462
|
+
connection.close()
|
|
463
|
+
|
|
464
|
+
def delete_data_multi(self, tablename: str, condition_params: list = None, condition_query: str = None):
|
|
465
|
+
connection, cursor = self.__connect
|
|
466
|
+
|
|
467
|
+
if not condition_query:
|
|
468
|
+
cursor.execute(f'DELETE FROM {tablename}')
|
|
469
|
+
|
|
470
|
+
else:
|
|
471
|
+
cursor.execute(f'DELETE FROM {tablename} {condition_query}', tuple(condition_params))
|
|
472
|
+
|
|
473
|
+
connection.commit()
|
|
474
|
+
connection.close()
|
|
475
|
+
|
|
476
|
+
def update_data_multi(self, tablename: str, columns: str, params: list, condition_query: str = None):
|
|
477
|
+
connection, cursor = self.__connect
|
|
478
|
+
|
|
479
|
+
if not condition_query:
|
|
480
|
+
cursor.execute(f"UPDATE {tablename} SET {columns}", tuple(params))
|
|
481
|
+
|
|
482
|
+
else:
|
|
483
|
+
cursor.execute(f"UPDATE {tablename} SET {columns} {condition_query}", tuple(params))
|
|
484
|
+
|
|
485
|
+
connection.commit()
|
|
486
|
+
connection.close()
|
|
487
|
+
|
|
488
|
+
def execute_query_multi(self, query: str):
|
|
489
|
+
try:
|
|
490
|
+
connection, cursor = self.__connect
|
|
491
|
+
|
|
492
|
+
cursor.execute(query)
|
|
493
|
+
|
|
494
|
+
return cursor.fetchall()
|
|
495
|
+
|
|
496
|
+
finally:
|
|
497
|
+
connection.close()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: manage-sql
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 1.0.2.dev1302
|
|
4
4
|
Summary: Python library for managing SQLite, MySQL, and PostgreSQL databases with greater efficiency.
|
|
5
5
|
Home-page: https://github.com/webtechmoz/manage-sql.git
|
|
6
6
|
Author: Web Tech Moz
|
|
@@ -20,6 +20,17 @@ License-File: LICENCE
|
|
|
20
20
|
Requires-Dist: mysql-connector
|
|
21
21
|
Requires-Dist: mysql-connector-python
|
|
22
22
|
Requires-Dist: psycopg2-binary
|
|
23
|
+
Dynamic: author
|
|
24
|
+
Dynamic: author-email
|
|
25
|
+
Dynamic: classifier
|
|
26
|
+
Dynamic: description
|
|
27
|
+
Dynamic: description-content-type
|
|
28
|
+
Dynamic: home-page
|
|
29
|
+
Dynamic: keywords
|
|
30
|
+
Dynamic: license
|
|
31
|
+
Dynamic: requires-dist
|
|
32
|
+
Dynamic: requires-python
|
|
33
|
+
Dynamic: summary
|
|
23
34
|
|
|
24
35
|
# MANAGE-SQL DOCUMENTATION
|
|
25
36
|
|
|
@@ -129,10 +140,10 @@ db = POSTEGRESQL(
|
|
|
129
140
|
from manage_sql import MYSQL
|
|
130
141
|
|
|
131
142
|
db = MYSQL(
|
|
132
|
-
host='
|
|
133
|
-
username='
|
|
134
|
-
password='
|
|
135
|
-
database='
|
|
143
|
+
host='hostname',
|
|
144
|
+
username='username',
|
|
145
|
+
password='user_password',
|
|
146
|
+
database='database_name'
|
|
136
147
|
)
|
|
137
148
|
|
|
138
149
|
db.create_table(
|
|
@@ -140,11 +151,11 @@ db.create_table(
|
|
|
140
151
|
columns=[
|
|
141
152
|
db.Column(
|
|
142
153
|
name='nome',
|
|
143
|
-
column_type=db.
|
|
154
|
+
column_type=db.Column_types.Char(60).varchar
|
|
144
155
|
),
|
|
145
156
|
db.Column(
|
|
146
157
|
name='username',
|
|
147
|
-
column_type=db.
|
|
158
|
+
column_type=db.Column_types.Char(60).varchar
|
|
148
159
|
)
|
|
149
160
|
]
|
|
150
161
|
)
|
|
@@ -155,7 +166,7 @@ db.create_table(
|
|
|
155
166
|
- `columns`: *list[Column]* - lista de colunas que pretende criar dentro da tabela.
|
|
156
167
|
|
|
157
168
|
**Nota 1:** A documentação devida do `Column` será feita em breve.
|
|
158
|
-
**Nota 2:** Tenha atenção aos tipos do `
|
|
169
|
+
**Nota 2:** Tenha atenção aos tipos do `Column_types`, dado que cada tipo de banco de dados possui seus respectivos tipos.
|
|
159
170
|
|
|
160
171
|
***
|
|
161
172
|
|
|
@@ -164,10 +175,10 @@ db.create_table(
|
|
|
164
175
|
from manage_sql import MYSQL
|
|
165
176
|
|
|
166
177
|
db = MYSQL(
|
|
167
|
-
host='
|
|
168
|
-
username='
|
|
169
|
-
password='
|
|
170
|
-
database='
|
|
178
|
+
host='hostname',
|
|
179
|
+
username='username',
|
|
180
|
+
password='user_password',
|
|
181
|
+
database='database_name'
|
|
171
182
|
)
|
|
172
183
|
|
|
173
184
|
db.insert_data(
|
|
@@ -197,10 +208,10 @@ db.insert_data(
|
|
|
197
208
|
from manage_sql import MYSQL
|
|
198
209
|
|
|
199
210
|
db = MYSQL(
|
|
200
|
-
host='
|
|
201
|
-
username='
|
|
202
|
-
password='
|
|
203
|
-
database='
|
|
211
|
+
host='hostname',
|
|
212
|
+
username='username',
|
|
213
|
+
password='user_password',
|
|
214
|
+
database='database_name'
|
|
204
215
|
)
|
|
205
216
|
|
|
206
217
|
db.detele_data(
|
|
@@ -220,11 +231,13 @@ db.detele_data(
|
|
|
220
231
|
**Parametros de Filtragem**
|
|
221
232
|
O `delete_by` deve receber uma coluna base para fazer a filtragem dos dados. Este método possui várioss metodos de filtragem abaixo indicados:
|
|
222
233
|
- `EQUAL`: recebe um valor em que a coluna especificada deverá ser igual `=`
|
|
234
|
+
- `NOT_EQUAL`: recebe um valor em que a coluna especificada deverá ser igual `!=`
|
|
223
235
|
- `GATHER_THAN`: recebe um valor minimo para comparação `>`
|
|
224
236
|
- `GATHER_OR_EQUAL`: recebe um valor que deverá ser o mínimo incluido para comparação `>=`
|
|
225
237
|
- `LESS_THAN`: recebe um valor máximo para comparação `<`
|
|
226
238
|
- `LESS_OR_EQUAL`: recebe um valor máximo incluido `<=`
|
|
227
239
|
- `CONTAIN`: recebe uma parte de texto para validação de strings `LIKE`
|
|
240
|
+
- `NOT_CONTAIN`: recebe uma parte de texto para validação de strings `NOT LIKE`
|
|
228
241
|
|
|
229
242
|
Pode tambem fazer filtragem em multiplas colunas usando as condicionais abaixo:
|
|
230
243
|
|
|
@@ -233,10 +246,10 @@ Pode tambem fazer filtragem em multiplas colunas usando as condicionais abaixo:
|
|
|
233
246
|
from manage_sql import MYSQL
|
|
234
247
|
|
|
235
248
|
db = MYSQL(
|
|
236
|
-
host='
|
|
237
|
-
username='
|
|
238
|
-
password='
|
|
239
|
-
database='
|
|
249
|
+
host='hostname',
|
|
250
|
+
username='username',
|
|
251
|
+
password='user_password',
|
|
252
|
+
database='database_name'
|
|
240
253
|
)
|
|
241
254
|
|
|
242
255
|
# Filtrando usando o OR
|
|
@@ -274,10 +287,10 @@ db.detele_data(
|
|
|
274
287
|
from manage_sql import MYSQL
|
|
275
288
|
|
|
276
289
|
db = MYSQL(
|
|
277
|
-
host='
|
|
278
|
-
username='
|
|
279
|
-
password='
|
|
280
|
-
database='
|
|
290
|
+
host='hostname',
|
|
291
|
+
username='username',
|
|
292
|
+
password='user_password',
|
|
293
|
+
database='database_name'
|
|
281
294
|
)
|
|
282
295
|
|
|
283
296
|
dados = db.select_data(
|
|
@@ -305,10 +318,10 @@ print(dados)
|
|
|
305
318
|
from manage_sql import MYSQL
|
|
306
319
|
|
|
307
320
|
db = MYSQL(
|
|
308
|
-
host='
|
|
309
|
-
username='
|
|
310
|
-
password='
|
|
311
|
-
database='
|
|
321
|
+
host='hostname',
|
|
322
|
+
username='username',
|
|
323
|
+
password='user_password',
|
|
324
|
+
database='database_name'
|
|
312
325
|
)
|
|
313
326
|
|
|
314
327
|
db.update_data(
|
|
@@ -336,17 +349,17 @@ db.update_data(
|
|
|
336
349
|
### Adiconar Coluna
|
|
337
350
|
```python
|
|
338
351
|
db = MYSQL(
|
|
339
|
-
host='
|
|
340
|
-
username='
|
|
341
|
-
password='
|
|
342
|
-
database='
|
|
352
|
+
host='hostname',
|
|
353
|
+
username='username',
|
|
354
|
+
password='user_password',
|
|
355
|
+
database='database_name'
|
|
343
356
|
)
|
|
344
357
|
|
|
345
358
|
db.add_column(
|
|
346
359
|
tablename='usuarios',
|
|
347
360
|
column=db.Column(
|
|
348
361
|
name='idade',
|
|
349
|
-
column_type=db.
|
|
362
|
+
column_type=db.Column_types.Integer.integer
|
|
350
363
|
)
|
|
351
364
|
)
|
|
352
365
|
```
|
|
@@ -364,10 +377,10 @@ Mais Detalhes sobre a `Column` veja a documentação [clicando aqui](#criar-tabe
|
|
|
364
377
|
from manage_sql import MYSQL
|
|
365
378
|
|
|
366
379
|
db = MYSQL(
|
|
367
|
-
host='
|
|
368
|
-
username='
|
|
369
|
-
password='
|
|
370
|
-
database='
|
|
380
|
+
host='hostname',
|
|
381
|
+
username='username',
|
|
382
|
+
password='user_password',
|
|
383
|
+
database='database_name'
|
|
371
384
|
)
|
|
372
385
|
|
|
373
386
|
db.drop_column(
|
|
@@ -387,10 +400,10 @@ db.drop_column(
|
|
|
387
400
|
from manage_sql import MYSQL
|
|
388
401
|
|
|
389
402
|
db = MYSQL(
|
|
390
|
-
host='
|
|
391
|
-
username='
|
|
392
|
-
password='
|
|
393
|
-
database='
|
|
403
|
+
host='hostname',
|
|
404
|
+
username='username',
|
|
405
|
+
password='user_password',
|
|
406
|
+
database='database_name'
|
|
394
407
|
)
|
|
395
408
|
|
|
396
409
|
db.drop_table(
|
|
@@ -410,10 +423,10 @@ Caso queira rodar outras queries SQL que o `manage_sql` ainda não possua de for
|
|
|
410
423
|
from manage_sql import MYSQL
|
|
411
424
|
|
|
412
425
|
db = MYSQL(
|
|
413
|
-
host='
|
|
414
|
-
username='
|
|
415
|
-
password='
|
|
416
|
-
database='
|
|
426
|
+
host='hostname',
|
|
427
|
+
username='username',
|
|
428
|
+
password='user_password',
|
|
429
|
+
database='database_name'
|
|
417
430
|
)
|
|
418
431
|
|
|
419
432
|
columns = db.execute_query(
|
|
@@ -429,10 +442,10 @@ O `manage_sql` possui um metodo proprio para encriptar valores baseado no hash51
|
|
|
429
442
|
```python
|
|
430
443
|
from manage_sql import MYSQL
|
|
431
444
|
db = MYSQL(
|
|
432
|
-
host='
|
|
433
|
-
username='
|
|
434
|
-
password='
|
|
435
|
-
database='
|
|
445
|
+
host='hostname',
|
|
446
|
+
username='username',
|
|
447
|
+
password='user_password',
|
|
448
|
+
database='database_name'
|
|
436
449
|
)
|
|
437
450
|
|
|
438
451
|
hash_value = db.encrypt_value(
|
|
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
|
|
|
2
2
|
|
|
3
3
|
setup(
|
|
4
4
|
name='manage-sql',
|
|
5
|
-
version='0.
|
|
5
|
+
version='1.0.2.dev1302',
|
|
6
6
|
author='Web Tech Moz',
|
|
7
7
|
author_email='zoidycine@gmail.com',
|
|
8
8
|
description='Python library for managing SQLite, MySQL, and PostgreSQL databases with greater efficiency.',
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{manage_sql-0.7.1.dev1015 → manage_sql-1.0.2.dev1302}/manage_sql.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|