MySQL'de bir tablo nasıl açılır

  • 18.06.2019

Önceki derste, veritabanı sunucusuyla nasıl bir bağlantı oluşturulacağını öğrendik. Bir sonraki adım, veritabanlarının ve tabloların oluşturulmasıdır.

Veritabanları ve tablolar oluşturmak için iki yol düşünün. İlk olarak, PHP'de yapıldığı gibi, ikincisi - çoğu web sunucusunda ve XAMPP'de standart olan daha samimi bir phpmyAdmin yardımcı programının yardımı ile.

PHP ve MySQL desteğine sahip bir web siteniz varsa, veritabanı sizin için zaten oluşturulmuş olabilir ve dersin bu bölümünü atlayabilir ve tablolar oluşturmaya başlayabilirsiniz. Ana bilgisayar yardım sayfalarına danışmayı unutmayın.

PHP kullanarak veritabanı ve tablolar oluşturma

MySQL_QUERY işlevi MySQL veritabanı isteğini göndermek için kullanılır. İstekler dile kaydedilir S.terkedilmiş. S.uery. L.aguage (SQL). SQL, en yaygın veritabanı sorgu dilidir - sadece MySQL veritabanı için değil - çok mantıklı ve keşfedilmesi kolaydır. Bu ve bir sonraki derslerde, SQL sorguları hakkında en önemlisi öğreneceksiniz.

Veritabanını oluştururken, Create Veritabanı SQL isteği böyle bir sözdizimiyle kullanılır:

Veritabanı yarat. bD adı

Kolay ve kolay, doğru!? PHP komut dosyasına eklemeye çalışalım:

Mysql_connect ("mysql.myhost.com", "kullanıcı", "susam") veya ölümü (mysql_error ()); Mysql_query ("veritabanı oluşturmak MyDatabase") veya ölmek (mysql_error ()); mysql_close ();

İlk önce MySQL Server ile bağlantı kurun. Sonra "MyDatabase" veritabanını oluşturun. Son olarak, MySQL Server ile bağlantıyı kapatıyoruz.

Şimdiye kadarki çok iyi ... ama her şey PHP'de tablolar oluşturmak istediğimizde biraz daha karmaşık. Tablo oluştururken, Böyle bir sözdizimiyle SQL isteğini oluştururuz:

Masa oluşturmak tablo ismi (perakende_name1 type_data polybts_name2 type_data, nAME_STOLBET3 Type_Data, ...)

name_table ve namestolbitsa Bu, dava, karşılık gelen adlar için anlaşılabilir. Type_data Sütuna eklenen verilerin türünü belirtmek için kullanılır. İşte en yaygın türler:

Tam Sayılar Ondalık Numaraları Kısa Metin 255 karaktere kadar Uzun Normal Metin 65.535 karaktere kadar Normal Metin, 4.294.967.295'e kadar 2.294,967,295 Semboller Tarihi GGGG-MM-DD Format Zaman Zamanı CC Formatında Tarih: MM: MM Saat ve Tarih GGGG-MM'de DD HCH: SS

Genel olarak, mantıklı ve nispeten basittir. Örneğimize eklemeye çalışalım:

Mysql_connect ("mysql.myhost.com", "kullanıcı", "susam") veya ölümü (mysql_error ()); mysql_select_db ("insanlar") veya ölmek (mysql_error ()); Mysql_query ("Tablo Mytable (ID INT Auto_increment, FirstName Char, Soyadı Karakter, Telefon İnt, Doğum Tarihi Birincil Anahtarı (ID)" ")") veya kalıp (mysql_error ()); mysql_close ();

Bu örnekte, MySQL Server ile bir bağlantı ile başlıyoruz. Ardından, insan veritabanını seçmek için işlevi kullanın. Sonra, 5 sütunun "kişiler" bir tablo oluşturun.

Lütfen "Kimlik" sütununun, sütunun numaraları içerdiğini belirtmek için kullandığımızı ve ardından bu numaraların otomatik olarak artmasına ve her satır için benzersiz bir kimlik üreteceklerini garanti edeceğini belirtin.

Sonunda, "ID" sütununu birincil anahtar / birincil anahtar olarak ayarlamak için kullanıyoruz. Birincil anahtar, tablodaki her girişi (/ satır) benzersiz bir şekilde tanımlar, bu, özellikle sonraki veritabanı güncellemelerinde kullanışlıdır.

Phpmyadmin kullanarak veritabanı ve tablolar oluşturma

Doğrudan PHP'de veritabanları ve tablolar oluşturabilmek faydalıdır. Ancak çoğu, çoğu Veb barındıran ve XAMPP'de standart olan phpmyadmin (veya diğer MySQL yönetim programını) kullanmak genellikle daha kolaydır. Aşağıdaki ekran görüntüsü, phpmyadmin kullanan veritabanları ve tabloların nasıl oluşturulacağını göstermektedir.

Bir Web sayfasında görüntülenmek için bir tablo oluşturuyorum ve bu tablo MySQL veritabanından veri ile doldurulur. Benim için zorlaştıran birkaç şeyi yapmaya çalışıyorum.

