Python Database Bağlantısı (sqlite)

Python ile aşağıdaki kod ile database bağlantısı sağlanabilir.

import sqlite3

# Fetch some student records from the database.
db = sqlite3.connect("students")
c = db.cursor()
query = "select name, id from students order by name;"
c.execute(query)
rows = c.fetchall()

# First, what data structure did we get?
print "Row data:"
print rows

# And let's loop over it too:
print
print "Student names:"
for row in rows:
  print "  ", row[0]

db.close()

Database'e bir satır eklemek için

import sqlite3

db = sqlite3.connect("testdb")
c = db.cursor()
c.execute("insert into balloons values ('blue', 'water') ")
db.commit()
db.close()


Veri tabanında bir datayı değiştirmek için 

update table set column = value where restriction ;

Veri tabanından bir datayı silmek için 

delete command: delete from table where restriction ;

MySQL database'e python ile bağlantı sağlanacak ise MySql connector gerekir. MySQL connector aşağıdaki adresten indirilebilir. Python 3 için.

https://dev.mysql.com/downloads/connector/

Diğer Python  versiyonları için aşağıdaki link'ten Mysql connector indirilebilir.



https://dev.mysql.com/downloads/connector/python/2.0.html



SQL Komutları

Bu yazımızda bazı SQL komutlarından bahsedeceğiz. Bu komutlar tüm SQL yazılımlarıyla çalışır.

Limit count offset skip

Bu şekilde bir komut kullanıldığında listelenecek satır sayısı sınırlanacağı gibi başlanacak satırda belirlenmiş olur.

Ör: 
....limit 10 offset 150
Bu komut 10 max satırın listelenmesini ve listelemeye 151. satırdan başlanacağını söylemektedir.

Order by columns Desc
Bu komut da oluşturulacak listenin neye göre sıralanacağını söyler. Sonda bulunan Desc listenin büyükten küçüğe sıralanmasını sağlar.

Ör:
...order by species, name

Örnekte de görüldüğü gibi birden çok sütün içinde sıralama yapılabilir.

Group by columns

Bu komutta ise farklı değerlerin gruplanması sağlanır.

Ör:
Select name, count(*) as num from animals group by name

Bu satır animals tablosunda bulunan name sütununda farklı isim gruplarının sayısını verir. "group bye name desc" şeklinde kullanırsanız sıralamayı büyükten küçüğe doğru yapacaktır.

Database'e veri eklemek için insert komutu kullanılır.

insert into table (columns1, columns2, columns3) values ('value1', 'value2', 'value3');

Örnek
insert into animals (name, species, birthdate) values ('wibble', 'opossum', '2018-04-01');

İki farklı tabloda arama yapmak için aşağıdaki komut kullanılabilir. animals ve diet isimli iki tablomuz olsun.

select animals.kolon from animals join diet on animals.kolon2 = diet.kolon2 where kolonb = 'deger';

Database içinde sadece 1 adet bulunan bir değer aranıyor ise burada having kodu kullanılabilir.

select species, count(*) as num from animals group by species having num = 1;

SQL kullanıcı sorgulama;

SELECT user FROM Dual WHERE ROWNUM = 1








Cisco Switch IOS Upgrade Nasıl Yapılır

Cisco switchler de işletim sistemini (IOS) değiştirmenin iki yolu vardır. İlk olarak cihaza yüklenecek olan işletim sistemi cisco.com sitesinden indirilir. Cisco switch modeline göre arattığınızda site size en güncel ve önerilen yazılımı yanında * işareti ile gösterir. Aynı sürüme ait iki adet dosya göreceksiniz indirilebilir durumda. Bu dosyaların her ikisi de aynı işletim sistemi sürümünü gösterir. Bunlardan biri *.bin dosyasıdır, diğeri *.tar dosyasıdır. Şimdi anlatacağım yöntemlerden hangisini tercih ederseniz o dosyayı bilgisayarınıza indirmelisiniz.

İlk olarak bilgisayarınız ile switch arasında bir ip bağlantı olmalıdır. Bunun için switch'e bir IP vermelisiniz ve aynı networkden bir IP bilgisayarınıza vererek iki cihazın haberleşmesi sağlanmalıdır. Bilgisayarınız ile switch arasında bağlantı yoksa ilk olarak bağlanabileceğiniz bir VLAN interface oluşturup IP adresi verin, daha sonra bilgisayarınızı seçtiğiniz VLAN'ın aktif olduğu porta bağlayın ve switch'e IP olarak erişebildiğinizden emin olun.

Daha sonra bilgisayarınıza bir TFTP yazılımı indirin. http://tftpd32.jounin.net/tftpd32_download.html bu yazılımı indirebilirsiniz. TFTP kullanmanız şart değil switch'in erişebileceği herhangi bir FTP sunucusu da kullanabilirsiniz.

Son olarak yapmanız gereken show version komutunu girerek eski IOS'i kontrol etmek ve yeni IOS'i koyacağınız yeterli yer olup olmadığına bakmaktır. Yeterli yer yok ise IOS upgrade denemeyin. Cisco.com sitesinden indireceğiniz dosya kadar yeterli yere ihtiyacınız olacak.

