Mova zapitіv SQL. Ek SQL istekleri için Access veritabanından veri seçimi Daraltılabilir SQL isteklerinin oluşturulması ms access

Golovna / Korisne PZ

Web perakendecisinin dış görünümü, veritabanlarına bir sorgu yazmak için SQL soylularının sorumluluğundadır. phpMyAdmin ile uğraşmak istemiyorsanız, düşük seviyeli SQL yazmak için genellikle ellerinizi kirletmeniz gerekir.

Bu nedenle, SQL'in temellerine kısa bir gezi hazırladık. Başlayalım!

1. Tablo oluşturma

CREATE TABLE ifadesi, tablolar oluşturmak için tanınır. Bir argüman olarak, stovptsіv'in isimleri ve türleri verilmiştir.

im'ya üzerinde basit bir tablo oluşturalım ay. Won 3 sütundan oluşur:

  • İD– Takvim rotasyonunun ay numarası (tsile numarası).
  • isim– Ayın adı (en fazla 10 karakterlik bir satır).
  • günler– Ayın gün sayısı (tam sayı).

Görselleştirilmiş bir SQL sorgusu olarak eksen:

CREATE TABLE aylar (id int, name varchar(10), günler int);

Ayrıca, tabloları katlarken, sütunlardan birinin birincil anahtarını ekleyin. Tse, trimati kayıtlarının benzersiz olmasına ve vibirka'daki içeceği hızlandırmasına izin verir. Zihnimizin ay için benzersiz bir adı olmasına izin verin (stovpets isim)

CREATE TABLE aylar (id int, isim varchar(10), gün int, PRIMARY KEY (isim));

o saate tarih ver
veri tipiTanım
TARİHTarih değeri
DATETIMEMinty için tarih değeri ve saat
ZAMANSaat değeri

2. Satır ekle

Şimdi tablomuzu dolduralım aylar temel bilgiler. Tabloya kayıt eklemek INSERT deyimi ile yapılır. Talimatları yazmanın iki yolu vardır.

İlk yol, verilerin ekleneceği sütunların adlarını belirtmek değil, fazladan bir değer belirtmektir.

Bu kayıt yöntemi basittir, ancak güvenli değildir, projeyi genişletme dünyasında, düzenleme tablolarının, sütunların eskisi gibi sıralanacağının garantisi yoktur. INSERT komutunu yazmanın güvenli (ve aynı zamanda daha hantal) bir yolu, değerlerin yanı sıra ifadelerin sırasını da değiştirecektir:

İşte listedeki ilk değer DEĞERLER ilk atanan adı ilkine verin.

3. Tablodaki verilerin incelenmesi

SELECT ifadesi, bir veri tabanından veri almak istediğimizde en iyi arkadaşımızdır. Daha sık kazanacak, bu yüzden kendinizi birinci lige saygıyla koyun.

En basit seçim SELECT komutudur - tablodaki tüm sütunları ve satırları döndüren bir sorgu (örneğin, ad üzerindeki tablolar) karakterler):

"Karakterlerden" * SEÇİN

Zirochka sembolü (*), tüm gönderilerden veri almak istediğimiz anlamına gelir. SQL veritabanları birden fazla tablodan oluştuğu için, o zaman dilde FROM anahtar sözcüğünü belirtmek gerekir, bundan sonra tablonun adını bir boşluktan sonra kullanabilirsiniz.

Bazı durumlarda, gerekli ifadelerden tablodan verileri çıkarmak istiyoruz. Kimin için, yıldızların vekili (*) bezen evliyalarının isimlerini kimin aracılığıyla yazmaktan bana suçludur.

ID SEÇ, isim FROM ay

Ek olarak, sonuçların sıraya dizilmesini istiyoruz. SQL, ORDER BY yardımının avantajına sahiptir. İsteğe bağlı bir değiştiriciyi - büyümeye göre sıralayan ASC (kilitlemek için) veya düşmeye göre sıralayan DESC'yi kabul edebilirsiniz:

ID SEÇ, isim FROM aydan SİPARİŞ ADINA GÖRE DESC

Aynı zamanda, SELECT deyiminde bırakmak için ORDER BY değiştirin. Aksi takdirde, af hakkında bir hatırlatma göreceksiniz.

4. Veri filtreleme

Kesinlikle aynı satırlar için ek SQL verileri için veri tabanından nasıl seçim yapacağınızı anladınız mı, ancak bir sonraki satırı nasıl almamız gerekiyor? Burada yardımcı olmak için, zihnin nadasındaki verileri filtrelememize izin veren beyinler NEREDE gelir.

Tablolardan sadece o ayları seçiyoruz ay, ek operatör için 30 günden fazla olan daha fazla (>).

ID SEÇ, isim FROM ay NEREDE günler > 30

5. Genişletilmiş veri filtreleme. Operatörler AND ve OR

Daha önce, bir kriterin zaferlerinden elde edilen verileri filtreleyerek kazandık. Verilerin daha fazla işbirlikçi filtrelemesi için AND ve OR operatörlerini ve operatörlerini (=,<,>,<=,>=,<>).

Burada son zamanlarda en çok satılan albümlerin intikamını nasıl alacağımıza dair bir tablomuz olabilir. Rock olarak sınıflandırılan ve 50 milyondan az satmış olabileceklere bir göz atalım. AND operatörünü iki zihin arasına yerleştirmek için yolu kolayca kullanabilirsiniz.


SELECT * WHERE tür = "rock" VE sales_in_millions albümlerinden<= 50 ORDER BY released

6. İçinde/Arasında/Beğenme

WHERE ayrıca en yaygın zaferleri hızla değiştirmenize izin veren birkaç özel komutu da destekler. Koku Ekseni:

  • IN - çeşitli zihinlerin atanmasına hizmet etmek
  • ARASINDA - belirtilen aralığın değerinin ne olduğunu kontrol edin
  • GİBİ - şarkı kalıpları için fısıldayarak

Örneğin, yaksho mi wanto vibrati albümleri z pіpі ruh müzikle IN("value1","value2") kazanabiliriz.

SELECT * WHERE türdeki albümlerden ("pop", "soul");