İlk önce, HTML'de bulunan PHP kodunu HTML'de JavaScript üzerinden aramaya çalışıyorum. Benimle doğru çalıştığını düşünüyorum, ama% 100 emin değilim (çünkü tablo görüntülenmeyecek). Bence Firebug'da gösterildiği için doğru çalıştığını düşünüyorum. Biraz Tablo kodu (PHP dosyasında olan).

İkincisi, görüşlerin kolaylığı için rütbeleri alternatif renkleri yapmaya çalışıyorum. Şimdiye kadar PHP kodum aşağıda gösterilmiştir. Tablo hiçbir tarayıcıda hiç gösterilmez.

$ Query \u003d "Çalışanlardan * Seç *; $ Sonuç \u003d mysql_query ($ sorgu); $ num \u003d mysql_num_rows ($ sonuç); Eko "

"; için ($ i \u003d 0; $ i< $num; $i++){ $row = mysql_fetch_array($result); $id = $row["id"]; $l_name = $row["l_name"]; $f_name = $row["f_name"]; $ssn = $row["ssn"]; $class = (($i % 2) == 0) ? "table_odd_row" : "table_even_row"; echo ""; Eko" "; Eko" "; Eko" "; Eko" "; Eko"";) Eko"
$ wrap_id$ wrap_l_name.$ wrap_f_name.$ wrap_ssn.
"; mysql_close ($ link);)

Değişiklik

Birkaç soruyu cevaplamak için:

@ Controlfreak123, ne demek istediğinizi "dahil değilim (" dosyaame_with_php_in_it ")". Sayfa analiz için çağrılmasından bu yana, bunun çağrılacağını ve temas ettiğini düşünüyorum. Bunun doğru olduğunu düşündüğüm orijinal soruya işaret ettim, çünkü Firebug masanın kodunu gösteriyor ve bu kod ayrı bir PHP dosyasında, bu nedenle HTML dosyası ile PHP dosyası arasındaki bağlantı gerçekleşmelidir. Bu, eğer bilmek istiyorsanız, PHP dosyasını HTML dosyasından aradım:

@Matt S, çıkış hakkında çok fazla bilgi almıyorum, aslında firebug'a bakana kadar bir şey ne bulduğumu bilmiyordum ve PHP kodunun (veya bunun bir kısmının) gerçekten iletildiğini görmedim. HTML dosyasına. Özel soru, MySQL veritabanından veri elde edilecek ve bunları PHP üzerinden bir HTML tablosuna doldurma. Ayrıca çalışanların içinde veri olduğunu, test için girdiğim iki kayıt olduğunu da onaylayabilirim. HTML ve PHP dosyalarımın ayrı olmasını istediğimi, ancak amacımı kazandıracak, ancak HTML ve PHP dosyalarımın ayrı olmasını istediğim için amacımı kazanacak, ancak PHP kodunun iyi olup olmadığını kontrol etmeye çalışabilirim. JavaScript'in kırılmadığından emin olun.

@ Aaron, istediğinden emin değilim (üzgünüm). Kod, HTML sayfasında bir tabloyu doldurmak ve oluşturmak için tasarlanmıştır.

3 cevap

İşte aradığınız şeyin tam bir örneği:

  • pHP kullanarak MySQL'den bazı verilerin bir kısmını dışarı çekin
  • bu verileri HTML tablosuna yerleştirir
  • değişkenleri tabloya renk çizgileri uygulayın

Stil için, biraz aldatıcı ve benim gibi göründüğünüzden biraz daha kolay görünen jquery kullanıyorum.

Ayrıca, $ sıranın kayıt defterine duyarlı olduğunu unutmayın. Yani, $ satır! \u003d $ Satır.

Umarım yardımcı olacaktır:

"; Eko" "; Eko" "; Eko" "; Eko""; } ?>
İD İsim. Başlık
"$ satır.""$ satır.""$ satır."


Burada tablo kodu yalnızca alternatif stilleri kullanıyor, örneğinizde nasıl yapmaya çalışıyorsunuz:

"; Eko" "; Eko" "; Eko" "; Eko""; $ i \u003d ($ i \u003d\u003d 0)? 1: 0;)?\u003e
İD Başlık Tarihi.
"$ satır.""$ satır.""$ satır."

Kodunuzun yürütülme nedeni, PHP'yi komut dosyasıyla etiketlenemeyeceğiniz nedenidir. PHP dahil işlevini kullanmanız gerekir ve kaynak sayfanın PHP olarak analiz edilmesi gerekir.

Ders, yerel makinede ve tablolarında bir MySQL veritabanı oluşturmanın bir örneğini göz önünde bulunduracaktır; Denwer set

Denwer paketi resmi sitesinden bulunabilir ve indirilebilir.

MySQL veritabanlarıyla çalışmak için, phpmyadmin'in uygun bir tanıtımını olan popüler bir araç var.