.Bin dosyası ile IOS upgrade

Bin dosyasını TFTP/FTP klasörüne indirin ve TFTP/FTP yazılımını çalıştırın. Switch'e aşağıdaki komutu kendinize göre düzenleyerek yazın.

TFTP için:
copy tftp://ip adresi/c2960x-universalk9-tar.152-2.E8.bin flash:

FTP için
copy ftp://user:pass@ip adresi /c2960x-universalk9-tar.152-2.E8.bin flash:

Dosyanın switch'e gidip gitmediğini kontrol edin.
show flash

Cihazın açılacağı işletim sistemini tanımlayın
show boot
#conf t
(config)#boot system flash:c2960x-universalk9-tar.152-2.E8.bin
(config)#exit
#show boot
BOOT path-list      : flash:c2960x-universalk9-tar.152-2.E8.bin

Switch'i yeniden başlatın.

WS-2960A#reload
Proceed with reload? [confirm]

Switch açıldığında kontrol edin.
#show version 

.Tar dosyası ile IOS upgrade

Tar dosyasını TFTP klasörüne indirin ve TFTP yazılımını çalıştırın. Switch'e aşağıdaki komutu kendinize göre düzenleyerek yazın.

TFTP Kullanıyorsanız:
archive download-sw /overwrite /reload tftp://ip adresi/c2960x-universalk9-tar.152-2.E8.tar

FTP kullanıyorsanız:
archive download-sw /overwrite /reload ftp://user:pass@ip adresi /c2960x-universalk9-tar.152-2.E8.tar

download-sw   : Yeni IOS'u download eder.
/overwrite        : Yeni IOS'u mevcut yazılımı silerek diske yazar.
 /reload            : İşlem bittiğinde switch'i yeniden başlatır.

Bu işlem yapıldıktan sonra cihaz eski konfigürasyonu ile açılacaktır. Konfigürasyon silinmez.


Cisco 2960, 2960S, 2960 plus, 2960-X, 3400E, 3650 serisi için uygulanabilir.
c2960x-universalk9-tar.152-2.E8.bin örnek IOS olarak kullanıldı.

Python Dosyaya Yazma ve Dosyadan Okuma

Python'da bir text dosyadan bir text datanın nasıl okunacağına ve dosyaya nasıl yazılacağına bakalım. Python open() komutu ile bir dosyayı okur veya yazar. Kullanımı aşağıdaki gibidir.

file_object  = open(“filename”, “mode”)

Modları aşağıdaki gibidir.

‘r’ – Sadece okumak için kullanılan okuma modu.
‘w’ – Dosya içine bilgi girmek için oluşturulur. Aynı isme sahip eski dosya silinecektir.
‘a’ – Dosyanın sonuna veri eklemek için kullanılan ekleme modu
‘r+’ – Okuma ve yazma işlemini yapmak için kullanılan moddur.

Örnek kullanım;
F = open(“workfile”,”w”)
Print f

Bir dosya oluşturup içeriğini doldurmak için aşağıdaki örnek kullanılabilir.

file = open(“testfile.txt”,”w”)

file.write(“Merhaba”)
file.write(“1.text”)
file.write(“2.text”)
file.write(“3.text”)

file.close()

Dosya okumak için

file = open(“testfile.txt”, “r”)
print file.read()

Şeklinde kullanılır.


Twilio Nasıl Kurulur

Bilgisayarınıza Python 2.7 veya daha üst versiyonu kurduysanız pip de kurulmuştur. Twilio kurmak için komut satırında

$ pip install twilio

Yazın ve kurmasını bekleyin, bilgisayarınızın internete bağlı olması gerekir. Kurulum bittikten sonra kontrol etmek için ise Python içinde

import twilio
print twilio.__version__

Konutlarını kullanın size versiyon numarası veriyor ise çalışıyordur.

Python ile SMS göndermek için aşağıdaki kodu kullanabilirsiniz.

from twilio.rest import Client

# Your Account SID from twilio.com/console
account_sid = "kod"
# Your Auth Token from twilio.com/console
auth_token  = "kod"

client = Client(account_sid, auth_token)

message = client.messages.create(
    to="+9091111111114",
    from_="+17711111111",
    body="Hello from Python!")

print(message.sid)

SSH ile Linux Bilgisayara Komut Gönderme

Bir bilgisayara SSH ile sadece komut yazmak için bağlanmak ve komutu konsoldan yazmaya gerek kelmadan konut gönderebilirsiniz.Bunun için aşağıdaki gibi SSH bağlantı bilgilerinden sonra komutu yazmak yeterlidir.

ssh kullanıcıadı@<IP Adresi> 'gönderilecek olan komut'

ör:

ssh user@172.16.0.1 'shutdown -r now'

Birden çok komt göndermek için komutlar arasına ; işareti konulur.

ssh kullanıcıadı@<IP Adresi> '1.komut; 2.komut; 3.komut'

Gibi birden çok komut göndermekte mümkündür. Komutlar sıra ile işlenir.

ör:

ssh user@172.16.0.1 'ls -l; ps -aux; whoami'

Linux

Google