1975 ile 1985 yılları arasında görülen tüm albümleri çıkarmak istiyorsak, kayıt yapmaktan suçluyuz:

SEÇ * 1975 VE 1985 ARASINDA çıkan albümlerden;

7. Fonksiyonlar

SQL, farklı el yazısı konuşmaları parçalamak gibi işlevlerle dolu. En sık zaferlerin elde edildiği eylem ekseni:

  • COUNT() - satır sayısını döndürür
  • SUM() - sayısal değerin toplamını döndürür
  • AVG() - boş değerden ortalama değeri döndür
  • MIN() / MAX() - istasyonun minimum / maksimum değerini alın

Tablolarımızın geri kalanını kaldırmak için aşağıdaki SQL sorgusunu yazmaktan sorumluyuz:

Albümlerden MAX (yayınlandı) SEÇİN;

8. İçecek

Ön noktada, kottan basit güllerin nasıl işleneceğini öğrendik. Bu araştırmaların sonuçlarını kazanmak istiyorsak yatırım yapmadan yapamayız. Diyelim ki görmek istiyoruz sanatçı, albümі çıkış tarihi masadaki en eski albüm için.

Belirli öğeleri nasıl dikkate alacağımızı biliyoruz:

SEÇ sanatçı, albüm, FROM albümlerden;

Erken nehri nasıl alacağımızı da biliyoruz:

Albümden MIN SEÇ (yayınlandı);

Tek seferde ihtiyaç duyulan her şey - yardım için iki içeceği birleştirmeniz yeterlidir.

SEÇİM sanatçı, albüm, yayınlanan albümlerden NEREDE yayınlandı = (SELECT MIN (serbest bırakıldı) FROM albümler);

9. Ortak tablolar

Katlanan veritabanlarında birbirine bağlı birkaç tablo vardır. Örneğin, aşağıda video oyunlarıyla ilgili iki tablo bulunmaktadır ( video oyunları) ve rozrobnikiv videogoru ( game_developers).


tablolarda video oyunlarıє perakende sütunu ( geliştirici_kimliği), ancak tam numarası var, ancak perakendecinin adı yok. Tse numarası є tanımlayıcısı ( İD) ilgili perakendecinin Igor perakendeci tablolarından ( game_developers), mantıksal olarak iki listeyi birbirine bağlayarak, her ikisinde de aynı anda toplanan bilgileri kazanmamızı sağlar.

Oyunlar hakkında bilmemiz gereken her şeyi çeviren bir dosya oluşturmak istiyorsak, her iki tablonun sütunlarını birbirine bağlamak için INNER JOIN kullanabiliriz.

video_games.name, video_games.genre, game_developers.name, game_developers.country SEÇ video_games'DEN İÇERİDE JOIN game_developers ON video_games.developer_id = game_developers.id;

En basit ve en kapsamlı JOIN türü. Diğer seçeneklerin serpilmesi, ancak vipadkiv'in daha küçük kısımlarına zastosovuetsya kokusu.

10. Aliasey

Ön popoya hayran kalırsanız, başlığın iki sütunu olduğunu hatırlarsınız. isim. Pantel'i yendin, öyleyse tekrarlardan birinin takma adını koyalım, örneğin, isim tablolardan game_developers Aranacak geliştirici.

Tablo takma adlarını da hızlıca isteyebiliriz: video oyunları isminde oyunlar, game_developers - geliştiriciler:

Geliştirici OLARAK games.name, games.genre, devs.name SEÇİN, devs.country FROM video_games'DEN oyunlar OLARAK İÇERİDE geliştiriciler OLARAK game_developers'a KATILIN games.developer_id = devs.id;

11. Veri güncelleme

Çoğu zaman bazı satırlardaki verileri değiştirebiliriz. SQL, UPDATE deyimiyle ilgili yardım istiyor. GÜNCELLEME talimatı şunlardan oluşur:

  • Değiştirmenin anlamının bilindiği tablolar;
  • stovptsіv ve їх yeni anlamların isimleri;
  • NEREDE satırları yükseltmek istiyorsak yardım için seçilir. Mümkün olduğunca, tablolardaki tüm satırlar değiştirilir.

Aşağıda bir tablo Televizyon dizisi kendi derecelendirme ile diziler ile. Ancak, küçük bir af masaya sızdı: Bir seri istiyorum Gras of Thrones ve bir komedi olarak tanımlanıyor, ama gerçekten değil. Hadi düzeltelim!

Tablo verileri tv_series UPDATE tv_series SET tür="drama" WHERE id=2;

12. Veri vizyonu

SQL yardımının arkasında bir dizi tablo görmek çok basit bir işlemdir. Tek ihtiyacınız olan, görmeniz gereken bir tablo ve bir satır seçmek. Masada kalan sırayı ön popodan görelim Televizyon dizisi. Yardım talimatları için acele edin >SİL

tv_series WHERE id=4'DEN SİL

DELETE talimatlarını yazarken dikkatli olun ve NEREDE konusunda fikrinizi değiştirin, aksi takdirde tüm tablo satırları silinecektir!

13. Tablo görünümü

Tüm satırları görmek veya tablonun kendisini silmek istiyorsak, TRUNCATE komutunu kullanın:

TRUNCATE TABLE tablo_adı;

Hem verileri hem de tablonun kendisini gerçekten görmek istiyorsak, DROP komutuna ihtiyacımız var:

DROP TABLE tablo_adı;

Bu komutlara dikkat edin. Їx söyleyemezsin!

Bunun üzerine SQL'den asistanımızı tamamlayacağız! Çok fazla şey açıklamadık, ancak zaten bildikleriniz web taşıyıcınızda size biraz pratik deneyim kazandırmak için yeterli olabilir.

Microsoft Access SQL ve ANSI SQL z'ye benzer. Microsoft Access SQL, ANSI-89 (rіven 1) z ile son derece uyumludur. Deyakі ANSI SQL kodları, Microsoft Access SQL z'de denetlenmez. ANSI SQL tarafından desteklenmeyen Microsoft Access SQL ayrılmış sözcükleri

