Escolar Documentos
Profissional Documentos
Cultura Documentos
Sunil Kumar Traço — Publicado em 30 de julho de 2022 e modificado pela última vez em 1º de
agosto de 2022
Iniciante Engenharia de Dados .SQL
Introdução
Requisitos de instalação
Antes de entrarmos na parte de codificação, precisamos instalar os requisitos.
Primeiro, instale a própria biblioteca SQL Alchemy. Uma simples instrução
pip deve ser suficiente para isso.
import sqlalchemy as sa
engine = sa.create_engine('sqlite:///D:/baseball.db') #Create
baseball.sqlite
SQLite lida com os arquivos locais, de modo que o URL difere de outros
dialetos.
engine =
sa.create_engine('mysql+mysqldb://root:password@localhost/databa
se name')
engine = sa.create_engine('sqlite:///D:/student.db')
connection = engine.connect()
Ainda não estabelecemos uma conexão com o banco de dados. Uma conexão
real com o banco de dados é feita quando fornecemos uma consulta ao banco
de dados. Outra coisa importante é que eu não tenho nenhum banco de dados
chamado aluno no meu sistema. Portanto, se você passar um nome de banco
de dados junto com seu caminho, o SQLite criará um novo banco de dados
nesse local.
ins = users.insert().values(name='Rakesh',
address='Bhubaneswar')
result = connection.execute(ins)
ins = users.insert()
connection.execute(ins, [{"id": 2, "name":"Sonu", "address":
"Chennai"},
{"id": 3, "name":"Dibya", "address":
"Kurukshetra"},
{"id": 4, "name":"Rahul", "address":
"Indore"}])
query = sa.select([users])
Result = connection.execute(query)
ResultSet = Result.fetchall()
print(ResultSet[:])
Output: [(1, 'Rakesh', 'Bhubaneswar'), (2, 'Sonu', 'Chennai'),
(3, 'Dibya', 'Kurukshetra'), (4, 'Rahul', 'Indore')]
Atualizar e excluir
Atualização
query = sa.update(users).values(adress =
'Bengaluru').where(users.c.name == 'Rakesh)
res = conn.execute(query)
query2 = sa.select([users])
res = conn.execute(query2)
res.fetchall()
Excluir
e
ngine = sa.create_engine('sqlite:///D:/baseball.db', echo =
False)
connection = engine.connect()
metadata = sa.MetaData()
baseball = sa.Table('allstarfull', metadata, autoload=True,
autoload_with=engine)
Colunas da tabela
baseball.columns.keys()
output: ['index',
'playerID',
'yearID',
'gameNum',
'gameID',
'teamID',
'lgID',
'GP',
'startingPos']
query = sa.select([baseball])
result = connection.execute(query)
result.fetchmany(5)
output:[(0, 'gomezle01', 1933, 0, 'ALS193307060', 'NYA', 'AL',
1.0, 1.0),
(1, 'ferreri01', 1933, 0, 'ALS193307060', 'BOS', 'AL', 1.0,
2.0),
(2, 'gehrilo01', 1933, 0, 'ALS193307060', 'NYA', 'AL', 1.0,
3.0),
(3, 'gehrich01', 1933, 0, 'ALS193307060', 'DET', 'AL', 1.0,
4.0),
(4, 'dykesji01', 1933, 0, 'ALS193307060', 'CHA', 'AL', 1.0,
5.0)]
import pandas as pd
df = pd.DataFrame(result.fetchmany(5), columns=result.keys())
print(df)
**fetchmany() e fetchall() são as funções usadas para recuperar um número
específico de elementos da tabela. Podemos limitar o número de linhas
importadas passando um argumento em fetchmany(n).
Onde Cláusula
query =
sa.select([baseball]).where(sa.and_((baseball.columns.teamID=='N
YA'), baseball.columns.yearID>2000))
result = connection.execute(query)
df = pd.DataFrame(result.fetchmany(5), columns=result.keys())
df
Agrupar por e Ordenar por são dois comandos SQL necessários. Vamos ver
como podemos realizar essas operações usando a Alquimia.
Como você pode observar, usamos uma função agregada junto com GROUP
BY. A função label funciona como "AS" no SQL para especificar o alias de
uma coluna. Da mesma forma, também podemos usar a ordem por comando.
.group_by(baseball.c.teamID)
.order_by(sa.desc('NoOfPlayers'))
result = connection.execute(query)
df = pd.DataFrame(result.fetchmany(5), columns=result.keys())
df
No código acima, Order by foi usado com a função descendente no alias da
coluna agregada.
Ingresso no SQL
Normalmente, temos que trabalhar com várias tabelas, e consultar dados delas
requer a adesão. Usaremos um método de junção interna.
A tabela do artista tem o nome dos artistas e seus IDs. Enquanto a tabela de
álbuns tiver IDs de artista, o nome do álbum e suas IDs. Então, vamos juntar
essas duas tabelas na coluna Id do artista.
str(stmt)
output: 'SELECT "Album"."AlbumId", "Album"."Title",
"Album"."ArtistId", "Artist"."Name" nFROM "Album" JOIN "Artist"
ON "Album"."ArtistId" = "Artist"."ArtistId"'
Profissionais
Contras
Conclusão
Bancos de dados SQL vs NoSQL – um conceito-chave que todo engenheiro de dados deve saber
SQL para Ciência de Dados: Um Guia para Iniciantes!
blogathon.SQLalquimia sql
Duração: Dez 12
Índice
Introdução
O que é a Alquimia SQL
Requisitos de instalação
Criando uma tabela
Atualizar e excluir
Consultando a partir da tabela
Encomendar por e agrupar por
Ingresso no SQL
Prós e contras da alquimia SQL
Conclusão
Sobre o Autor
Sunil Kumar Traço
ver mais
BaixarAnalytics Vidhya App para o blog / artigo mais recente
Enviar
Principais recursos
Análise Vidhya
Cientistas de dados
BlogueHackathonDiscussõesCandidate-se a Empregos
Empresas
Visite-nos