Veritabanı Nasıl Oluşturulur MySQL (Oluşturmak MySQL Tablolar)

⚡ Akıllı Özet

İçinde bir veritabanı oluşturma MySQL İki kanıtlanmış yolu izler: bir CREATE DATABASE ifadesi yürütmek veya bir ER modelinden fiziksel şemalar oluşturmak. MySQL Çalışma tezgahı ileri mühendisliği. Her iki yaklaşım da özdeş, üretime hazır tablolar üretir.

  • 🗄️ Veritabanı Oluşturma: CREATE DATABASE movies komutunu veya CREATE SCHEMA komutunu çalıştırın. MySQL eş anlamlı olarak ele alır.
  • 🛡️ Güvenli Tekrar Yayınlar: Tekrarlanan bir komut dosyasının yinelenen ad hatası vermesi yerine oluşturma işlemini atlaması için IF NOT EXISTS ifadesini ekleyin.
  • 🌐 Karakter seti: Çok dilli veriler için utf8mb4_0900_ai_ci ile utf8mb4'ü, yalnızca İngilizce olan eski şemalar için ise latin1_swedish_ci ile latin1'i seçin.
  • 🧱 Tablo Oluşturma: CREATE TABLE komutu, her alanın adını, veri türünü, birincil anahtarını ve genellikle InnoDB olan depolama motorunu tanımlar.
  • 🔢 Veri tipleri: Sütun türleri sayısal, metin ve tarih veya saat ailelerinin yanı sıra ENUM, SET, BOOL ve ikili varyantları içerir.
  • ⚙️ İleri Mühendislik: MySQL Workbench, onaylanmış bir ER modelini çalıştırılabilir SQL komut dosyalarına dönüştürür ve bunları canlı bir sunucuya gönderir.

Veritabanı Oluşturma Adımları MySQL

Bir veritabanı MySQL Tablolar, görünümler ve ilgili nesneler için adlandırılmış bir kapsayıcıdır. Bunu iki şekilde oluşturabilirsiniz:

1) Basit bir SQL sorgusu çalıştırarak

2) İleri mühendislik kullanarak MySQL Tezgâh

As SQL'e yeni başlayanlar, önce sorgu yöntemine bakalım.

Veritabanı Nasıl Oluşturulur MySQL

İşte bir veritabanının nasıl oluşturulacağı MySQL:

CREATE DATABASE, bir veritabanı oluşturmak için kullanılan SQL komutudur. MySQL.

Diyelim ki "filmler" adında bir veritabanı oluşturmanız gerekiyor. Bu veritabanını şu şekilde oluşturabilirsiniz: MySQL Aşağıdaki SQL komutunu çalıştırarak.

CREATE DATABASE movies;

Not: CREATE DATABASE komutu yerine CREATE SCHEMA komutunu da kullanabilirsiniz.

Bu ifade yalnızca bir kez çalışır. Tekrar çalıştırıldığında hata verir, bu nedenle sorguyu daha fazla parametreyle geliştirelim.

VAR DEĞİLSE

Tek MySQL Sunucu birçok veritabanını barındırabilir. Birden fazla kişi bu sunucuyu paylaştığında, mevcut bir veritabanının adını kullanarak yeni bir veritabanı oluşturmayı deneyebilirsiniz.

VAR DEĞİLSE talimat verir MySQL Sunucu, veritabanını oluşturmadan önce aynı ada sahip bir veritabanı olup olmadığını kontrol eder. Veritabanı yalnızca ad boşsa oluşturulur; bu madde olmadan, MySQL hata atar.

CREATE DATABASE IF NOT EXISTS movies;

Veritabanı adı güvenli hale geldikten sonraki karar, nasıl yapılacağıdır. MySQL İçindeki metni saklamalı ve karşılaştırmalıdır.

Harmanlama ve Karakter Seti

A karakter seti Bir sütunun hangi karakterleri saklayabileceğine karar verirken, bir karşılaştırma kümesidir karşılaştırmada kullanılan kurallar ve sıralama. Her ikisi de dört seviyede tanımlanabilir: sunucu, veritabanı, tablo ve sütun.

Seçtiğiniz sıralama, karakter kümesine bağlıdır. Örneğin, latin1 karakter kümesi şunu kullanır: latin1_swedish_ci İsveç'te kullanılan, büyük/küçük harf duyarlılığı olmayan sıralama yöntemi olan sıralama.

CREATE DATABASE IF NOT EXISTS movies CHARACTER SET latin1 COLLATE latin1_swedish_ci;