Sözdizimi uzantıları. Access 2000 (MS Jet 4.0), dili ANSI SQL-92 standardına yaklaştıran bir uzantıya sahiptir - Jet için MS OLE DB Sağlayıcısından daha erişilebilir bir mod

Diğer kurallar Arası yapımı için kötüdür. . . Ve örneğin, rahatsız edici sözdizimi şöyledir: double 1 Değer 1 ile değer 2 arasında Microsoft Access SQL'de, değer 1 daha büyük, değer 2 daha düşük olabilir; move ANSI SQL değeri 1, değer 2'den küçük veya daha fazla olabilir.

joker karakterler z Hareket halindeyken Microsoft Access SQL, operatörün değişkeninin saati Like, ANSI SQL'in joker karakterleri hareket ettiğinden kırpılır, bu nedenle joker karakterler, zrazku vіdpovіdat sing zrazku.), scho susuyutsya Microsoft Access. ANSI joker karakterlerini ve Microsoft Access'i bir gecede kullanmak mümkün değildir. Yalnızca bir karakter kümesinin kullanılmasına izin verilir, bunlar değiştirilemez.

Microsoft Access SQL z'de gösterilmeyen ANSI SQL olanakları. Iznstrukiya DÖNÜŞÜM Subsyvo kaydının piditrimini hissetmek (Alt kalıtım kaydı. Kayıt, Suma'nın bahçesinde, orta, sayı, İstatistiksel Rosrakhunki, Pisly, Vigilov Tablolarının sonuçları, bir satır.).

Microsoft Access SQL z'de gösterilmeyen ANSI SQL olanakları. Alternatif önermeler, güç kaynağı tarafından döndürüldükleri için bir dizi satırın değişimi için nn SATIRLA SINIRLIDIR. z. SQL'in ek istatistiksel işlevleri, örneğin St. Dev ve Var. P

Microsoft Access SQL z'de gösterilmeyen ANSI SQL olanakları. Girişe parametre atamak için (Parametrelerden giriş. Giriş, bir veya aynı anda, seçime atadığınız değer kısa sırayla interaktif modda girilir. Parametrelerden giriş, yalnızca giriş türü değildir. girişi; girişi PARAMETRELER seçeneğine işlevsel olarak genişletiyor.)

Komut sözdizimi SEÇ [yüklem] (* | tablo. * | [tablo. ]alan_1 [, [tablo.]alan_2 [, . . . ]]) viraz'dan [, . . . ]

SELECT ifadesinin bağımsız değişkenleri Yüklem Sonraki seçimden biri şunları belirtir: ALL, DISTINCTROW veya TOP. Yüklemler, döndürülen kayıt sayısının değişimi için galip gelir. İmkansız olsa da, kilit için ALL yüklemi kullanılır.

ALL, DISTINCTROW, TOP z'yi belirtir. SEÇ ]] z tablosundan. ALL - Tüm kayıtlar, SQL deyiminde ayarlanan zihinle eşleşecek şekilde seçilir.

DISTINCT yüklemi - seçilen alanlarda tekrarlanan değerleri kaldırmak için kayıtları içerir. Ortaya çıkan veri neonizasyonları seti

DISTINCTROW yüklemi - Yalnızca tekrarlanan alanlara değil, tam olarak tekrarlanan kayıtlara dayalı verileri atlayın. DISTINCTROW yüklemi, yalnızca bir tablonun veya tüm tabloların alanlarının silinmesini gerektirdiğinden yok sayılır.

AYRINTILI z. DISTINCTROW spіvrobіtnik SEÇİN. fio, düzen. item_code z. Spіvrobіtnik'TEN INNER JOIN düzeni z. ON Spіvrobіtnik. uygulama_kodu = düzen. uygulayıcı_kodu;

FARKLI SEÇİM AYRI SPIVROBITNIK. PIB, düzen. item_code FROM SPIVROBITNIK INNER JOIN düzeni SPIVROBITNIK ÜZERİNDE. Uygulama_kodu = dağıtım. uygulayıcı_kodu;

DISTINCT sorgusuna dahil edilebilmesi için “unique value” sorgusunun gücü için “so” değerinin seçilmesi, DISTINCTROW sorgusuna dahil olabilmesi için ise “so” değerinin seçilmesi gerekmektedir. "benzersiz kayıtlar" sorgusunun gücü.

TOP gibi yüklem. TOP n - ORDER BY ek önermesi tarafından açıklanan, koçandaki veya son aralıktaki kayıt sayısını döndürün.

popo En büyük 5 departmanı seçin İLK 5 departmanı SEÇİN. [Department_name_outside], Count(resource_resources. Requirement_code) AS [talep edenlerin sayısı] departmandan İÇİ talep sahipleri ON departmana katılın. Code_department = spіvrobіtniki. Departman_kodu Departmana GÖRE GRUP. [External_department_name] Sayıya Göre SİPARİŞ(resource_resource_code) DESC;

Owneraccess Seçeneği ile Vicoristov, Bagato Bagato Coristuvichi Sirdovishni deposunda, nadanny Koristuvachev, prazu, izin vererek, ciddi tahsisi zorlayarak viccorized olacaktır.

SELECT ifadesinin field_1, field_2 bağımsız değişkenleri, verileri seçmeniz gereken alanların adlarıdır. Sulama miktarını arttırdığınız anda, koku belirlenen sıraya göre alınacaktır.

SELECT ifadesinin Alias_1, Alias_2 argümanları, tablodaki sütunların orijinal adları yerine sütunların başlıkları olacak isimlerdir.

Numaralandırılmış alanın adı için bir takma ad uygulayın Örnek 1 Heceleyiciyi SEÇİN. PIB, [maaş]*0. 5 Spivrobitnik'ten AS Ödülü; Popo 2 Maaştan Ortalama_maaş OLARAK Ort. (maaş) SEÇİN;

Koristuvach SELECT Zovnishnya destekçisinin argümanları. Temel. Veri tabanının adı, mevcut veri tabanında koku bulunmadığı için, viraz'ın ek argümanına atanan tabloların intikamını almak için verilmiştir.

