Python MySQL Tablo Oluştur
Tablo Oluşturma
MySQL'de bir tablo oluşturmak için "CREATE TABLE" ifadesini kullanın.
Bağlantıyı oluştururken veritabanının adını tanımladığınızdan emin olun.
Örnek
"Müşteriler" adında bir tablo oluşturun:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
mycursor.execute("CREATE TABLE customers (name VARCHAR(255),
address VARCHAR(255))")
Yukarıdaki kod hatasız bir şekilde yürütüldüyse, şimdi başarıyla bir tablo oluşturdunuz.
Tablonun Var Olup Olmadığını Kontrol Edin
Veritabanınızdaki tüm tabloları "TABLOLARI GÖSTER" ifadesi ile listeleyerek bir tablonun var olup olmadığını kontrol edebilirsiniz:
Örnek
Sisteminizin veritabanlarının bir listesini döndürün:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
mycursor.execute("SHOW TABLES")
for x in mycursor:
print(x)
Birincil anahtar
Tablo oluştururken, her kayıt için benzersiz bir anahtar içeren bir sütun da oluşturmalısınız.
Bu, bir BİRİNCİL ANAHTAR tanımlayarak yapılabilir.
Her kayıt için benzersiz bir numara ekleyen "INT AUTO_INCREMENT PRIMARY KEY" ifadesini kullanıyoruz. 1'den başlar ve her kayıt için bir artar.
Örnek
Tabloyu oluştururken birincil anahtar oluşturun:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
mycursor.execute("CREATE TABLE customers (id INT AUTO_INCREMENT
PRIMARY KEY, name VARCHAR(255),
address VARCHAR(255))")
Tablo zaten varsa, ALTER TABLE anahtar sözcüğünü kullanın:
Örnek
Mevcut bir tabloda birincil anahtar oluşturun:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
mycursor.execute("ALTER TABLE customers ADD COLUMN id INT AUTO_INCREMENT
PRIMARY KEY")