Arapça veya Çince gibi yerel diller için Unicode'u seçin. utf8mb4 Emoji'ler de dahil olmak üzere tüm Unicode karakterlerini depolayan karakter kümesi. MySQL 8.0, utf8mb4 varsayılan karakter kümesidir ve utf8mb4_0900_ai_ci Varsayılan sıralama düzeni.

CREATE DATABASE IF NOT EXISTS movies CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;

Tüm harmanlamaların ve karakter setlerinin listesini bulabilirsiniz okuyun.

Mevcut veritabanlarının listesini aşağıdaki SQL komutunu çalıştırarak görebilirsiniz.

SHOW DATABASES;

Veritabanı oluşturulduktan sonra, kayıtları tutacak tabloları ekleyebilirsiniz.

Tablo Nasıl Oluşturulur MySQL

CREATE TABLE komutu, bir veritabanında tablolar oluşturmak için kullanılır.

Tablo Oluştur MySQL

Şemada gösterildiği gibi, her tablo bir veritabanına aittir. Tablolar şu şekilde oluşturulur: TABLO OLUŞTUR Sözdizimi aşağıdaki gibi olan ifade.

CREATE TABLE [IF NOT EXISTS] `TableName` (`fieldname` dataType [optional parameters]) ENGINE = storage Engine;

İŞTE

  • “CREATE TABLE” komutu, veritabanında tablo oluşturmaktan sorumludur.
  • “[IF NOT EXISTS]” isteğe bağlıdır ve yalnızca eşleşen bir tablo adı bulunmadığında tabloyu oluşturur.
  • “`fieldName`” alanın adıdır ve “veri türü” ise içinde saklanan verinin niteliğini tanımlar.
  • “[isteğe bağlı parametreler]”, “AUTO_INCREMENT” veya NOT NULL gibi bir alan hakkında ek bilgidir.
  • “Depolama Motoru”, genellikle InnoDB olan ve işlemleri ve yabancı anahtarları destekleyen tabloyu yönetir.

MySQL Tablo Örneği Oluştur

Aşağıda ise MySQL Veritabanında tablo oluşturmaya örnek:

CREATE TABLE IF NOT EXISTS `MyFlixDB`.`Members` (
  `membership_number` INT AUTO_INCREMENT ,
  `full_names` VARCHAR(150) NOT NULL ,
  `gender` VARCHAR(6) ,
  `date_of_birth` DATE ,
  `physical_address` VARCHAR(255) ,
  `postal_address` VARCHAR(255) ,
  `contact_number` VARCHAR(75) ,
  `email` VARCHAR(255) ,
  PRIMARY KEY (`membership_number`) )
ENGINE = InnoDB;

Not: Doğru MySQL anahtar kelime AUTO_INCREMENT Alt çizgi ile. AUTOINCREMENT ait olmak SQLite ve bir sözdizimi hatası oluşturuyor. MySQL.

Her sütun bir veri türü içerir, bu nedenle dikkatli seçim yapın: beklediğiniz veri aralığını ne hafife alın ne de abartın.

MySQL Veri tipleri

Veri tipleri, bir tablonun belirli bir sütununda saklanabilecek verilerin niteliğini tanımlar.

MySQL vardır 3 Veri türlerinin ana kategorileri şunlardır:

  1. Sayısal
  2. Metin
  3. Tarih / saat

Sayısal Veri Türleri

Sayısal veri tipleri, sayısal değerleri depolamak için kullanılır. Verilerinizin aralığının, seçtiğiniz sayısal veri tipinin alt ve üst sınırları arasında olduğundan emin olmak çok önemlidir.

TINYINT( ) -128 ila 127 normal
0 - 255 İMZASIZ.
KÜÇÜKINT( ) -32768 ila 32767 normal
0 - 65535 İMZASIZ.
ORTA( ) -8388608 ila 8388607 normal
0 - 16777215 İMZASIZ.
INT( ) -2147483648 ila 2147483647 normal
0 - 4294967295 İMZASIZ.
BÜYÜK( ) -9223372036854775808 ila 9223372036854775807 normal
0 - 18446744073709551615 İMZASIZ.
FLOAT Kayan ondalık noktalı küçük yaklaşık bir sayı.
ÇİFT( , ) Kayan ondalık noktalı büyük bir sayı.
ONDALIK( , ) Sabit ondalık noktasına izin veren, string olarak saklanan bir DOUBLE değeri. Para birimi değerlerini saklamak için ideal seçim.

Metin Veri Türleri