SEÇİM listesinden teklif. Viraz z'den sulama Viraz - bir veya daha fazla tablo belirleyen viraz, yıldızlar çizilir. Bu komut dosyası, tablodan, kaydedilen verilerden veya INNER JOIN, LEFT JOIN veya RIGHT JOIN işleminin sonucu olarak adlandırılabilir.

Spіlna obrobka kіlkoh (3) tablo SELECT spіvrobіtnik. PIB, konu. [kısaca öğe adı] INNER JOIN listesinden (madde INNER JOIN [öğelerle birlikte hacim] öğe AÇIK. [ürün kodu] = [öğelerle birlikte hacim]. [disiplin kodu]) AÇIK liste. Kod = [volodin öğeleri]. [spіvrobіtnik kodu];

İnşaat arasında. . . Ve viraz 1, viraz 2 VE viraz 3 z ARASINDA. Microsoft Access SQL'de daha yüksek 2, daha düşük 3 olabilir, ancak ANSI SQL olmayabilir.

Şablon için Like yüklem Sembolleri Şablon için Değişken sembolleri Like yüklemi ile eşleştirilir. Karakter şablonu ANSI SQL MS Access SQL z Hangi karakter? _ (alt simge) z Herhangi bir karakterden oluşan bir grup olun * % z Her gün karakter_listesinden [char_list] önce görünmesi gereken tek bir karakter olun z Her gün karakter_listesinden [!char_list] önce görünmemesi gereken herhangi bir tek karakter

z. Kalan iki kapasite - yalnızca Access 2000 z için. ANSI SQL-92 gibi Access 2000, ANSI z joker karakterlerini kullanabilir. İşaretleri bir içkide karıştırmak imkansız

Önerme GROUP BY z. SEÇ liste. FROM alanı zihnin WHERE tablosudur. Vіdboru z gruplandırılmıştır. Alanlar – kayıtları gruplamak için seçilen alan adları (en fazla 10). Bağımsız değişkenlerdeki alan adlarının sırası gruplandırılır. Alanlar, derinin çiç sulamasının gruplanma düzeyini belirler.

GROUP BY z Kayıtları gruplandırmanın dışında tutmak için WHERE yan tümcesini ve gruplamadan sonra kayıtlardan önce filtreyi durdurmak için HAVING yan tümcesini değiştirin. z GROUP BY önermesi seçildiğinde, SELECT ifadesinin alan listesindeki tüm alanlar GROUP BY önermesine dahil edilmelidir, aksi takdirde SQL istatistiksel işlevinin argümanları olarak seçilirler.

popo 5'ten fazla uygulayıcının olduğu sandalyeler. spіvrobіtnik SEÇİN. [Departman kodu], Count(gerektiren PIB) AS [Number_of_of_referans] GROUP BY referanstan. [Bölüm kodu] HAVING (((Count(spіvrobіtnik. ПІБ))>5));

Tablonun başı “firmalar”, “spivrobitniki” ve “tasdik”. Cilt firmaları için onaylanmış uzman sayısının belirlenmesi gereklidir (PP kilkom için bir uzman sertifikalandırılabilir).

SELECT ifadesi. . . INTO Sözdizimi z. Tablo oluşturmak için bir istek oluşturur. SEÇ field_1[, field_2[, . . . ]] INTO yeni. tablo dzherelo'DAN

Ortak Talebi (Ek 1) SEÇİN İsim, Yer SEÇ Posta işçilerinden BİRLİK SEÇİM İsim, Yer Müşterilerden SİPARİŞ YERİNE GÖRE;

Sendika talebi (Örnek 2) SEÇİN Adı, Yeri Posta işçilerinden SEÇİN BİRLİK TÜMÜNÜ SEÇİN Adı, Yeri Müşterilerden; - UNION ALL, tekrarlar dahil tüm kayıtların rotasyonunu sağlar

Sorgu satıcısı QBE seçimi ile alt sipariş sorgusu oluşturma Alanın zihinlerini seçmek için bir alt sipariş sorgusu olarak, alanın sütununda Umova seçiminin satır satırına SELECT ifadesini girin. SELECT ifadesi yuvarlak başa yerleştirilmelidir.

Talimat DELETE z Kayıtları sil, kayıtları bir kereden fazla siler, ancak belirtilen alanlardan fazlasını siler. Belirli bir alanın verilerini görüntülemek için, gerçek değerlerin yerini alan kayıtları güncelleme talebi oluşturun. DROP komutunun görünümünde tablo yapısı ve tüm yetkiler kaydedilir.

z. Bir “basamaklı görünüm” kurulu olduğundan, ilgili tüm girişleri z görebilirsiniz. Görüntülenen kayıtlar geri yüklenemez

Tablo oluşturma. Komut sözdizimi CREATE TABLE tablosu (alan 1 tip [(expir)] [index1] [, alan 2 tip [(expir)] [index2] [, . . . ]] [, CONSTRAINT index_field_spill [, . . . ]]))

Tablo oluşturma. Komut sözdizimine erişim

GEÇİCİ Zaman tablosu yalnızca tablonun oluşturulduğu oturumda kullanılabilir. Oturum tamamlandığında, otomatik olarak görülecektir. Az sayıda coristuvach için zamanlama tabloları mevcut olabilir.

SIKIŞTIRMALI z. WITH COMPRESSION özniteliğinin varyasyonuna yalnızca CHARACTER ve MEMO veri türleri için izin verilir. z. Unicode karakter gösterim biçimine geçişi telafi eder

ALTER TABLE tablo yapısı (EKLE (COLUMN alan tipi[(exp)] | ALTER COLUMN alan tipi[(exp)] | CONSTRAINT field_set index) | DROP (COLUMN field I CONSTRAINT indeks_adı) )

z Karakter cinsinden alan boyutu yalnızca METİN ve BINARY veri tipine sahip alanlar için kullanılır z SÜTUN EKLE - tabloya yeni bir alan eklemek için z SÜTUN ALTER - temel alanın veri türünü değiştirmek için z SÜTUN BIRAK - bir alanı bırakmak için. z SINIRLAMA EKLE - dizine eklemek için z SINIRLAMA DROP - dizini kaldırmak için

CREATE TABLE tablosu (alan 1 tip [(boyut)] [, alan 2 tip [(boyut)] [, …]] [, CONSTRAINT multifieldindex [, …]])

