manage-sql 0.2.3__tar.gz → 0.3.3__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: manage-sql
3
- Version: 0.2.3
3
+ Version: 0.3.3
4
4
  Summary: Biblioteca Python para gestão de bases de dados SQLite com maior eficiência
5
5
  Home-page: https://github.com/webtechmoz/manage-sql
6
6
  Author: Web Tech Moz
@@ -10,38 +10,40 @@ Keywords: manage-sql,sqlite,sqlite manager
10
10
  Classifier: Programming Language :: Python :: 3
11
11
  Classifier: License :: OSI Approved :: MIT License
12
12
  Classifier: Operating System :: OS Independent
13
- Requires-Python: >=3.6
13
+ Requires-Python: >=3.10
14
14
  Description-Content-Type: text/markdown
15
15
  License-File: LICENCE
16
16
  Requires-Dist: deprecated
17
17
  Requires-Dist: dataclasses
18
- Requires-Dist: pathlib
19
18
 
20
19
  # SQLITE.py
21
20
 
22
21
  `SQLITE.py` é uma classe Python para interagir com bancos de dados SQLite de forma simplificada. Esta classe fornece métodos para conectar a um banco de dados, criar tabelas, inserir dados e outras operações básicas.
23
22
 
24
23
  ## Índice
25
- 1. [Introdução](#introdução)
26
- 2. [Instalação](#instalação)
27
- 3. [Uso da Classe SQLITE](#uso-da-classe-sqlite)
28
- 1. [Instanciando a Classe](#instanciando-a-classe)
29
- 2. [Métodos Disponíveis](#métodos-disponíveis)
30
- - [conectarBanco](#conectarbanco)
31
- - [criarTabela](#criartabela)
32
- - [inserirDados](#inserirdados)
33
- - [apagarDados](#apagardados)
34
- - [editarDados](#editardados)
35
- - [adicionarColuna](#adicionarcoluna)
36
- - [apagarColuna](#apagarcoluna)
37
- - [apagarTabela](#apagartabela)
38
- - [verDados](#verdados)
39
- - [encryptPass (descontinuado)](#encryptpass-descontinuado)
40
- - [encriptarValor](#encriptarvalor)
24
+ 1. [Instalação](#instalação)
25
+ 2. [Uso da Classe SQLITE](#uso)
26
+ 1. [Métodos Disponíveis](#Métodos)
27
+ - [conectarBanco](#Conectar-Banco)
28
+ - [criarTabela](#Criar-Tabela)
29
+ - [inserirDados](#Inserir-Dados)
30
+ - [apagarDados](#Apagar-Dados)
31
+ - [editarDados](#Editar-Dados)
32
+ - [adicionarColuna](#Adicionar-Coluna)
33
+ - [apagarColuna](#Apagar-Coluna)
34
+ - [apagarTabela](#Apagar-Tabela)
35
+ - [verDados](#Ver-Dados)
41
36
  - [verDadosPlus (descontinuado)](#verdadosplus-descontinuado)
42
-
43
- 4. [Contibuição](#contribuição)
44
- 5. [Licença](#licença)
37
+ - [encryptPass (descontinuado)](#encryptpass-descontinuado)
38
+ - [encriptarValor](#Encriptar-valor)
39
+ - [numeroTabelas](#número-de-tabelas)
40
+ - [nomeTabelas](#nome-de-tabelas)
41
+ - [totalLinhas](#total-linhas)
42
+ - [ultimaLinha](#última-linha)
43
+ - [numeroColunas](#número-de-colunas)
44
+ - [nomeColunas](#nome-de-colunas)
45
+ 3. [Contibuição](#contribuição)
46
+ 4. [Licença](#licença)
45
47
 
46
48
  ## Instalação
47
49
 
@@ -117,7 +119,7 @@ db.inserirDados(
117
119
  )
118
120
  ```
119
121
 
120
- ### Consultar Dados
122
+ ### Ver Dados
121
123
  Consulta dados da tabela especificada.
122
124
 
123
125
  #### Parâmetros:
@@ -147,6 +149,78 @@ db.deletarDados(
147
149
  )
148
150
  ```
149
151
 
152
+ ### Número de Tabelas
153
+ Retorna o número de tabelas constantes na base de dados.
154
+
155
+ #### Exemplo de uso:
156
+ ```python
157
+ db.numeroTabelas
158
+ ```
159
+
160
+ ### Nome de Tabelas
161
+ Retorna o nome de todas tabelas constantes na base de dados.
162
+
163
+ #### Exemplo de uso:
164
+ ```python
165
+ db.nomeTabelas
166
+ ```
167
+
168
+ ### Total Linhas
169
+ Retorna o numero total de registos dentro de uma tabela.
170
+
171
+ #### Parâmetros:
172
+ nomeTabela (str): Nome da tabela de onde os dados serão contados.
173
+ return (int): total de registos dentro do banco de dados
174
+
175
+ #### Exemplo de uso:
176
+ ```python
177
+ db.totalLinhas(
178
+ nomeTabela='minha_tabela',
179
+ )
180
+ ```
181
+
182
+ ### Última Linha
183
+ Retorna todos os dados do último registo dentro de uma tabela.
184
+
185
+ #### Parâmetros:
186
+ nomeTabela (str): Nome da tabela de onde os dados serão verificados.
187
+ return (list): dados do ultimo registo da tabela
188
+
189
+ #### Exemplo de uso:
190
+ ```python
191
+ db.ultimaLinhas(
192
+ nomeTabela='minha_tabela',
193
+ )
194
+ ```
195
+
196
+ ### Número de Colunas
197
+ Retorna o número total de colunas dentro de uma tabela.
198
+
199
+ #### Parâmetros:
200
+ nomeTabela (str): Nome da tabela de onde as colunas serão verificadas.
201
+ return (int): número de colunas dentro da tabela
202
+
203
+ #### Exemplo de uso:
204
+ ```python
205
+ db.numeroColunas(
206
+ nomeTabela='minha_tabela',
207
+ )
208
+ ```
209
+
210
+ ### Nome de Colunas
211
+ Retorna o nome de todas as colunas dentro de uma tabela.
212
+
213
+ #### Parâmetros:
214
+ nomeTabela (str): Nome da tabela de onde as colunas serão verificadas.
215
+ return (list): nome de colunas dentro da tabela
216
+
217
+ #### Exemplo de uso:
218
+ ```python
219
+ db.nomeColunas(
220
+ nomeTabela='minha_tabela',
221
+ )
222
+ ```
223
+
150
224
  ## Contribuição
151
225
  Sinta-se à vontade para contribuir com melhorias e novas funcionalidades.
152
226
 
@@ -3,26 +3,29 @@
3
3
  `SQLITE.py` é uma classe Python para interagir com bancos de dados SQLite de forma simplificada. Esta classe fornece métodos para conectar a um banco de dados, criar tabelas, inserir dados e outras operações básicas.
4
4
 
5
5
  ## Índice
6
- 1. [Introdução](#introdução)
7
- 2. [Instalação](#instalação)
8
- 3. [Uso da Classe SQLITE](#uso-da-classe-sqlite)
9
- 1. [Instanciando a Classe](#instanciando-a-classe)
10
- 2. [Métodos Disponíveis](#métodos-disponíveis)
11
- - [conectarBanco](#conectarbanco)
12
- - [criarTabela](#criartabela)
13
- - [inserirDados](#inserirdados)
14
- - [apagarDados](#apagardados)
15
- - [editarDados](#editardados)
16
- - [adicionarColuna](#adicionarcoluna)
17
- - [apagarColuna](#apagarcoluna)
18
- - [apagarTabela](#apagartabela)
19
- - [verDados](#verdados)
20
- - [encryptPass (descontinuado)](#encryptpass-descontinuado)
21
- - [encriptarValor](#encriptarvalor)
6
+ 1. [Instalação](#instalação)
7
+ 2. [Uso da Classe SQLITE](#uso)
8
+ 1. [Métodos Disponíveis](#Métodos)
9
+ - [conectarBanco](#Conectar-Banco)
10
+ - [criarTabela](#Criar-Tabela)
11
+ - [inserirDados](#Inserir-Dados)
12
+ - [apagarDados](#Apagar-Dados)
13
+ - [editarDados](#Editar-Dados)
14
+ - [adicionarColuna](#Adicionar-Coluna)
15
+ - [apagarColuna](#Apagar-Coluna)
16
+ - [apagarTabela](#Apagar-Tabela)
17
+ - [verDados](#Ver-Dados)
22
18
  - [verDadosPlus (descontinuado)](#verdadosplus-descontinuado)
23
-
24
- 4. [Contibuição](#contribuição)
25
- 5. [Licença](#licença)
19
+ - [encryptPass (descontinuado)](#encryptpass-descontinuado)
20
+ - [encriptarValor](#Encriptar-valor)
21
+ - [numeroTabelas](#número-de-tabelas)
22
+ - [nomeTabelas](#nome-de-tabelas)
23
+ - [totalLinhas](#total-linhas)
24
+ - [ultimaLinha](#última-linha)
25
+ - [numeroColunas](#número-de-colunas)
26
+ - [nomeColunas](#nome-de-colunas)
27
+ 3. [Contibuição](#contribuição)
28
+ 4. [Licença](#licença)
26
29
 
27
30
  ## Instalação
28
31
 
@@ -98,7 +101,7 @@ db.inserirDados(
98
101
  )
99
102
  ```
100
103
 
101
- ### Consultar Dados
104
+ ### Ver Dados
102
105
  Consulta dados da tabela especificada.
103
106
 
104
107
  #### Parâmetros:
@@ -128,6 +131,78 @@ db.deletarDados(
128
131
  )
129
132
  ```
130
133
 
134
+ ### Número de Tabelas
135
+ Retorna o número de tabelas constantes na base de dados.
136
+
137
+ #### Exemplo de uso:
138
+ ```python
139
+ db.numeroTabelas
140
+ ```
141
+
142
+ ### Nome de Tabelas
143
+ Retorna o nome de todas tabelas constantes na base de dados.
144
+
145
+ #### Exemplo de uso:
146
+ ```python
147
+ db.nomeTabelas
148
+ ```
149
+
150
+ ### Total Linhas
151
+ Retorna o numero total de registos dentro de uma tabela.
152
+
153
+ #### Parâmetros:
154
+ nomeTabela (str): Nome da tabela de onde os dados serão contados.
155
+ return (int): total de registos dentro do banco de dados
156
+
157
+ #### Exemplo de uso:
158
+ ```python
159
+ db.totalLinhas(
160
+ nomeTabela='minha_tabela',
161
+ )
162
+ ```
163
+
164
+ ### Última Linha
165
+ Retorna todos os dados do último registo dentro de uma tabela.
166
+
167
+ #### Parâmetros:
168
+ nomeTabela (str): Nome da tabela de onde os dados serão verificados.
169
+ return (list): dados do ultimo registo da tabela
170
+
171
+ #### Exemplo de uso:
172
+ ```python
173
+ db.ultimaLinhas(
174
+ nomeTabela='minha_tabela',
175
+ )
176
+ ```
177
+
178
+ ### Número de Colunas
179
+ Retorna o número total de colunas dentro de uma tabela.
180
+
181
+ #### Parâmetros:
182
+ nomeTabela (str): Nome da tabela de onde as colunas serão verificadas.
183
+ return (int): número de colunas dentro da tabela
184
+
185
+ #### Exemplo de uso:
186
+ ```python
187
+ db.numeroColunas(
188
+ nomeTabela='minha_tabela',
189
+ )
190
+ ```
191
+
192
+ ### Nome de Colunas
193
+ Retorna o nome de todas as colunas dentro de uma tabela.
194
+
195
+ #### Parâmetros:
196
+ nomeTabela (str): Nome da tabela de onde as colunas serão verificadas.
197
+ return (list): nome de colunas dentro da tabela
198
+
199
+ #### Exemplo de uso:
200
+ ```python
201
+ db.nomeColunas(
202
+ nomeTabela='minha_tabela',
203
+ )
204
+ ```
205
+
131
206
  ## Contribuição
132
207
  Sinta-se à vontade para contribuir com melhorias e novas funcionalidades.
133
208
 
@@ -1,6 +1,5 @@
1
1
  import sqlite3 as sq
2
2
  import hashlib as sh
3
- from pathlib import Path
4
3
  from deprecated import deprecated
5
4
  import os
6
5
 
@@ -51,8 +50,17 @@ class SQLITE:
51
50
  db = SQLITE('meu_banco)
52
51
  ```
53
52
  """
53
+
54
54
  self.nomeBanco = nomeBanco
55
55
 
56
+ @property
57
+ def numeroTabelas(self) -> int:
58
+ return self._numeroTabelas
59
+
60
+ @property
61
+ def nomeTabelas(self) -> list:
62
+ return self._nomeTabelas
63
+
56
64
  def conectarBanco(self):
57
65
  """
58
66
  Conecta ao banco de dados e cria a pasta 'database' se não existir.
@@ -65,8 +73,11 @@ class SQLITE:
65
73
  database, cursor = db.conectarBanco()
66
74
  ```
67
75
  """
68
- path = Path.cwd() / "database"
69
- path.mkdir(parents=True, exist_ok=True)
76
+ try:
77
+ path = rf'{os.getcwd()}\database'
78
+ os.mkdir(path)
79
+ except:
80
+ pass
70
81
 
71
82
  database = sq.connect(f'database/{self.nomeBanco}.db')
72
83
  cursor = database.cursor()
@@ -297,7 +308,7 @@ class SQLITE:
297
308
 
298
309
  return dados
299
310
 
300
- @deprecated(reason='Esta função será descontinuada nas versões subsequentes. Considere usar função verDados()')
311
+ @deprecated(reason='Esta função vai ser descontinuada na versão 0.4.0. Considere usar função verDados()')
301
312
  def verDadosPlus(self, query: str, params: list):
302
313
  """
303
314
  Consulta dados com base em uma query SQL customizada.
@@ -324,7 +335,7 @@ class SQLITE:
324
335
 
325
336
  return dados
326
337
 
327
- @deprecated(reason='Esta função vai ser descontinuada nas versões subsequentes. Considere usar a função encriptarValor()')
338
+ @deprecated(reason='Esta função vai ser descontinuada na versão 0.4.0. Considere usar a função encriptarValor()')
328
339
  def encryptPass(self, value: str):
329
340
  """
330
341
  Gera um hash SHA-512 de um valor fornecido.
@@ -364,73 +375,214 @@ class SQLITE:
364
375
  value_hashed = hash.hexdigest()
365
376
 
366
377
  return value_hashed
378
+
379
+ @property
380
+ def _nomeTabelas(self):
381
+ database, cursor = self.conectarBanco()
382
+ rows = []
383
+
384
+ tables = cursor.execute(
385
+ 'SELECT name FROM sqlite_master WHERE type = "table"'
386
+ ).fetchall()
387
+
388
+ database.close()
389
+
390
+ for row in tables:
391
+ if row[0] != 'sqlite_sequence':
392
+ rows.append(row[0])
393
+
394
+ return rows
395
+
396
+ @property
397
+ def _numeroTabelas(self):
398
+ database, cursor = self.conectarBanco()
399
+
400
+ number = cursor.execute(
401
+ 'SELECT COUNT(name) FROM sqlite_master WHERE type = "table"'
402
+ ).fetchone()[0] - 1
403
+
404
+ database.close()
405
+
406
+ return number
407
+
408
+ def totalLinhas(self, nomeTabela: str):
409
+ database, cursor = self.conectarBanco()
410
+
411
+ number: int = cursor.execute(
412
+ f'SELECT COUNT("*") FROM {nomeTabela}'
413
+ ).fetchone()[0]
414
+
415
+ database.close()
416
+
417
+ return number
418
+
419
+ def ultimaLinha(self, nomeTabela: str):
420
+ id = self.totalLinhas(nomeTabela)
421
+ database, cursor = self.conectarBanco()
422
+
423
+ if id != 0:
424
+ lastrow: list = cursor.execute(
425
+ f'SELECT * FROM {nomeTabela} WHERE id ="{id}"'
426
+ ).fetchone()
427
+
428
+ database.close()
429
+
430
+ return lastrow
431
+
432
+ else:
433
+ database.close()
434
+
435
+ return id
436
+
437
+ def numeroColunas(self, nomeTabela: str):
438
+ database, cursor = self.conectarBanco()
439
+
440
+ number = cursor.execute(
441
+ f'PRAGMA table_info({nomeTabela})'
442
+ ).fetchall()
443
+
444
+ database.close()
445
+
446
+ return len(number)
447
+
448
+ def nomeColunas(self, nomeTabela: str):
449
+ database, cursor = self.conectarBanco()
450
+
451
+ rows = cursor.execute(
452
+ f'PRAGMA table_info({nomeTabela})'
453
+ ).fetchall()
454
+
455
+ database.close()
456
+
457
+ return [row[1] for row in rows]
367
458
 
368
459
 
369
460
  if __name__ == '__main__':
370
- # Exemplo de uso da classe SQLITE
371
- db = SQLITE('users')
372
461
 
373
- # Criar tabela
462
+ """
463
+ Nesta secção vamos ver exemplo de como implementar cada função desta biblioteca
464
+ """
465
+
466
+ # Criando a conexão com o banco de dados
467
+ db = SQLITE('usuarios')
468
+
469
+ # Criando as variáveis necessárias
470
+ nomebela = 'usuarios'
471
+ colunas = {
472
+ 'nome': 'TEXT',
473
+ 'usuario': 'TEXT',
474
+ 'senha': 'TEXT',
475
+ }
476
+
477
+ dados = {
478
+ 'nome': 'Alexandre Zunguze',
479
+ 'usuario': 'azunguze',
480
+ 'senha': 'Aa123'
481
+ }
482
+
483
+ # db.criarTabela()
374
484
  db.criarTabela(
375
- nomeTabela='users',
376
- Colunas=['nome', 'username', 'senha'],
377
- ColunasTipo=['TEXT', 'TEXT', 'TEXT']
485
+ nomeTabela=nomebela,
486
+ Colunas=[col for col in colunas],
487
+ ColunasTipo=[col for col in colunas.values()]
378
488
  )
379
-
380
- # Inserir dados
381
- db.inserirDados(
382
- nomeTabela='users',
383
- Colunas=['nome', 'username', 'senha'],
384
- dados=['Alexandre Zunguze', 'azunguze', db.encriptarValor('Aa123')]
489
+
490
+ # db.inserirDados()
491
+ for _ in range(3):
492
+ db.inserirDados(
493
+ nomeTabela=nomebela,
494
+ Colunas=[col for col in dados],
495
+ dados=[dado for dado in dados.values()]
496
+ )
497
+
498
+ # db.apagarDados()
499
+ db.apagarDados(
500
+ nomeTabela=nomebela,
501
+ conditions='id = 3'
385
502
  )
386
503
 
387
- # Adicionar coluna
388
- db.adicionarColuna(
389
- nomeTabela='users',
390
- Coluna='ColunaB',
391
- ColunaTipo='TEXT'
392
- ),
504
+ # db.editarDados()
505
+ db.editarDados(
506
+ nomeTabela=nomebela,
507
+ Coluna=list(colunas.keys())[2],
508
+ Valor=db.encriptarValor('Aa123')
509
+ )
393
510
 
394
- # Editar dados
395
511
  db.editarDados(
396
- nomeTabela='users',
397
- Coluna='ColunaB',
398
- Valor='Teste'
512
+ nomeTabela=nomebela,
513
+ Coluna=list(colunas.keys())[2],
514
+ Valor=db.encriptarValor('Aa123'),
515
+ conditions='id = 2'
399
516
  )
400
517
 
401
- # Ver dados
402
- dados = db.verDados('users')
403
- print(dados)
518
+ # db.adicionarColuna()
519
+ db.adicionarColuna(
520
+ nomeTabela=nomebela,
521
+ Coluna='email',
522
+ ColunaTipo='TEXT'
523
+ )
404
524
 
405
- # Apagar Coluna
525
+ # db.apagarColuna()
406
526
  db.apagarColuna(
407
- nomeTabela='users',
408
- Coluna='senha'
527
+ nomeTabela=nomebela,
528
+ Coluna='email'
529
+ )
530
+
531
+ # db.verDados()
532
+ dados_1 = db.verDados(
533
+ nomeTabela=nomebela
534
+ )
535
+
536
+ dados_2 = db.verDados(
537
+ nomeTabela=nomebela,
538
+ conditions='id = 1'
539
+ )
540
+
541
+ dados_3 = db.verDadosPlus(
542
+ query=f'SELECT * FROM {nomebela} WHERE id = ?',
543
+ params=[1]
544
+ ) # Descontinuado, será desativado na versão 0.4.0
545
+
546
+ print(f'dados 1:{dados_1}\ndados 2: {dados_2}\ndados 3:{dados_3}')
547
+
548
+ # db.encryptPass()
549
+ print(
550
+ db.encryptPass(
551
+ value='Aa123'
552
+ ) # Descontinuado, será apagado na verão 0.4.0
409
553
  )
410
554
 
411
- # Ver dados
412
- dados = db.verDados('users')
413
- print(dados)
555
+ # db.numeroTabelas
556
+ print(f'numero de tabelas: {db.numeroTabelas}')
557
+
558
+ # db.nomeTabelas
559
+ print(f'nome tabelas: {db.nomeTabelas}')
414
560
 
415
- # Inserir dados
416
- db.inserirDados(
417
- nomeTabela='users',
418
- Colunas=['nome', 'username', 'ColunaB'],
419
- dados=['Alexandre Zunguze', 'azunguze', 'Qualquer coisa']
561
+ # db.numeroLinhas()
562
+ print(
563
+ f'numero linhas: {db.totalLinhas(nomeTabela=nomebela)}'
420
564
  )
421
565
 
422
- # Apagar dados
566
+ # db.ultimaLinha()
567
+ print(
568
+ f'ultima linha: {db.ultimaLinha(nomeTabela=nomebela)}'
569
+ )
570
+
571
+ # db.numeroColunas()
572
+ print(f'numero de colunas: {db.numeroColunas(nomeTabela=nomebela)}')
573
+
574
+ # db.nomeColunas()
575
+ print(f'nome de colunas: {db.nomeColunas(nomeTabela=nomebela)}')
576
+
577
+ # Apagador todos dados
423
578
  db.apagarDados(
424
- nomeTabela='users',
425
- conditions='id = 1'
579
+ nomeTabela=nomebela
426
580
  )
427
581
 
428
- # Ver dados
429
- dados = db.verDados('users')
430
- print(dados)
431
-
432
- # Apagar tabela
433
- db.apagarTabela('users')
582
+ # db.apagarTabela()
583
+ db.apagarTabela(
584
+ nomeTabela=nomebela
585
+ )
434
586
 
435
- # Apagar o Banco de Dados
436
- os.remove(rf'{Path.cwd()}\database\users.db')
587
+ # apagar a database
588
+ os.remove(rf'{os.getcwd()}\database\usuarios.db')
@@ -1,5 +1,4 @@
1
1
  import unittest
2
- from pathlib import Path
3
2
  import os
4
3
  from dataclasses import is_dataclass
5
4
 
@@ -17,7 +16,7 @@ class TestSQLITE(unittest.TestCase):
17
16
  self.table_name = 'tabela_test'
18
17
  self.columns = ['Col_1', 'Col_2', 'Col_3']
19
18
  self.columns_type = ['TEXT', 'TEXT', 'INTEGER']
20
- self.path: str = rf"{Path.cwd()}\database\{self.db_name}.db"
19
+ self.path: str = rf"{os.getcwd()}\database\{self.db_name}.db"
21
20
  self.database: SQLITE = SQLITE(self.db_name)
22
21
  self.database.criarTabela(
23
22
  nomeTabela=self.table_name,
@@ -89,7 +88,40 @@ class TestSQLITE(unittest.TestCase):
89
88
  nomeTabela=self.table_name
90
89
  )
91
90
  self.assertEqual(len(data), 0)
92
-
91
+
92
+ def test_numeroTabelas(self):
93
+ data = self.database.numeroTabelas
94
+ self.assertEqual(data, 1)
95
+
96
+ def test_nomeTabelas(self):
97
+ data = self.database.nomeTabelas
98
+ self.assertEqual(data, [self.table_name])
99
+
100
+ def test_totalColunas(self):
101
+ data = self.database.numeroColunas(self.table_name)
102
+ self.assertEqual(data, 3)
103
+
104
+ def test_totalColunas(self):
105
+ data = self.database.nomeColunas(self.table_name)[1:]
106
+ self.assertEqual(data, self.columns)
107
+
108
+ def test_totalLinhas(self):
109
+ [self.database.inserirDados(
110
+ nomeTabela=self.table_name,
111
+ Colunas=self.columns,
112
+ dados=['Web', 'Tech', value]
113
+ ) for value in range(10)]
114
+ data = self.database.totalLinhas(self.table_name)
115
+ self.assertEqual(data, 10)
116
+
117
+ def test_totalLinhas(self):
118
+ [self.database.inserirDados(
119
+ nomeTabela=self.table_name,
120
+ Colunas=self.columns,
121
+ dados=['Web', 'Tech', value]
122
+ ) for value in range(10)]
123
+ data = self.database.ultimaLinha(self.table_name)
124
+ self.assertEqual(list(data), [10, 'Web', 'Tech', 9])
93
125
 
94
126
  if __name__ == '__main__':
95
127
  unittest.main()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: manage-sql
3
- Version: 0.2.3
3
+ Version: 0.3.3
4
4
  Summary: Biblioteca Python para gestão de bases de dados SQLite com maior eficiência
5
5
  Home-page: https://github.com/webtechmoz/manage-sql
6
6
  Author: Web Tech Moz
@@ -10,38 +10,40 @@ Keywords: manage-sql,sqlite,sqlite manager
10
10
  Classifier: Programming Language :: Python :: 3
11
11
  Classifier: License :: OSI Approved :: MIT License
12
12
  Classifier: Operating System :: OS Independent
13
- Requires-Python: >=3.6
13
+ Requires-Python: >=3.10
14
14
  Description-Content-Type: text/markdown
15
15
  License-File: LICENCE
16
16
  Requires-Dist: deprecated
17
17
  Requires-Dist: dataclasses
18
- Requires-Dist: pathlib
19
18
 
20
19
  # SQLITE.py
21
20
 
22
21
  `SQLITE.py` é uma classe Python para interagir com bancos de dados SQLite de forma simplificada. Esta classe fornece métodos para conectar a um banco de dados, criar tabelas, inserir dados e outras operações básicas.
23
22
 
24
23
  ## Índice
25
- 1. [Introdução](#introdução)
26
- 2. [Instalação](#instalação)
27
- 3. [Uso da Classe SQLITE](#uso-da-classe-sqlite)
28
- 1. [Instanciando a Classe](#instanciando-a-classe)
29
- 2. [Métodos Disponíveis](#métodos-disponíveis)
30
- - [conectarBanco](#conectarbanco)
31
- - [criarTabela](#criartabela)
32
- - [inserirDados](#inserirdados)
33
- - [apagarDados](#apagardados)
34
- - [editarDados](#editardados)
35
- - [adicionarColuna](#adicionarcoluna)
36
- - [apagarColuna](#apagarcoluna)
37
- - [apagarTabela](#apagartabela)
38
- - [verDados](#verdados)
39
- - [encryptPass (descontinuado)](#encryptpass-descontinuado)
40
- - [encriptarValor](#encriptarvalor)
24
+ 1. [Instalação](#instalação)
25
+ 2. [Uso da Classe SQLITE](#uso)
26
+ 1. [Métodos Disponíveis](#Métodos)
27
+ - [conectarBanco](#Conectar-Banco)
28
+ - [criarTabela](#Criar-Tabela)
29
+ - [inserirDados](#Inserir-Dados)
30
+ - [apagarDados](#Apagar-Dados)
31
+ - [editarDados](#Editar-Dados)
32
+ - [adicionarColuna](#Adicionar-Coluna)
33
+ - [apagarColuna](#Apagar-Coluna)
34
+ - [apagarTabela](#Apagar-Tabela)
35
+ - [verDados](#Ver-Dados)
41
36
  - [verDadosPlus (descontinuado)](#verdadosplus-descontinuado)
42
-
43
- 4. [Contibuição](#contribuição)
44
- 5. [Licença](#licença)
37
+ - [encryptPass (descontinuado)](#encryptpass-descontinuado)
38
+ - [encriptarValor](#Encriptar-valor)
39
+ - [numeroTabelas](#número-de-tabelas)
40
+ - [nomeTabelas](#nome-de-tabelas)
41
+ - [totalLinhas](#total-linhas)
42
+ - [ultimaLinha](#última-linha)
43
+ - [numeroColunas](#número-de-colunas)
44
+ - [nomeColunas](#nome-de-colunas)
45
+ 3. [Contibuição](#contribuição)
46
+ 4. [Licença](#licença)
45
47
 
46
48
  ## Instalação
47
49
 
@@ -117,7 +119,7 @@ db.inserirDados(
117
119
  )
118
120
  ```
119
121
 
120
- ### Consultar Dados
122
+ ### Ver Dados
121
123
  Consulta dados da tabela especificada.
122
124
 
123
125
  #### Parâmetros:
@@ -147,6 +149,78 @@ db.deletarDados(
147
149
  )
148
150
  ```
149
151
 
152
+ ### Número de Tabelas
153
+ Retorna o número de tabelas constantes na base de dados.
154
+
155
+ #### Exemplo de uso:
156
+ ```python
157
+ db.numeroTabelas
158
+ ```
159
+
160
+ ### Nome de Tabelas
161
+ Retorna o nome de todas tabelas constantes na base de dados.
162
+
163
+ #### Exemplo de uso:
164
+ ```python
165
+ db.nomeTabelas
166
+ ```
167
+
168
+ ### Total Linhas
169
+ Retorna o numero total de registos dentro de uma tabela.
170
+
171
+ #### Parâmetros:
172
+ nomeTabela (str): Nome da tabela de onde os dados serão contados.
173
+ return (int): total de registos dentro do banco de dados
174
+
175
+ #### Exemplo de uso:
176
+ ```python
177
+ db.totalLinhas(
178
+ nomeTabela='minha_tabela',
179
+ )
180
+ ```
181
+
182
+ ### Última Linha
183
+ Retorna todos os dados do último registo dentro de uma tabela.
184
+
185
+ #### Parâmetros:
186
+ nomeTabela (str): Nome da tabela de onde os dados serão verificados.
187
+ return (list): dados do ultimo registo da tabela
188
+
189
+ #### Exemplo de uso:
190
+ ```python
191
+ db.ultimaLinhas(
192
+ nomeTabela='minha_tabela',
193
+ )
194
+ ```
195
+
196
+ ### Número de Colunas
197
+ Retorna o número total de colunas dentro de uma tabela.
198
+
199
+ #### Parâmetros:
200
+ nomeTabela (str): Nome da tabela de onde as colunas serão verificadas.
201
+ return (int): número de colunas dentro da tabela
202
+
203
+ #### Exemplo de uso:
204
+ ```python
205
+ db.numeroColunas(
206
+ nomeTabela='minha_tabela',
207
+ )
208
+ ```
209
+
210
+ ### Nome de Colunas
211
+ Retorna o nome de todas as colunas dentro de uma tabela.
212
+
213
+ #### Parâmetros:
214
+ nomeTabela (str): Nome da tabela de onde as colunas serão verificadas.
215
+ return (list): nome de colunas dentro da tabela
216
+
217
+ #### Exemplo de uso:
218
+ ```python
219
+ db.nomeColunas(
220
+ nomeTabela='minha_tabela',
221
+ )
222
+ ```
223
+
150
224
  ## Contribuição
151
225
  Sinta-se à vontade para contribuir com melhorias e novas funcionalidades.
152
226
 
@@ -1,3 +1,2 @@
1
1
  deprecated
2
2
  dataclasses
3
- pathlib
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name='manage-sql',
5
- version='0.2.3',
5
+ version='0.3.3',
6
6
  author='Web Tech Moz',
7
7
  author_email='zoidycine@gmail.com',
8
8
  description='Biblioteca Python para gestão de bases de dados SQLite com maior eficiência',
@@ -20,7 +20,6 @@ setup(
20
20
  install_requires=[
21
21
  "deprecated",
22
22
  "dataclasses",
23
- "pathlib"
24
23
  ],
25
- python_requires='>=3.6',
24
+ python_requires='>=3.10',
26
25
  )
File without changes
File without changes