Denwer paketinin başarılı bir kurulumundan sonra, PHPMYADMIN aracını başlatmak için aşağıdaki adımlar yapılır:

  • etiket denwer başlatın.
  • tarayıcı Adres çubuğunda: http: // localhost / Araçlar / phpmyadmin /
  • * DENWER'i yüklerken çatışmaları önlemek için kullanılan portun değiştirilmesi durumunda, örneğin aracın adresi farklı olabilir:
    http: // localhost: 8080 / araçlar / phpmyadmin

    Yerel olarak bir MySQL veritabanı oluşturma (insitutute)

    Başlıklı bir veritabanı oluşturun İnsitutute.:

    Phpmyadmin'de masa oluşturma

    Şimdi bitmiş veritabanında alanlarla tablolar oluşturabilirsiniz:

    MySQL veri türleri

    MySQL için veri türleri üç kategoriye ayrılabilir: sayısal veri, tarih ve saat ve veri türü.
    Böylece, tablonun alanları aşağıdaki veri türlerine sahip olabilir:

    Veri tipi Kullanma Aralık
    Tinyint. Çok küçük bir tamsayı Numaranın bir işareti ile -128 ila 127 arasında. 0 ila 255 arasında bir işaret (imzasız) aralığı.
    Smallint. Küçük tamsayı -32768 ila 32767 arasındaki işareti olan sayı aralığı. 0 ila 65535 arasında bir işaret (imzasız) aralığı.
    Ortam. Ortalama tamsayı -8388608 - 8388607 arasında bir işareti olan bir sayı yelpazesi. 0 - 16777215 arasında sayının (imzasız) hiçbir işareti yelpazesi.
    İnt veya tamsayı. Tamsayı -2147483648 - 2147483647 arasında bir tabelaya sahip bir sayı yelpazesi. 0 - 4294967295 arasında işaret yok (imzasız).
    Bigint. Büyük bir tamsayı -9223372036854775808 - 9223372036854775807.
    Şamandıra Küçük (tek doğruluk) kayan nokta. İşareti olmayan bir sayı olamaz -3.402823466E + 38 ila -1.175494351E-38 - 0 ve 1.175494351E-38 - 38 - 38 arası 38.02823466E + 38 arasında değişir. Virgülten sonra işaret sayısı takılmamışsa veya<= 24 это число с плавающей запятой одинарной точности.
    Çift
    Çift hassasiyet,
    Gerçek
    Normal (çift doğruluk) kayan nokta. İşareti olmayan bir sayı olamaz -1.7976931348623157E + 308 ila -2.2250738585072014E-308, 0 ve 2.2250738585072014E-308 - 1.7976931348623157E + 308. Virgülden sonra işaret sayısı veya 25<= количество знаков <= 53 означает числоа с плавающей запятой двойной точности.
    Ondalık
    Sayısal.
    Ambalajsız kayan nokta Veri türünün türü gibi çalışır: "Paketsiz", sayının her basamak değeri için bir karakter kullanarak bir dize olarak depolandığı anlamına gelir. Ondalık noktasının sembolü ve negatif sayının sembolü "-" uzunluğu dikkate alınmaz. Ondalık değer 0 ise, değer bir ondalık gösterimsel veya kesirli parçaya sahip olmaz. Ondalık değer için maksimum boyut, bir çift için aynıdır, ancak bu ondalık kolonun gerçek aralığı uzunluk ve ondalık fraksiyonların seçiminde sınırlandırılabilir.
    Tarihi. tarih "1000-01-01" ila "9999-12-31" arasındadır. MySQL, tarih alanını "YYYY-MM-DD" (GGGG-MM-DD) biçiminde saklar.
    Datetime. tarih ve saat "1000-01-01 00:00:00" dan "9999-12-31 23:59:59" den izin verilen aralıklar. MySQL, DateTime Tipi alanını "YYYY-MM-DD HH: MM: SS" şeklinde saklar (GGYM-MM-DD CH-MM-SS).
    Zaman damgası. tarih ve saat "1970-01-01 00:00:00" dan yaklaşık 2037 yıl arasında değişmektedir. MySQL, zaman damgası alanını "YYYYMMDDDHHMSS" türlerinde saklayabilir (zaman damgası (14)), "YYMMDDHMMSS" (zaman damgası (12)), "YYYYMMDD" (TimesTamp (8)) ve diğerleri.
    Zaman. Zaman "-838: 59: 59" ila "838: 59: 59" arasında değişmektedir. MySQL, zaman alanını "HH: MM: SS" şeklinde saklar, ancak bir dize veya numara kullanarak zaman sütunlarına değerler atamanızı sağlar.
    Yıl. 2- veya 4-htsifrov formundaki yıl (varsayılan olarak 4 basamak) 4 haneli kullanıyorsanız, geçerli değerler 1901-2155 ve 0000'tür. 2 basamaksa, 1970-2069 (70-69). MySQL yıl alan değerlerini YYYY formatında saklar.
    Char. Sabit uzunluk satırı, sağa, depolandığında belirtilen uzunluğa kadar olan boşluklarla tamamlanır. Uzunluk 1 ila 255 karakter arasındadır. Nihai boşluklar, değer çıkarıldığında silinir. Char değerleri, eğer ikili bayrak ayarlanmamışsa, varsayılan kodlamaya bağlı olarak kayıt olmadan ayrılır ve karşılaştırılır.
    Varchar. Değişken uzunluk satırı. Not: Son boşluklar tasarruf ederken silinir (ANSI SQL spesifikasyonunun aksine). Uzunluk 1 ila 255 karakter arasındadır. Varchar değerleri sıralanır ve ikili bayrak takılmamışsa kayıt olmadan karşılaştırılır.
    Tinyblob,
    Tinytext.
    Maksimum 255 (2 ^ 8 - 1) karakter içeren blob veya TEHT.
    Blob
    METİN.
    Maksimum 65535 (2 ^ 16 - 1) karakter içeren blob veya TEHT.
    Orta ölçeklibob,
    Orta ölçekli metin
    Maksimum 16777215 (2 ^ 24 - 1) karakter içeren blob veya TEHT.
    Longblob,
    Longtext.
    Maksimum 4294967295 (2 ^ 32 - 1) karakter içeren blob veya TEHT.
    Sıralama Listeleme "Değer 1", "Değer 2" veya NULL değer listesinden yalnızca bir değer alabilen bir dize nesnesi seçilir. Enum Maksimum 65535 farklı değere sahip olabilir.
    AYARLAMAK. Ayarlamak Her biri "değeri 1", "değeri 2" değer listesinden seçilmesi gereken sıfır ve daha fazla değer alabilen bir dize nesnesi, ayarlanmış alanın maksimum 64 seçeneğine sahip olabilir.

    MySQL 1 görevi. Bilgisayarınızda, Ad Enstitüsü ve Tabloları ile bir veritabanı oluşturun:
    - Alanları olan Dersler:

    • tID - Öğretmenlerle iletişim kurmak için (int)
    • kurs - varchar.
    • tarih - Tür Tarihi

    - Alanları olan kurslar:

    • iD - benzersiz alan, anahtar (A_I - sayaç)
    • tID - Öğretmenlerle iletişim kurmak
    • başlık - varchar.
    • uzunluk (saat içinde süre)

    - Alanları olan öğretmenler:



    Önemli:
    * Auto_increment niteliği Yeni çizgiler için benzersiz bir tanımlayıcı üretmek için kullanılır

    * Birincil Anahtar (Birincil Anahtar) Tablonun kayıtlarının (alanların alanlarının) benzersiz olarak tanımlanması için kullanılır. İki tablo girişi aynı birincil anahtar değerlerine sahip olamaz. İlişkili (tablo) veritabanlarında, hemen hemen her zaman farklı tablolar, birbirleriyle mantıksal olarak bağlıdır. Birincil tuşlar, bu bağlantının açık bir şekilde organizasyonu için kullanılır.

    MySQL 2 görevi. Öğretmen tablosu için aşağıdaki rakamlarda gösterildiği gibi veri tablolarını doldurun. Benzer şekilde, kurslardaki ve ders tablolarındaki kayıtları doldurun

    Bilgi konsantrasyonu için seçenekler olarak, hayatidir ve onlarsız küçük bir proje bile değil. Yapı, yapının ne kadar verimli bir şekilde düşünüldüğü, tabloların uygun şekilde tasarlandığı, bağlantı yapılandırılmıştır - örnekleme / yazma bilgilerinin hızı, veri deposunun güvenilirliği, imkansızlığın garantisi yanlışlıkla hasar görür, geri alma işleminin tamamlanması, tamamlanması Her işlem - ve genel olarak başarı.

    Her şeyden önce, veritabanı, kavramsal bir fikirdir, bilgilerin sunumu ve belirli bir görevde kullanımının mantığıdır.

    Basit İlişkiler \u003d Etkili Uygulama

    Veri organizasyonunun ilişkisel fikirleri kesinlikle en iyisi değildir, ancak birçok düzine yıl pozisyonlarını güvenle tutarlar. Kamu tüketimi için ürünlerin ve temel malların üretimi için fabrikalar olarak kesinlikle gereklidir.

    Bilgilendirme faaliyetlerinde devrimci fikirler, birçok kez yaşam hakkını ilan etti, ancak bu güne kadar böyle bir hakkın varlığına dair önemli bir kanıt sunamadı. Her zaman olduğu gibi, basitlik başarının anahtarıdır. Bununla birlikte, bilgi nesneleri arasındaki ilişkilerin ve bağlantıların konusu, bilgi alanındaki nokta ve sistemler arasında hala beyaz lekeler ve ilginç sürprizlerle doludur.

    Basit bir tasarımın kullanımı, görevin kapsamını resmileştiren onlarca masa kullanmak için basit ve kullanışlı oluşumuna yol açar. "Kaslar" kullanmaya başlayın, çok basittir, ancak ilk on tablodan sonra, ilişkisel ilişkiler bilgi, temsil, depolama ve kullanım için başka bir tutum oluşturur.

    Geçici, kontrollü ve kalıcı

    Karakteristik an: Veritabanlarının konseptinin "Temel İnşaatı" MySQL'in internet programlamasıyla hayata çıkan ve önemli kısmı haline geldi. Dinamik modern teknolojiler bu veritabanının hızlı, güvenilir ve verimli olmasına izin verdi, öğrenmesi ve uygulanması kolay.

    Ana tablolara ek olarak, Geçici Tablo Oluştur MySQL tasarımı, mevcut oturum sırasında mevcut olan geçici veri yapıları oluşturmak, belirli bir kullanıcıyı ziyaret eden geçici veri yapıları oluşturmak için bir programcı sağlar.

    Bunlar aralarındaki tabloların ve bağlantıların daha önce sarsılmaz bir şey olarak değerlendirildiyse, bugün artık temel nesnelere atıfta bulunacak güçlü veritabanları yoktur. Bu, sorunu çözmek için gereken bilgi yapısını anlama için sadece bir adımdır.

    Geçici tablo tablosu aracı araçlarını oluştururken, MySQL veritabanını statik ve dinamik bileşenlere bölmek mümkün kılar. Tabloya işaret eden programcı, oluşumunun doğruluğunu otomatik olarak yönetebilir. MySQL'i kullanma Tablo çek tasarımı oluşturun, geliştirici alanları doldurma koşullarını belirleyebilir. Her ne kadar bu seçeneğin, SQL tasarımlarının diğer lehçelerinden geçişini kolaylaştırması daha muhtemel olmasına rağmen.

    Bilgi alanı: Nokta ve sistemler

    Her proje, bir site olup olmadığı, bir sayfa veya bir basit algoritma, belirli bir bilgi alanının belirli bir yerinde bulunur. Bu yerinin "adresi" belirli bir görevdir, algoritmanın koşulları: Giriş ve çıkıştaki bilgi yapısı, işlemdeki dönüşüm şeklidir.

    Bununla birlikte, MySQL kurallarını takip etmek gerekli değildir, oluşturma tablosu, sözdizimi tarafından sağlanan hiçbir şekilde yaratılamaz.

    Bu örnekte, Code_Back alanı, Owner_Code ve Session_Code alanı, sırasıyla, iade, istemci ve oturumda anahtarları tanımlar. MySQL'ün standart olmayan bir sürümünün yalnızca kullanılması değil, anahtarın yetkinlik alanında bulunmuyor, ancak anlam olarak boyanmıştır: anlamda boyanır: işlem çalışması durumunda, aktif istemci kodu ve oturum kodu Bu müşteri için biraz olsun, ancak iade kodunun kontrol edilmesi gerektiğine bağlıdır.

    H_code, A_Contents ve A_Surprise alanlarının standart kullanımı da yoktur. Burada Masa Oluştur MySQL, bir alanın veri içeremediği bir örnek, ancak anlambilim. Herhangi bir durumda, bir müşteri tablosu olması gerektiğinde, bu tablonun aktif kısmının bir önbelleğini oluşturmak oldukça makul. Aynı zamanda, bu yeterince kaynak veri yapısını yapmak için hiç gerekmez. Bu nedenle, örneğin, A_Contents alanı içerik alır: isim; şifre; e-posta ve A_Surprise alanı geçerli kullanıcı durumudır.

    Fikir A_Contents ve / veya A_Surprise

    Bu seçenek, büyük ve hantal olabilecek ana tabloya erişim gerektirmez ve yalnızca ilgili bilgileri içeren küçükleri sınırlamanızı sağlar. Burada Masa Oluştur MySQL, bir istemci girişini ad ve şifreye göre veya parola ve e-posta ile basit bir durumda yapabileceğiniz gerçeğinin bir örneğidir: (A_Contents "($ cuurname); ($ cuurpass)%") veya ("% ($ Cuserpass) gibi A_Contents; ($ cuseername)").

    Bu örnekte, bir tablonun varlığı bu örnekte kullanılır: SCTablexists ("rm_cache") sanki tablo yokmuş gibi, sadece onu oluşturmak için gerekli olacak, örneğin, örneğin, birkaç ilk kayıt Kaynak Yöneticileri verileri.

    Standart seçenek varsa, yoksa MySQL, masanın kullanılabilirliğinin ve yokluğundaki yaratılışının sınırlı bir sürümünü sunar. Genellikle bu yeterli değil. Sadece bir tablonun kullanılabilirliğini kontrol etmek için değil, aynı zamanda başlangıç \u200b\u200bbilgileriyle doldurmak için gereklidir.

    Basit hücre hücresi

    MySQL'in kullanımı, özellikle PHP'nin kullanım özellikleri, geleneksel olarak popüler verilerin hacmini en aza indirir: her şeyden önce değişkenlerinin atponasyonu. Çoğu zaman dizeler, gerekli - sayılar ve tarihler, bazen mantıksal veriler kullanılır. MySQL oluşturan daha geniş veri açıklamaları nadiren içerir. Her ne kadar ikincisi, çözülen görev tarafından belirlenmesine rağmen. Tüm veri yelpazesini MySQL oluşturma ile kullanmak mümkündür, örneğin herhangi bir modern site içerik yönetim sistemidir.

    Nasıl ve nasıl kullanılacağı - geliştiriciyi tanımlar. Zaman anında, Wikipedia'ya göre, MySQL'in hacimsel ve yüksek hızlı olanakları, kullanılan geliştiricinin deneyimini göz önünde bulundurarak müşterinin en yakın fantezilerini karşılayabilir. MySQL'de kullanıldığında tablo oluşturular Varsayılan yapılar, değişken uzunluktaki hücrelerle temiz (boş tablolar) oluşturmanıza ve çalışma sırasında dinamik içerik oluşturmanıza olanak sağlar.

    Karmaşık veri yapıları

    Basit veri türlerinin oryantasyonu, her şeyden önce, satırlar, veri tabanıyla çalışırken, temelde çizgiler, sayıları (en sık), tarihler ve tarihler ve tarihler "Büyük Veri" - Resimler, sesler, diğer kapaklar. Burada tablo oluşturun lengebeği pratik olarak sınırlandırmaz. Kasların tüm basitliği ve erişilebilirliği ile, programcı, gerçek SQL dilinin tüm gücüne sahiptir.

    Dış şekilde, karakter veya varchar tipi açısından, karakter veya varchar hücre veritabanı, tam teşekküllü bir nesneyle okurken algoritmaya dönüştürülür (özellikler ve yöntemler, sözdizimi ve anlamsal) ve kayıt yaparken, Özü, özü, geliştirici tarafından belirlenen kompakt forma geri döner.

    Element tablosu

    Yalnızca sütunlar, sadece çizgiler ve kesişme noktalarında yalnızca bir eleman ve yalnızca bir tür hücre. Bu temel tasarım kuralı orijinallikte farklılık göstermez: sayılar, karakter dizeleri, tarihleri \u200b\u200b... Sözdiziminden takip etmiyor, ancak pratikte ortaya çıkıyor.

    Hücreyi yorumlayan bir programcı, görevin gereklilikleri nedeniyle herhangi bir türün nesnesine izin verebilir. Veritabanı bakış açısından, bu "herhangi bir tür" yalnızca bir dizedir.

    Ancak, geliştiricinin ne tercih ettiği önemli değil. Zaman anında (Wikipedia'ya göre), hacim ve yüksek hızlı MySQL parametreleri, kullanılan geliştiricinin deneyimini dikkate alarak en derin müşteri fantezilerini karşılayabilir.

    "Karaciğer", mümkün olduğu kadar basit düzenlenen en basit tablolardır. Geliştirici her alanda uygun bir anlamı koyarsa, char veya varchar tipinde, MySQL oluşturma tablo sözdiziminin çerçevesinde, tablo çalışacaktır.

    Tamsayı masası

    MySQL'deki endeksler hakkında ayrı ayrı konuşmaya değer. CREATE tablo, onları hemen tanımlamanıza ve büyük miktarlarda veri erişmenizi sağlar. Bu yaklaşım çok açıklanmıştır, çok önemlidir ve optimizasyonun işlemci hızında, örnek önbelleğe alma, kurnaz algoritmalar sayımında, genellikle seçilen verileri, php.ini, my.ini ve httpd.conf düzenlemesi için çok az şeylere göre çalıştı.

    Bu arada, kimse geliştiricinin "veriler" - "Veri Anahtarları" - basitlik, tamsayı için - sadece numaralarda tek bir satır değil, "Veri Anahtarları" - "veri anahtarları" sunumunu yaratmasını önlemez. Tablo oluştur Int MySQL MicroProject gerekli tüm diğer tabloları sağlayacaktır: Hızlı erişim, basit işlemler, mükemmel hızda tam işlevsellik.

    Büyük ve hantal tablolarda bulunan gerçek verilerin haritası olarak düzenlenen tam sayılar, bilginin numunesini ve modifikasyonunu kolayca hızlandıracaktır. Tüm çalışma saatleri için bir anahtar erişim seçeneği oluşturmanıza gerek yoktur, geçici masa tasarımını kullanabilirsiniz, MySQL kullanmadan önce geçici bir tablo oluşturacak. Veya örneğin, her kullanıcı için - anahtar tablosu.

    Bu bağlamda, sözdizimi varsa, MySQL, beklenmedik bir devamsızlıkla bile istenen tabloları oluşturmanıza olanak sağlar. Örneğin, yanlış bir giriş / çıktı veya bir bilgisayar arızası vardı ve indeksleme ihlal edildi.

    Hosting Gerçeklikleri - MySQL +

    Tarihsel olarak, veritabanı anlamlı bir veri yapısıydı. İnşaat M. ySQL, başlangıçta veri ve disk alanındaki konumlar hakkındaki klasik sunumlara yapıştırılmış tablo oluşturun. Çevrimiçi programlama ve hepsinden önemlisi, barındırma sağlama seçenekleri ve popüler siteler yönetim sistemlerinin mantığı, ilk bakışta, ofset: bir taban birkaç kümesi olabilir. Ayırma, tablo adı öneklerine dayanır.

    Bazı barındırma sağlayıcıları, örneğin veritabanlarının isimleri üzerine gereksinimlerini uyguladı, örneğin, veritabanının adı barındırma sahibinin adıyla başlar.

    Ve büyük ve büyük, veritabanının nasıl adlandırılacağı ve tablolarına nasıl başvurulacağı önemli değildir. Bununla birlikte, mevcut durum sadece MySQL'in sözdizimi değil, barındırma gereksinimleri artı sözdizimi, yani MySQL +.

    Tablo ne kadar küçük olursa, o kadar kolay düzenlenir ve içindeki daha az girişler, gerekli eylemlerin yapıldığı programlama dilinde ne kadar yoğunlaştırılır.

    Prensip olarak, herhangi bir görevin temel bileşenleri boyaması kolaydır, tek soru, bu kadar basitliğin maliyeti ne kadar olacaktır.

    Saf bir MySQL'e ihtiyacınız olursa, o zaman bu, kendi hostinginizdir, kendi sunucunuzdur, veritabanlarının sayısında herhangi bir kısıtlamanın olmayacağı, ne de isimlerinin kurallarına ve bunlara dahil olan tabloların kurallarına göre.

    Apache / MySQL / PHP sürüm çeşitliliği

    Hosting koşullarına olan bağımlılık, modern güvenli programlama için önemli bir durum kadar sorun değildir. PHP 7.0.13'e yazabilirsiniz, MySQL 5.7.16'yı kullanın, ancak müşterinin sadece perl ve kas sürüm 4.1.1 veya PHP'nin eski sürümünü kabul eden bir hosting olacaktır.

    Temel olarak (ancak, bir gerçek değil) Linux, FreeBSD, Ubuntu ve Unico benzeri sistemlerin diğer varyasyonlarında hostingler sağlanmaktadır. Hepsi iyi çalışıyor, ancak her birinin kendi özelliklerine, AMP için konaklama seçenekleri (Apache, MySQL, PHP) var. Her zaman değil ve bir öncekiyle çalışsa da, her takım bir sonraki sürümde çalışmaz.

    Bir veritabanı olarak böyle basit bir işlem, MySQL'in herhangi bir sürümünü, hem phpmyadmin'den hem de komut satırından sorunsuz bir şekilde yapar. Ters anket işlemi gerçekleşmeyebilir. Çoğu zaman PHP ayarlarında, MySQL veya Apache sunucusundaki bir şeyi değiştirmeniz gerekir. Değişiklikler yardımcı olmazsa, alternatif seçenekleri aramanız gerekir.

    Açık bir gerçek, farklı bir işlem yapılabilir, veritabanını, programlama dilini veya sunucusunu yeniden yüklemek. Bu en iyi çözüm değildir, ancak bir kural olarak etkilidir.

    Yaratma / Masa Oluşturma Veritabanı

    MySQL oluşturma tablosunun sözdizimi standart versiyonunda nadiren uygulanabilir. Popüler Siteler Yönetim Sistemleri bağlamında, popüler siteler bağlamında dikkate alınmazsa: Her zaman klasik bir tür olacaktır. Günlük çalışmada, bunu uygulama bağlamında dikkate almak en kolaydır: Tabloda hangi alanlara ihtiyaç vardır, ne tür bir tür ve boyut olmalıdır. Gerisi hala geliştirme sürecinde rafine edilmelidir: bir dizi karakter, sıralama düzen, tuşlar.

    Optimal, bir veritabanının yokluğunun bile sitenin çalışmaya başlamasını engellemesi durumunda bu, algoritmanın bu varyantıdır. Bir veritabanı ve / veya tablonun kullanılabilirliği için kendi test işlevinizi, yalnızca bilgi yapıları değil, aynı zamanda başlangıç \u200b\u200bbilgileriyle doldurmanız için de yazabilirsiniz.

    Seriler tasarımları yoksa, MySQL, Site sahibi veya ziyaretçisi tarafından birdenbire bilgilendirilecekse, MySQL, Site sahibi veya ziyaretçisi tarafından şaşırtıcı olmayacak kadar sıklıkla yeterlidir. Veritabanları yoktur veya tabloların yapısı ihlal edilmez.

    Modern programlamada, Genel Kural "güven, ancak" çalışmıyor, ya da yerine "Kontrol ve Kullan" mantığını kullanacak.

    Tablo oluştur: MySQL Kullanıcı tablosu örnekleri

    Yeni ziyaretçilerin tescili ve sitenin içeri / dışındaki kullanıcılar çok sayıda kez gelişti, ancak herhangi bir sitenin bu önemli bölümünde mükemmellik için bir sınır yoktur.

    Birçok yönden, giriş / çıktı ve kayıt, kullanılan site yeterliliği ve / veya kullanılan site yönetim sistemi kapsamında belirlenir, ancak daha sık - daha güvenli bir şey geliştirme, kullanıcı hesaplarını korumak, sitenin hacklemesini önler.

    Genellikle MySQL veritabanı siteden daha fazla korunur, ancak bir arıza durumunda, tarayıcı ekranını, ad ve şifreleri içeren Site Yapılandırma Kodunun hata mesajlarında görüntülemek dışında değildir.

    İyi uygulama - statik ve dinamik bileşenlerle ilgili verileri bölün. Kullanıcı tablosu örneğinde, bir toplu kullanıcının tablosuna ve aktif CACE_USER'sine sahip olabilirsiniz. İlk tabloda çok sayıda kullanıcı içeriyor, ikincisi - sadece son günde çalışanlar (örneğin). İkinci tabloda eksik olan her yeni kullanıcı giriş / kayıttan sonra gelir ve bir süre saklanır.

    Ancak burada iki tabloya bölünme, yalnızca veri örnekleme oranını (küçük masa, hacimli ve büyük ve büyüklerde her zaman daha hızlı) değil, aynı zamanda yalnızca belirli bir sitenin herhangi bir müşterisinin çalışmasına yerleştirilen bilgiler de bulunur. Örnekleme veya veri değişikliği için doğal olarak, ana tablo kullanılır.

    Hafıza, Bilgi ve Veritabanları

    Bilgi teknolojileri alanında, bir şekilde hafıza programlama dili sunmak zorunda değildi. Dil, bir şeye izin veren ve bir şekilde manipüle eden değişkenler, sabitler ve yapılardır. Veritabanı bir şeyi depolayan bir şeydir. İçinde bir şey seçmek için her zaman bir şey seçebilirsiniz.

    Dil ve üs, bilgi ile çalışmak için birleştirilir, ancak bu triadadaki ilişkilerin mantığı, basit bir amper demetinde bile mükemmel değildir: Apache, PHP, MySQL. Burada her şey açık: Sunucu, programlama dili ve veritabanı - ezici sayıda görev için ihtiyacınız olan her şey.

    SQL Dili aynı programlama dilidir ve gerçekten de veritabanında kendi çalışma mantığı, kendi programlama kavramı vardır. Programlamaya doğru bir veritabanının arzusu var. PHP iyi bir araçtır, ancak yeterince veritabanlarına yönelik yeterince çaba sarf ettiğini söylerken, zordur. Ancak, tasarımları ve işlevleri gelişmekte ve gelişmektedir.

    PHP ve MySQL'yi tek bir bütün halinde birleştirirseniz, hafızalı bir araç alacaksınız. Kombinasyon seçeneği, nesne yönelimli programlama fikrini verir: Dilde açıklanan nesne, gereksizliği sırasında, kompakt bir durumda bellekte (veritabanında). İhtiyacı olduğunda, tam teşekküllü bir nesneye geri yüklenir ve yetkinliğine uygun olarak hareket eder.

    Son güncelleme: 04/05/2018

    Bir masa oluşturma

    Tablo oluştur komutu, tablolar oluşturmak için kullanılır. Bu komut, tablonun sütunlarını ve özniteliklerini tanımlayan bir dizi operatör uygular. Genel resmi sözdizimi komutu Tablo oluşturun:

    Tablo name_table oluşturun (name_stolbet1 type_dan attributes_stolbts1, name_stolbet2 type_dan attributes_stolbets2, ........................................ .......... name_stolbets type_dan attributes_stolbets, attributes_eurvy_tables)

    Tablo oluştur komutundan sonra, tablo çalışıyor. Tablo adı, tanımlayıcısının veritabanında rolünü gerçekleştirir, bu nedenle benzersiz olmalıdır. Daha sonra parantez içinde, sütunların adlarını, veri türlerini ve niteliklerini listeler. Sonunda, tüm tablonun özelliklerini tanımlayabilirsiniz. Sütunların özelliklerinin yanı sıra tablo nitelikleri de isteğe bağlıdır.

    En basit tabloyu oluşturun. Bunu yapmak için aşağıdaki komut dosyasını yürütün:

    Veritabanı ProductsDB oluşturmak; ÜrünlerDB'yi kullanın; Masa müşterileri oluşturun (ID int, yaş int, firstName varchar (20), soyadı varchar (20));

    Tablo kendi başına yaratılamaz. Her zaman belirli bir veritabanında oluşturulur. Başlangıçta, ÜrünlerDB veritabanı burada oluşturulur. Ve sonra, tablonun oluşturulması da dahil olmak üzere tüm diğer işlemlerin bu veritabanıyla yapıldığını belirtmek için, Kullanım komutunu kullanın.

    Aşağıdakiler, müşteriler olarak adlandırılan bir tablonun oluşturulmasıdır. Dört sütunu tanımlar: Kimlik, Yaş, FirstName, Soyadı. İlk iki sütun, müşterinin ve yaşının tanımlayıcısını temsil eder ve int türüne sahip, yani sayısal değerleri saklarlar. Aşağıdaki sütunlar, istemcinin adını ve soyadını temsil eder ve VARCHAR (20) tipine sahip, yani 20 karakterden fazla olmayan bir dizgiyi temsil eder. Bu durumda, her sütun için veri adı ve türü tanımlanırken, sütunların ve tabloların özellikleri genellikle yoktur.

    Ve bu komutun yürütülmesinin bir sonucu olarak, Müşteriler tablosunun oluşturulacağı ÜrünlerDB veritabanı oluşturulur.

    Masaları yeniden adlandırmak

    Eğer tabloyu oluşturduktan sonra, bunu yeniden adlandırmak isteyeceğiz, bunun için aşağıdaki sözdizimine sahip olan Rename Tablo komutunu kullanmanız gerekir:

    Tablo Old_Name adını new_name olarak yeniden adlandırın;

    Örneğin, müşterilerdeki müşterilerin masasını yeniden adlandırırız:

    Masa müşterilerini müşterilere yeniden adlandırın;

    Tam veri silme

    Verileri tamamen silmek için, tablo komutunu temizlemek için masa temizleme kullanılır. Örneğin, istemciler tablosunu temizleyin:

    Tablo istemcilerini keser;

    Tabloları sil

    Bir tabloyu veritabanından silmek için, damla tablosu komutu kullanılır, ardından tablonun adı belirtilir. Örneğin, istemciler tablosunu silin.