İndeks tarafından oluşturuldu. Komut sözdizimi CREATE [ UNIQUE ] INDEX dizin AÇIK tablosu (alan [, alan , . . . ])

İndeks tarafından oluşturuldu. Komut sözdizimi CREATE [ UNIQUE ] INDEX dizin AÇIK tablosu (alan [, alan , . . . ])

z-index tarafından oluşturuldu. DISALLOW NULL – yeni z kayıtlarının dizin alanlarında Null değerinin bulunmasını engeller. IGNORE NULL, dizinlenmiş z alanlarında Boş değerlere sahip olabilecek kayıt dizininden önce dahil edilmeye karşı koruma sağlar. BİRİNCİL - dizine alınmış alanları bir anahtar olarak tanır

Katlanmış bir dizin uygulayın Örnek 1. İNDEKS OLUŞTUR Yeni. Endeks ON Çalışanlar (Ev. Telefon, Dahili Hat); Örnek 2: EŞSİZ DİZİN OLUŞTURMA Özel. DISALLOW NULL İLE Müşterilerin Kimliği (Customer.ID);

ALTER TABLE değişkeni bir dizin oluşturmak için ALTER TABLE tablosu (EKLE (SÜTUN alan türü[(son kullanma)] | ALTER SÜTUN alan türü[(son kullanma)] | KISITLAMA alan_kümesi dizini) | DROP (SÜTUN alanı I KISIT adı_dizini))

Yaratılış tezahürü. CREATE VIEW komutunun sözdizimi [(field_1[, field_2[, . . . ]])] AS komutudur. Seçme

Tabloların yapısını değiştirme ALTER TABLE tablosu (ADD (COLUMN alan tipi[(boyut)] | ALTER COLUMN alan tipi[(boyut)] | CONSTRAINT ambar. indeksi) | DROP (COLUMN field I CONSTRAINT im. index) )

Nesneleri görüntüle DROP (TABLO tablosu | INDEX dizini AÇIK tablosu | PROSEDÜR prosedürü | Konuyu GÖRÜNTÜLE)

ALTER USER veya DATABASE z. VERİTABANI ŞİFRESİNİ ALTER yenişifre eskişifre z. ALTER USER kullanıcı ŞİFRESİ Yeni şifre eski şifre

Sözdizimi GRANT (ayrıcalık[, ayrıcalık, ...]) ON (TABLE tablosu | OBJECT nesne| KONTEYNER konteyner ) TO (yetkilendirmeadı[, yetkiadı, ...])

Ayrıcalık z SEÇ z SİL z EKLE z GÜNCELLEME z DROP z SELECTSECURITY z UPDATESECURITY z DBPASSWORD z UPDATEIDENTITY z CREATE z SELECTSCHEMA z UPDATEOWNER