Veri türü kategorisi adından da anlaşılacağı gibi, bunlar metin değerlerini depolamak için kullanılır. Metin verilerinizin uzunluğunun sütunun maksimum uzunluğunu aşmadığından emin olun.

KARAR( ) 0 ila 255 karakter uzunluğunda sabit bir bölüm.
VARCHAR( ) 0 ila 255 karakter uzunluğunda değişken bir bölüm.
KÜÇÜKMETİN Maksimum 255 karakter uzunluğunda bir dize.
METİN Maksimum 65535 karakter uzunluğunda bir dize.
BLOB Maksimum 65535 karakter uzunluğunda bir dize.
ORTAMETİN Maksimum 16777215 karakter uzunluğunda bir dize.
ORTABLOB Maksimum 16777215 karakter uzunluğunda bir dize.
UZUNMETİN Maksimum 4294967295 karakter uzunluğunda bir dize.
UZUN BLOB Maksimum 4294967295 karakter uzunluğunda bir dize.

Tarih ve Saat Veri Tipleri

Tarih ve saat veri tipleri, takvim ve saat değerlerini sabit bir biçimde saklar; bu da sıralama ve karşılaştırmanın güvenilirliğini sağlar.

TARİH YYYY-AA-GG
tarih saat YYYY-AA-GG SS:DD:SS
TIMESTAMP YYYYAAGGSSMSS
ZAMAN SS:DD:SS

Diğer Veri Türleri

Yukarıdakilere ek olarak, başka bazı veri türleri de mevcuttur. MySQL.

SIRALAMA Önceden tanımlanmış metin değerleri listesinden seçilen bir metin değerini saklamak.
SET Bu aynı zamanda önceden tanımlanmış metin değerleri listesinden seçilen metin değerlerinin saklanması için de kullanılır. Birden fazla değeri olabilir.
BOOL Boole değerlerini depolamak için kullanılan TINYINT(1) ile eşanlamlı
İKİLİ CHAR'a benzer; farkı metinlerin ikili formatta saklanmasıdır.
VARBİNER VARCHAR'a benzer; farkı metinlerin ikili formatta saklanmasıdır.

Şimdi tüm veri tiplerini kullanan bir tablo oluşturma sorgusuna bakalım. Bu sorguyu inceleyin ve aşağıdaki tablo oluşturma işleminde her veri tipinin nasıl tanımlandığını belirleyin. MySQL örnek.

CREATE TABLE `all_data_types` (
    `varchar` VARCHAR( 20 )  ,
    `tinyint` TINYINT  ,
    `text` TEXT  ,
    `date` DATE  ,
    `smallint` SMALLINT  ,
    `mediumint` MEDIUMINT  ,
    `int` INT  ,
    `bigint` BIGINT  ,
    `float` FLOAT( 10, 2 )  ,
    `double` DOUBLE  ,
    `decimal` DECIMAL( 10, 2 )  ,
    `datetime` DATETIME  ,
    `timestamp` TIMESTAMP  ,
    `time` TIME  ,
    `year` YEAR  ,
    `char` CHAR( 10 )  ,
    `tinyblob` TINYBLOB  ,
    `tinytext` TINYTEXT  ,
    `blob` BLOB  ,
    `mediumblob` MEDIUMBLOB  ,
    `mediumtext` MEDIUMTEXT  ,
    `longblob` LONGBLOB  ,
    `longtext` LONGTEXT  ,
    `enum` ENUM( '1', '2', '3' )  ,
    `set` SET( '1', '2', '3' )  ,
    `bool` BOOL  ,
    `binary` BINARY( 20 )  ,
    `varbinary` VARBINARY( 20 )
) ENGINE = MYISAM;

Yaratmak için En İyi Uygulamalar MySQL veritabanı

Senaryolarınızın okunabilirliğini korumak için birkaç kurala uymanız gerekir:

  • SQL anahtar kelimeleri için büyük harf kullanın, örneğin: “DROP SCHEMA IF EXISTS `MyFlixDB`;”
  • Tüm SQL komutlarınızı noktalı virgülle bitirin.
  • Şema, tablo ve alan adlarında boşluk kullanmaktan kaçının. Bunun yerine şema, tablo veya alan adlarını ayırmak için alt çizgi kullanın.
  • Yeni tablolar için MyISAM yerine InnoDB'yi tercih edin, çünkü InnoDB işlemleri, satır düzeyinde kilitlemeyi ve yabancı anahtarları destekler.

Sorgu yöntemi tamamlandı. İkinci yol, elle yazılmış SQL yerine görsel bir model kullanarak aynı veritabanına ulaşıyor.