z. Nesne (ob'єkt) - örneğin, zapit, z gibi bir tablo olmayan bir nesnenin olup olmadığı anlamına gelebilir. Yetkilendirme adı - im'ya koristuvacha veya groupi

KULLANICI kullanıcısını[, kullanıcı, …] gruba EKLE Coristuvachs, gruba devredilen tüm hakların anası olacak

DROP KULLANICI veya GRUP z. DROP USER user[, user, ...] DROP USER Grubun türevini görüntüleyin, ancak z'nin türevini belirtmeyin. DROP GROUP grup[, grup, …] DROP GROUP grubu görür ancak aynı gruplarda takılıp kalmaz; pis kokun sadece bir grubun üyesi olmayı bırak

REVOKE - nesne nesnelerinin belirtilmesi REVOKE (ayrıcalık[, ayrıcalık, ...]) AÇIK (TABLO tablosu | NESNE nesnesi | KONTEYNER kabı) FROM (yetkilendirmeadı[, yetkiadı, ...])

Ek özellikler MS Access SQL z. TRANSFORM komutu, çapraz beslemelerin oluşturulması için tanınır z Ek grup fonksiyonları, örneğin St. Dev ve Var. P z PARAMETRELERİN açıklaması, istekleri parametrelerle eşleştirmek için atamalar

SELECT ifadesi. . . SEÇİM alanı 1[, alan 2[, . . . ]] eskiden new_table'a

Access DBMS'nin iki tür isteği vardır: QBE - anlık i isteği SQL(Yapılandırılmış Sorgu Dili) - yapılandırılmış sorguların dili. Talep, "Talep Oluşturucusu" penceresindeki talep için özel bir form doldurma yöntemi temelinde oluşturulur. SQL - istekler programcılar tarafından SQL dizisinden oluşturulur - Talimatlar. SQL, kural olarak, "Creation" sekmesinde "Designer of request" komutuyla girilen istek formunda programcılar tarafından oluşturulur ve ardından View menüsünden "SQL Mode" seçilir. Verilerle çalışmak için Mova SQL atamaları, tobto. ilişkisel veritabanlarında oluşturma, değiştirme ve veri yönetimi için.

SQL istek modlarının (ANSI-89 SQL ve ANSI-92 SQL modları için) sayısının ANSI-89 SQL ve ANSI-92 SQL standartlarına uygun olduğunu belirtin.

mov SQL'de bir dizi verinin tanımını yazma talimatları. SQL ifadeleriönermelerden oluşur (SEÇ, FROM, NEREDE, vb.). önermeler mov SQL'de terimler birleştirilir (operatörler, komutlar, tanımlayıcılar, sabitler vb.). Talimat operatör tarafından başlatılır (SELECT, CREATE, INSERT, UPDATE, DELETE, vb. komutlarından biri) ve bir blob ile biter. Temel SQL ifadeleri: SELECT, FROM ve WHERE.

Örneğin, SQL ifadesi:
Öğrencileri SEÇ.ÖğrenciKimliği
Öğrencilerden;
"Öğrencileri SEÇ.ÖğrenciKodu" önermeleri ve "Öğrencilerden FROM" önermeleri.

önerme intikamını SEÇ Şebeke SEÇ ve tanımlayıcı"Öğrenciler.ÖğrenciKodu". Burada, "Öğrenci Kodu" alanının adı dışında, veri tabanının "Öğrenciler" tablosunun adı görüntülenecektir. SEÇ - gerekli verileri almak için bir alan seçer. FROM yan tümcesi, FROM operatörü ve "Öğrenciler" tanımlayıcısından oluşur. FROM - SELECT anahtar sözcüğüne atanan alanları taramak için bir tablo belirler.

Bir sonraki adım, SQL sorgumu şekillendirmek için sözdizimini düzeltmenin gerekli olduğunu belirtmektir. SQL filminin sözdiziminin İngilizce filmin sözdizimine dayandığından bağımsız olarak, ancak farklı DBMS için SQL sürümlerinin sözdizimi değiştirilebilir.

Іsnuє kіlka istek türleri: titreşim, güncelleme, kayıt ekleme ve revize etme, çapraz istek, o uzak tabloyu oluşturma, tekrar tablo ekleme. En çok genişletelim - bir titreşim isteyin. Tablolara dahil edilecek gerekli kortikal bilgileri seçmek için bir seçim isteyin. Po'yazanih sofralarında daha az koku oluşur.

SQL'e bakmak için - Access 2003 veya 2007 DBMS'de bir seçim isteyin;


Pirinç. 1.

Öğrenci başarı kriteri "Skor = 5"e göre Access 2003 veritabanından veri seçmek için SQL deyimini (SELECT) alıyoruz (Şekil 2).



Pirinç. 2.

SELECT deyimi gibi (Şekil 1), SQL dilinde veri toplamayı gösterir: SELECT - verilerin depolanacağı tablo adlarıyla değiştirilen alan adlarını ayarlar; FROM - hangi verilerin seçildiğine bağlı olarak tablonun anahtar alanları (içinde INNER JOIN...ON yapısının seçili olduğu) aracılığıyla tablolar ve bağlantılar atar; WHREME - sulama seçimini belirler; ORDER BY - "Öğrenciler" tablosundaki "Öncelik" alanının değerini yaşa göre sıralama yöntemini ayarlar (yaşa göre sıralama varsayılan olarak seçilir).

Veritabanından veri seçme talimatlarını gördüğünüz gibi, SQL dili veritabanından ne alınması gerektiğini belirler, DBMS kullanıcısına emanet edilmiştir, SQL dili dilinin programları yönetmek için kendi araçları yoktur.

SQL isteği - bu, ek SQL talimatları için oluşturulmuş bir istektir. Mova SQL (Yapılandırılmış Sorgu Dili), sorgu oluştururken ve Microsoft Access veritabanları gibi ilişkisel veritabanlarını yükseltmek ve yönetmek için kullanılır.

Tasarım modunda bir sorgu oluşturduğunuzda, Microsoft Access otomatik olarak eşdeğer bir SQL ifadesi oluşturur. Є bir dizi zapitіv, yakі SQL modunda daha az zrobiti olabilir. Gelişmiş programcıların SQL'de bir kez yazıp ardından bir istek oluşturması genellikle daha kolaydır.

Yapıcıdaki istek türü:

Katlanmış güller ile art arda biraz su çalışması sonucu elde edilir. Vikonuvatsya'nın görevlerinin koristuvach'ın katılımı olmadan otomatik olarak gerçekleştiğini anladım.

Hangi makroların muzaffer olduğu, sırayla muzaffer olan dekіlkoh komutlarından oluşan.

Taleplerin hesaplanması, formüller oluşturma ve düzenleme imkanı.

Şemadaki atamalardan alanlar için tablonun hesaplanıp hesaplanmadığı belirtilebilir.

Hesaplamayı artırmak için, değerleri diğer alanların değerlerine göre hesaplanan ek hesaplama alanları eklemek gerekir.

Alt çanta istekleri, gruplama, alt çanta fonksiyonları.

Alt çanta kaynağı, Zvedeniya tedarik modunun desteklenmesi için oluşturulur.

Şanslı bir masa da dahil olmak üzere üç masayı çevirebilirsiniz.

Bununla, kısayol menüsünü (sağ fare tuşu) çalıştırabilir ve “Grup İşlemleri” işaretini seçebilirsiniz.

Antetli kağıtta yeni bir gruplandırma satırı görünecektir.

Alt çanta işlevleri: alan için, alt çantaları korumak istiyorsanız, seçilen alanların tüm değerlerini eklemek için listeden “Topla” işlevini seçin. "Pidrahunok" işlevi, alan değerlerinin sayısını dikkate alır. Bilgi düzenleme microsoft

Talep - verilerden herhangi bir işlemin sonuna kadar VTYS'ye tamamlanması: rehinden verilerin bir kısmının seçilmesi, alanların hesaplanmasının eklenmesi, verilerin toplu olarak değiştirilmesi vb.

Talep üzerine şunları yapabilirsiniz:

  • - bir dizi ilgili tablodan bilgi seçin;
  • - Vykoristovuvati skladnі umovi vіdbora;
  • - Koristuvach parametrelerin değerlerini kendisi girebilir, hesaplanan alanları ekleyebilir;
  • - Vikonati pіdbags rozrahunki.

Talep türleri:

  • - vibrka;
  • - Tabloların oluşturulması;
  • - güncelleme (veri değişikliği);
  • - Kayıt ekleme;
  • - Kayıtları görüntüleme.

formlar ve çağrılar için dzherela kayıtları gibi vikoristovuyutsya isteyin. Zdebіlshoy ve formlarda ve görenden önce zvіtakh'ta, hangi zihinler için olursa olsun verilerin bir bölümünü seçmek ve verileri sıralamak gerekir. Yardım için acele edin. Zapit, okremo veya bağlamaları forma veya zvitu'ya kaydedilebilir.

Microsoft Access'in çeşitli istekleri vardır.

Bazen Microsoft Office Access (Access) dosya-sunucu veritabanını istemci-sunucu VTYS formatına aktarmanız gerekebilir. ODBC'nin kimin adına galip geldiğini söyleyin. Ancak, Microsoft SQL Server'a (MS SQL) taşıma için Access DBMS ve MS SQL'in manuel olarak özelleştirilmesi gerekebilir.

Veritabanlarını Access'ten MS SQL'e aktarmanın üç yolu vardır. İki tablo ve bir ücretten oluşan basit bir veri veritabanı örneğinde her şeye bir göz atalım.

veri tabanı aktarımıErişim ("Biçime dönüştürme ustasıSQLsunucu")

Aktarımı gerçekleştirmek için "Veritabanı Robotu" sekmesinin "Veri Taşıma" alanında bulunan "SQL Server" butonuna tıklamanız gerekmektedir.

Verilerin nereye aktarılacağını seçmeniz gerekiyor.

İki seçenek mümkündür:

  1. Halihazırda var olan MS SQL veri tabanından dışa aktarma;
  2. Yeni bir haraç tabanının oluşturulması (kilitlenme için).

Veri tabanının aktarıldığı sunucunun adını, veri tabanının adını ve bağlantı için şifreyi belirtin.

Bir tablo seçmek için ">" düğmesini, tüm tabloları seçmek için ">>" düğmesini kullanın. Düğmenin aktarılan tanımasını görmek için "<» и «<<» соответственно.

Tabloyu seçtikten sonra, transferlerinin ek parametrelerini ekleyebilirsiniz. Access'in diğer sürümleri, hem tabloları hem de verileri dışa aktarabilir ve bunlara bağlantı verebilir. Bu, veri tabanının gerekli geçiş saatinin yakında geçeceği, aktarımdan sonra parçaların yeniden oluşturulmasına gerek olmadığı anlamına gelir.

  • Access arabirimiyle yeni bir istemci-sunucu eklentisi oluşturun;
  • Dış veritabanındaki tabloların aktarımını aynıymış gibi açın (kilitlemek için);
  • Hafta sonu veri tabanı ile yıllık günleri geçmeyin.

Eğer gerekli tüm bilgiler seçiliyse doğrulama için ön kenarlardan birine kadar dönebilir veya "Bitir" butonuna basarak aktarım işlemini başlatabilirsiniz.

Transfer işleminin başı özel bir pencerede görselleştirilir.

Taşıma işlemi tamamlandıktan sonra SQL Server Management Studio'yu açıp sonucu görüntüleyebilirsiniz.

Bu yöntem en basit ve kullanışlıdır, ancak ne yazık ki yalnızca tabloları ve beraberindeki öğeleri (dizinler, bağlantılar vb.) Aktarmanıza izin verir.

Veritabanı içe aktarmaGirişMicrosoftSQLsunucu

MS SQL, farklı sunuculardan veri alabilir. Ancak, Access'ten doğrudan içe aktarma yalnızca eski biçimdeki (.mdb) veritabanları için mümkündür.

Bu tür veritabanlarını içe aktarmak için ayrıntılı talimatlar bulunabilir.

Yeni formatların (2007 ve üzeri) veritabanlarının içe aktarılması zengin bir şekilde katlanmıştır.

Bu görevi gerçekleştirmenin iki yolu vardır:

  • İlk olarak, Access veritabanını eski biçimde dışa aktarın.
    Böyle bir zihniyetle, yardım için verilen talimatları kolayca hızlandırabilirsiniz;
  • Hasır ODBC.
    MS SQL Server'dan yeni bir tane aracılığıyla yaklaşan bağlantılardan Access veritabanları için bir veritabanı veritabanı oluşturuldu.

Ne yazık ki, ODBC saldırıları nedeniyle yol, Windows'un farklı 64 bit sürümlerinde katlanmaktır.

Bunun nedeni, MS SQL'in 64-bit sürümlerinin, SQL Server Management Studio'nun 32-bit sürümleriyle birlikte paketlenmiş olmasıdır. Tsya koşulları, 64 bit sürücüler temelinde bir tür veri oluşturma için Access veri tabanlarının ek yazılım programları için içe aktarılamaması gerçeğine yol açar.

Burada hala iki çıkış var (yardım için sadece grafik arayüzü kullanmanın yolları var):

  • Windows, MS SQL, Office'in 32-bit sürümlerini değiştirin;
  • 32-bit ODBC yöneticisinin (dosyayı C:\Windows\SysWOW64\odbcad32.exe olarak adlandırın);
  • Robotik MS SQL için Vykoristovuvaty alternatif yazılımı.

Bununla birlikte, daha az zengin, daha düşük güç ve zaman gibi görünebilen ithalat, coryst sürecini iyileştirmeye çalışmak yine de değer.

İçe aktarırken, tabloların kendileri ve tabloları birlikte ve hiç yoktan fazlası aktarılır (önceki yöntemin olanaklarıyla birlikte gelir).

Ayrıca, Access'ten doğrudan içe aktarmayla, istekleri dışa aktarma sorununun sıklıkla ihlal edildiğine dikkat edilmelidir (isteklere ODBC aracılığıyla erişim yoktur). Prote, kilit isteyin, standart tablolar gibi MS SQL veri tabanına aktarılır.

Neyse ki, içe aktarma parametrelerinin ayarlarında daha fazla ince ayar yapabilirsiniz ve uygulama bildirimiyle tablo oluşturma için SQL isteğini manuel olarak geçersiz kılabilirsiniz.

Seçilen Erişim isteği için ekran görüntüsündeki pencerede ihtiyacınız olan şey için "Değiştir" düğmesine basın.

Sonunda, “SQL Değiştir…” düğmesine basın.

Vіdkriєtsya vіkno SQL isteğini düzenleme, gelecekte, durumda, otomatik olarak oluşturulan isteği değiştirmek gerekir

elimizi taşın altına koyalım.

Sonuç olarak, Access'ten gelen istek, bir tablo olarak değil, temsili olarak MS SQL veritabanına doğru bir şekilde aktarılacaktır.

Açıkçası, nalashtuvannya tse kopitka el yapımı gibi, bu da aynı bilgi ve becerilere sahip olduğunuz anlamına geliyor, ancak yine de göründüğü gibi “daha ​​iyi, hiç yoktan düşük”.

Bu nedenle, Access veritabanlarını MS SQL'e aktarmanın bu yöntemi, her iki DBMS'nin nitelikli uygulayıcıları için daha uygundur.

Aşağıda, Windows'un 32 bit sürümünde ODBC'nin yardımı için Access veritabanlarını içe aktarma örneği verilmiştir. Windows'un 64 bit sürümü için, içe aktarma işlemi Access'in 32 bit sürümü için aynı anda çalışır, ancak bazen 32 bit ODBC yöneticisinde çalışır.

Haydi bir sürü veri oluşturalım.

Vіknі vkazuemo yoga im'ya.

"Seç" düğmesine basalım ve hangi Access veritabanına bağlanmanız gerektiğini belirtelim.

Veritabanı dosyasının saklanacağı belirtilirse, "Tamam" düğmesine basılmasına gerek yoktur ve gerekli Access veritabanı için veritabanı hazırdır.

Artık doğrudan MS SQL'den veri tabanlarının içe aktarılmasına geçebilirsiniz.

Bunun için, içe aktarmayı seçmeniz gereken veri tabanının içerik menüsünde “İndir” -> “Verileri içe aktar” öğesini seçin.

"Master of Import and Export of Data" tarafından onaylandı

"Dzherelo verileri" listesinde, ortaya çıktığı gibi, ".Net Framework Data Provider for Odbc" (kilitleme için seçilmediği için) seçilmesi gerekir ve tablodaki Dsn satırında, adını belirtmek gerekir. Access veri tabanı için oluşturulan veri sağlayıcı. Bağlantı Dizesi otomatik olarak oluşturulacaktır.

Hangi MS SQL import örneğinin gerekli olduğu veritabanında belirtilmelidir. Bu bir sonraki basış için, "Assigned" listesinden "Dal" düğmesi veya "Microsoft SQL Server Native Client" (aşağıdaki ekran görüntüsünde gösterildiği gibi) veya "Microsoft OLE DB Provider for SQL Server" seçilebilir, bir bağlantı için bu parolanın adını taşıyan veritabanı.

Ardından, içe aktarılacak tabloları seçmek gerekir. Daha yüksek ayarlandığından, ODBC isteği içe aktarma isteği Erişiminin saati kullanılamaz. Bu nedenle, ön ekranda içe aktarılacak nesneler listesinin önünde, bu listede sadece tablolar olacaktır.

Teğmenlerin yardımı için, arka arkaya (aynı popoda kırılan) bir bıyık masası gibi seçebilirsiniz, böylece diyakozlar onlardan okremo.

Ardından, içe aktarma işlemi için artık parametreleri içeren bir pencere gösterilecektir. Tüm anlamı kilitlerin ardına bırakalım.

Bitti butonuna tıkladığınızda, içe aktarma işlemi tıklanacaktır. Her şey doğru yapılırsa ve içe aktarma başarılı olursa, içe aktarma hakkında bilgi içeren pencere af almaz (aşağıdaki div. ekran görüntüsü).

Robot ustasını tamamlamak için "Kapat" düğmesine basmanız yeterlidir.

Sonuç, SQL Server Management Studio'da görülebilir.

Veri tabanını yandan aktarmaODBC

Bu yöntem, verileri Access'ten diğer herhangi bir DBMS'ye aktarmak için evrenseldir. ODBC ile işi halletmek için fazlasıyla yeterli.

Böyle bir dışa aktarma örneği zaten "" makalesinde görülüyor.

İçinHANIMSQL veri tabanı aktarım yöntemiErişim sorun değil, parçalar veri içeren tablolardan daha az dışa aktarılır ve zapity standart tablolardan daha az dışa aktarılır.

Ancak, böyle bir dosi aktarma olasılığı є (sürüm 2014'ün bir hata olmadığı ortaya çıktı). Buna bakabiliriz ve її tezh.

Koçanı için MS SQL ile robotlar için veri oluşturalım (Koristuvalnitsky DSN'yi unutmayalım).

Gerel için sürücü belirtin.

Bundan sonra, yaratma ve yaratma süreci başlatılacaktır.

Atama im'ya dzherela danih, bağlantı için gerekli olan MS SQL örneğinin vkamo olduğunu belirtir.

Veritabanı belirtilirse chi request tablosunun aktarılması planlanır. Yardım için yeniden planlandıODBC yalnızca mevcut bir veri tabanıyla kullanılabilir. Bunun için verilerin yeni veri tabanına aktarılması gerektiği için önceden oluşturulması gerekmektedir.

“Bitti” düğmesine bastıktan sonra, oluşturulmakta olan veriler hakkında alt çanta bilgilerinin bulunduğu bir pencere gösterilecektir.

Yapılan dzherelo danih bulo'nun geri kalanı için "Tamam" düğmesine basmanız yeterlidir. Daha da iyisi, önünüzde "Verileri tersine çevir" düğmesine tıklayarak uygulamanızı tersine çevirin.

Her şey doğru yapılırsa, başarılı revizyon hakkında bilgilendirileceksiniz.

Artık onlara ihtiyaç varsa, herhangi bir aracı olmadan aktarım sürecini başlatmak mümkündür. Örnek olarak, “Kişiler Talebi” tek isteğinin veri tabanından dışa aktarılır.

Hedefin görebildiği kişiler için, "Dış veriler" sekmesinin "Dışa Aktar" alanındaki "Dodatkovo" düğmesine basın. Açılan menüde "ODBC Veritabanı"nı seçin.

Zamanın başka anlamı yoktur.

"Tamam" butonuna bastıktan sonra oluşturulan verileri seçmek gerekir.

Sunucuya bağlanmak için şifrenizi girelim.

"Tamam" düğmesine bastıktan sonra dışa aktarma devre dışı bırakılacaktır.

Prote, yukarıda da söylendiği gibi zaman zaman yapılan ihracat sonucu doğru olmuyor.

"Rehber Talebi" gösterimi yerine MS SQL veritabanında tek menülü bir tablo oluşturuldu.

Öte yandan, tablolardan daha fazlasını dışa aktarmak için, dışa aktarmadan sonra adsız ekler eklemek gerekir (bağlantıların daha sonra yeniden oluşturulması). Bu nedenle, veritabanlarını Access'ten MS SQL'e aktarma yönteminin açıklamaları pratikte zastosovuetsya değildir.

© 2022 androidas.ru - Android hakkında her şey