Nasıl oluşturulurum MySQL Çalışma Tezgahı ER Diyagramı İleri Mühendislik

MySQL Tezgâh ileri mühendisliği destekleyen araçlara sahiptir. ileri mühendislik , süreci tanımlayan teknik terimdir. Mantıksal bir modeli otomatik olarak fiziksel bir uygulamaya çevirmek.

Biz bir ER diyagramı bizimkinde ER modelleme Bu dersi tamamladık. Şimdi bu ER modelini kullanarak veritabanımızı oluşturacak SQL komut dosyalarını üreteceğiz.

MyFlix ER modelinden MyFlix veritabanını oluşturma

Adım 1) MyFlix veritabanının ER modelini açın. daha önce yarattığınız

Adım 2) İleri mühendisi seçin

Veritabanı menüsüne tıklayın ve İleri Mühendis'i seçin.

İleri mühendisi seçin MySQL Tezgâh

Adım 3) Bağlantı seçenekleri

Sonraki pencere, bir örneğe bağlanmanıza olanak tanır. MySQL Sunucu. Kaydedilmiş bağlantı açılır listesine tıklayın ve yerel sunucuyu seçin. Yürüt'e tıklayın.

İleri mühendislik sihirbazındaki bağlantı seçenekleri

Adım 4) Aşağıda gösterilen seçenekleri seçin.

Açılan sihirbazda aşağıda gösterilen seçenekleri seçin. İleri'ye tıklayın.

MyFlix veritabanı için ileri mühendislik seçenekleri

Adım 5) Seçimleri varsayılan değerlerde bırakın ve İleri'ye tıklayın.

Sonraki ekranda EER diyagramımızdaki nesnelerin özeti gösteriliyor. MyFlix veritabanımızda 5 tablo var. Seçimleri varsayılan olarak bırakın ve İleri'ye tıklayın.

MyFlix EER diyagramındaki nesnelerin özeti

) 6 Adım RevSQL komut dosyasını görüntüle

Aşağıdaki pencere, veritabanımızı oluşturan SQL komut dosyasının önizlemesini gösterir. Komut dosyasını *.sql dosyası olarak kaydedin veya panoya kopyalayın, ardından İleri'ye tıklayın.

Oluşturulan SQL komut dosyasının önizlemesi

Adım 7) İlerlemeyi kaydedin

Seçilen veritabanı oluşturulduktan sonra aşağıdaki pencere açılır. MySQL Sunucu örneği. ER modelindeki tablolar artık fiziksel olarak sunucuda bulunuyor.

İleri mühendislik taahhüt ilerleme penceresi

Veritabanı ve örnek veriler ektedir. Bu veritabanını sonraki derslerde kullanacağız. Sadece içe aktarmanız yeterlidir. MySQL Başlamak için çalışma tezgahını kullanın.

MyFlixDB'yi İndirmek İçin Buraya Tıklayın

SSS

Hiçbir fark yok MySQLCREATE SCHEMA, CREATE DATABASE'in bir diğer adıdır ve her ikisi de aynı nesneyi oluşturur. Diğer sistemlerde, örneğin, OracleŞema ve veritabanı ayrı kavramlar olarak kalmaktadır.

İstemciden veya başka bir kaynaktan DROP DATABASE IF EXISTS movies komutunu çalıştırın. MySQL TezgâhBu komut veritabanını ve içindeki tüm tabloları kalıcı olarak siler, bu nedenle öncelikle yedekleme yapın.

Hesabın global düzeyde CREATE ayrıcalığına ihtiyacı vardır. Yöneticiler bu ayrıcalığı GRANT CREATE ON *.* TO 'user'@'localhost'; komutuyla verir. Bu ayrıcalık olmadan sunucu erişim reddedildi hatası döndürür.

Evet. Yapay zeka asistanları, varlıklarınızın basit bir açıklamasını anahtarlar ve veri tipleriyle birlikte CREATE TABLE komut dosyalarına dönüştürür. Komut dosyasını üretim sunucusunda çalıştırmadan önce oluşturulan tipleri, uzunlukları ve kısıtlamaları daima gözden geçirin.

Modern veritabanı istemcilerindeki yapay zeka özellikleri, sizin okumanızı sağlar. ER diyagramı Veya sorgu geçmişini inceleyerek normalleştirme düzeltmeleri, indeks adayları ve veri türü düzeltmeleri önerebilir. Bu öneriler tasarım incelemelerini hızlandırır, ancak her değişiklik yine de bir insan tarafından onaylanır.

Bu yazıyı şu şekilde özetleyin: