Pernyataan berikut adalah pernyataan Mssql dan tidak dapat digunakan dalam akses.
Klasifikasi SQL:
DDL—bahasa definisi data (CREATE, ALTER, DROP, DECLARE)
DML—bahasa manipulasi data (SELECT, DELETE, UPDATE, INSERT)
DCL—Bahasa Kontrol Data (GRANT, REVOKE, COMMIT, ROLLBACK)
Pertama, pengenalan singkat tentang pernyataan dasar:
1. Petunjuk: Membuat database
BUAT nama database DATABASE
2. Deskripsi: Menghapus database
jatuhkan nama db basis data
3. Deskripsi: Cadangkan server sql
--- Buat perangkat untuk data cadangan
GUNAKAN master
EXEC sp_addumpdevice 'disk', 'testBack', 'c:mssql7backupMyNwind_1.dat'
--- Mulai pencadangan
CADANGAN pub DATABASE UNTUK diuji Kembali
4. Deskripsi: Membuat tabel baru
buat tabel tabname(col1 type1 [bukan null] [kunci utama],col2 type2 [bukan null],..)
Buat tabel baru berdasarkan tabel yang sudah ada:
A: buat tabel tab_new seperti tab_old (gunakan tabel lama untuk membuat tabel baru)
B: buat tabel tab_new sebagai pilih col1,col2… dari definisi tab_old saja
5. Deskripsi:
Jatuhkan tabel baru: jatuhkan nama tab tabel
6. Deskripsi:
Tambahkan kolom: Ubah nama tab tabel, tambahkan tipe kolom kolom
Catatan: Setelah kolom ditambahkan, kolom tersebut tidak dapat dihapus. Di DB2, tipe data tidak dapat diubah setelah kolom ditambahkan. Satu-satunya hal yang dapat diubah adalah menambah panjang tipe varchar.
7. Deskripsi:
Tambahkan kunci utama: Ubah nama tab tabel, tambahkan kunci utama (kolom)
menjelaskan:
Hapus kunci utama: Ubah nama tab tabel, hilangkan kunci utama (col)
8. Deskripsi:
Buat indeks: buat nama id indeks [unik] pada nama tab (col….)
Hapus indeks: hapus indeks idxname
Catatan: Indeks tidak dapat diubah. Jika Anda ingin mengubahnya, Anda harus menghapusnya dan membangunnya kembali.
9. Deskripsi:
Buat tampilan: buat nama tampilan tampilan sebagai pernyataan pilih
Hapus tampilan: hapus nama tampilan tampilan
10. Deskripsi: Beberapa pilihan pernyataan SQL dasar sederhana: pilih * dari tabel1 di mana penyisipan rentang: masukkan ke dalam tabel1(bidang1,bidang2) nilai(nilai1,nilai2)
Hapus: hapus dari tabel1 di mana rentang perbarui: perbarui tabel1 setel field1=nilai1 di mana rentang pencarian: pilih * dari tabel1 di mana bidang1 suka '%nilai1%' --- sintaksis suka sangat canggih, periksa informasinya!
Penyortiran: pilih * dari tabel1 urutkan berdasarkan bidang1,bidang2 [desc]
Jumlah total: pilih jumlah * sebagai jumlah total dari tabel1
Jumlah: pilih jumlah(bidang1) sebagai nilai penjumlahan dari tabel1
Rata-rata: pilih rata-rata(bidang1) sebagai nilai rata-rata dari tabel1
Maksimum: pilih max(field1) sebagai maxvalue dari table1
Minimum: pilih min(field1) sebagai nilai min dari tabel1
11. Deskripsi: Beberapa operator kueri tingkat lanjut A: Operator UNION Operator UNION memperoleh tabel hasil dengan menggabungkan dua tabel hasil lainnya (seperti TABLE1 dan TABLE2) dan menghilangkan setiap baris duplikat dalam tabel. Ketika ALL digunakan dengan UNION (yaitu UNION ALL), baris duplikat tidak dihilangkan. Dalam kedua kasus tersebut, setiap baris dalam tabel turunan berasal dari TABLE1 atau TABLE2.
B: Operator KECUALI Operator KECUALI mendapatkan tabel hasil dengan memasukkan semua baris yang ada di TABLE1 tetapi tidak di TABLE2 dan menghilangkan semua baris duplikat. Ketika SEMUA digunakan dengan KECUALI (KECUALI SEMUA), baris duplikat tidak dihilangkan.
C: Operator INTERSECT Operator INTERSECT mendapatkan tabel hasil dengan hanya menyertakan baris yang ada di TABLE1 dan TABLE2 dan menghilangkan baris duplikat. Ketika ALL digunakan dengan INTERSECT (INTERSECT ALL), baris duplikat tidak dihilangkan.
Catatan: Beberapa baris hasil query yang menggunakan kata operator harus konsisten.
12. Keterangan: Gunakan gabung luar A, gabung luar kiri:
Gabungan luar kiri (gabungan kiri): Kumpulan hasil mencakup baris-baris yang cocok dari tabel yang digabungkan dan semua baris dari tabel yang digabungkan di kiri.
SQL: pilih aa, ab, ac, bc, bd, bf dari LEFT OUT JOIN b ON aa = bc
B:gabungan luar kanan:
Gabungan luar kanan (gabungan kanan): Kumpulan hasil mencakup baris gabungan yang cocok dari tabel gabungan dan semua baris dari tabel gabungan kanan.
C: gabungan luar penuh:
Gabungan luar penuh: tidak hanya mencakup baris yang cocok dari tabel koneksi simbolik, namun juga semua rekaman dalam dua tabel yang digabungkan.
Kedua, mari kita lihat beberapa pernyataan SQL yang bagus 1. Deskripsi: Salin tabel (hanya salin strukturnya, nama tabel sumber: a, nama tabel baru: b) (Akses tersedia)
Metode 1: pilih * ke b dari a di mana 1<>1
Metode 2: pilih 0 * teratas ke b dari a
2. Deskripsi: Salin tabel (salin data, nama tabel sumber: a, nama tabel target: b) (Akses tersedia)
masukkan ke dalam b(a, b, c) pilih d,e,f dari b;
3. Deskripsi: Menyalin tabel antar database (menggunakan jalur absolut untuk data tertentu) (Akses tersedia)
masukkan ke b(a, b, c) pilih d,e,f dari b di 'database tertentu' dengan contoh kondisi: ..dari b di '"&Server.MapPath(".")&"data.mdb" & "' Di mana..
4. Keterangan: Subquery (Nama tabel 1: a Nama tabel 2: b)
pilih a,b,c dari a di mana a IN (pilih d dari b ) atau: pilih a,b,c dari a di mana a IN (1,2,3)
5. Deskripsi: Menampilkan artikel, pengirim, dan waktu balasan terakhir
pilih a.title,a.username,b.adddate dari tabel a,(pilih max(adddate) adddate dari tabel di mana table.title=a.title) b
6. Deskripsi: Kueri gabung luar (nama tabel 1: nama tabel 2: b)
pilih aa, ab, ac, bc, bd, bf dari LEFT OUT JOIN b ON aa = bc
7. Deskripsi: Kueri tampilan online (nama tabel 1: a)
pilih * dari (PILIH a,b,c DARI a) T di mana ta > 1;
8. Deskripsi: Penggunaan antara, antara membatasi rentang data kueri dan menyertakan nilai batas, bukan antara tidak termasuk
pilih * dari tabel1 di mana waktu antara waktu1 dan waktu2
pilih a,b,c, dari tabel1 di mana a bukan antara nilai 1 dan nilai 2
9. Deskripsi: Cara menggunakan di
pilih * dari tabel1 di mana [tidak] di ('nilai1','nilai2','nilai4','nilai6')
10. Deskripsi: Dua tabel terkait, hapus informasi di tabel utama yang tidak ada di tabel sekunder
hapus dari tabel1 jika tidak ada ( pilih * dari tabel2 di mana tabel1.field1=table2.field1 )
11. Deskripsi: Masalah kueri gabungan empat tabel:
pilih * dari gabung dalam kiri b pada aa=bb gabung dalam kanan c pada aa=cc gabung dalam d pada aa=dd di mana .....
12. Deskripsi: Jadwalkan pengingat lima menit sebelumnya
SQL: pilih * dari jadwal di mana tanggaliff('menit',f waktu mulai,getdate())>5
13. Deskripsi: Satu pernyataan sql melengkapi paging database
pilih 10 teratas b.* dari (pilih 20 bidang kunci utama teratas, mengurutkan bidang dari urutan nama tabel berdasarkan pengurutan bidang desc) a, nama tabel b di mana b. Bidang kunci utama = a. Urutan bidang kunci utama berdasarkan a .Deskripsi: 10 catatan pertama
pilih 10 teratas * formulir tabel1 dengan rentang 15. Deskripsi: Pilih semua informasi catatan dengan a terbesar di setiap grup data dengan nilai b yang sama (penggunaan serupa dapat digunakan untuk peringkat forum bulanan, penjualan panas bulanan Analisis produk, peringkat berdasarkan kinerja subjek, dll.)
pilih a,b,c dari nama tabel ta di mana a=(pilih maks(a) dari nama tabel tb di mana tb.b=ta.b)
16. Deskripsi: Sertakan semua baris di TableA tetapi tidak di TableB dan TableC dan hilangkan semua baris duplikat untuk mendapatkan tabel hasil
(pilih a dari tabelA ) kecuali (pilih a dari tabelB) kecuali (pilih a dari tabelC)
17. Deskripsi: Ambil 10 data secara acak
pilih 10 teratas * dari urutan nama tabel berdasarkan newid()
18. Deskripsi: Memilih rekaman secara acak
pilih identitas baru()
19. Deskripsi: Hapus catatan duplikat
Hapus dari nama tabel di mana id tidak ada (pilih maks(id) dari grup nama tabel berdasarkan col1,col2,...)
20. Deskripsi : Mencantumkan semua nama tabel dalam database
pilih nama dari sysobjects di mana type='U'
21. Deskripsi: Daftar semua item dalam tabel
pilih nama dari syscolumns di mana id=object_id('TableName')
22. Deskripsi: Daftar bidang tipe, vendor, dan pcs, disusun berdasarkan bidang tipe. Kasus dapat dengan mudah mengimplementasikan beberapa pilihan, mirip dengan kasus di pilih.
pilih jenis,jumlah(case vender ketika 'A' lalu pcs else 0 end),sum(case vender ketika 'C' lalu pcs else 0 end),sum(case vender ketika 'B' lalu pcs else 0 end) DARI grup nama tabel berdasarkan jenis
Hasil tampilan:
ketik penjual pcs
Komputer A 1
Komputer A 1
Disk B 2
Disk A 2
Ponsel B3
Ponsel C 3
23. Keterangan : Inisialisasi tabel table1
MEMOTONG TABEL tabel1
24. Petunjuk: Pilih rekaman dari 10 hingga 15
pilih 5 teratas * dari (pilih 15 teratas * dari tabel diurutkan berdasarkan id asc) table_alias diurutkan berdasarkan id desc
Metode pemilihan catatan database secara acak (menggunakan fungsi Randomize, diimplementasikan melalui pernyataan SQL)
Untuk data yang disimpan dalam database, fitur angka acak dapat memberikan efek di atas, namun mungkin terlalu lambat. Anda tidak dapat meminta ASP untuk "menemukan nomor acak" dan mencetaknya. Solusi umum sebenarnya adalah dengan membuat loop seperti ini:
Acak
Nomor R = Int(Rnd*499) +1
Meskipun Tidak objRec.EOF
Jika objRec("ID") = Nomor R MAKA
...ini skrip eksekusinya...
berakhir jika
objRec.MoveNext
Pergi ke
Sangat mudah untuk memahaminya. Pertama, Anda mengambil nomor acak dalam rentang 1 hingga 500 (dengan asumsi 500 adalah jumlah total catatan dalam database). Kemudian, Anda mengulangi setiap rekaman untuk menguji nilai ID guna melihat apakah cocok dengan RNumber. Jika kondisi terpenuhi maka blok kode yang diawali dengan kata kunci THEN akan dieksekusi. Jika RNumber Anda sama dengan 495, akan memakan waktu lama untuk menelusuri database. Meskipun 500 mungkin tampak seperti angka yang besar, namun ini masih merupakan database yang kecil dibandingkan dengan solusi perusahaan yang lebih tangguh, yang sering kali berisi ribuan catatan dalam satu database. Bukankah dia sudah mati sekarang?
Dengan menggunakan SQL, Anda dapat dengan cepat menemukan rekaman yang tepat dan membuka kumpulan rekaman yang hanya berisi rekaman tersebut, sebagai berikut:
Acak
Nomor R = Int(Rnd*499) + 1
SQL = "PILIH * DARI Pelanggan WHERE ID = " & Nomor R
atur objRec = ObjConn.Execute(SQL)
Respon.WriteRNumber & " = " & objRec("ID") & " " & objRec("c_email")
Daripada menuliskan RNomor dan ID, Anda cukup memeriksa kecocokannya. Selama Anda puas dengan cara kerja kode di atas, Anda dapat memanipulasi catatan "acak" sesuai kebutuhan. Recordset tidak berisi konten lain, sehingga Anda dapat dengan cepat menemukan rekaman yang Anda perlukan, sehingga sangat mengurangi waktu pemrosesan.
Mari kita bicara tentang angka acak lagi. Sekarang setelah Anda bertekad untuk memeras tetes terakhir dari fungsi Acak, Anda dapat mengambil beberapa catatan acak sekaligus atau ingin menggunakan catatan dalam rentang acak tertentu. Memperluas contoh Acak standar di atas, Anda dapat menggunakan SQL untuk menangani dua situasi di atas.
Untuk mengambil beberapa catatan yang dipilih secara acak dan menyimpannya dalam kumpulan catatan yang sama, Anda dapat menyimpan tiga nomor acak dan kemudian menanyakan database untuk catatan yang cocok dengan nomor-nomor berikut:
SQL = "PILIH * DARI Pelanggan WHERE ID = " & RNumber & " OR ID = " & RNumber2 & " OR ID = " & RNumber3
Jika Anda ingin memilih 10 catatan (mungkin daftar 10 tautan setiap kali halaman dimuat), Anda dapat menggunakan BETWEEN atau persamaan matematika untuk memilih catatan pertama dan jumlah catatan tambahan yang sesuai. Operasi ini dapat dilakukan dengan beberapa cara, namun pernyataan SELECT hanya menunjukkan satu kemungkinan (ID di sini adalah nomor yang dihasilkan secara otomatis):
SQL = "PILIH * DARI Pelanggan DIMANA ID ANTARA " & RNumber & " DAN " & RNumber & "+ 9"
Catatan: Tujuan mengeksekusi kode di atas bukan untuk memeriksa apakah ada 9 record yang bersamaan dalam database.
Secara acak membaca beberapa catatan dan mengujinya
Sintaks akses: PILIH 10 teratas * Dari nama tabel ORDER BY Rnd(id)
Server sql: pilih n * teratas dari nama tabel diurutkan berdasarkan newid()
mysql pilih * Dari nama tabel Pesan Berdasarkan rand() Batas n
Sintaks gabung kiri akses (perkembangan terkini memerlukan penggunaan gabung kiri. Tidak ada apa pun dalam bantuan Access. Tidak ada deskripsi SQL tentang Access di Internet. Saya hanya dapat mengujinya sendiri. Saya akan menuliskannya sekarang untuk referensi di masa mendatang .)
Sintaks pilih table1.fd1,table1,fd2,table2.fd2 Dari table1 kiri gabung table2 di table1.fd1,table2.fd1 di mana ...
Gunakan pernyataan SQL untuk mengganti sintaks tampilan string yang terlalu panjang dengan...:
Database SQL: pilih case ketika len(field)>10 lalu left(field,10)+'...' else field diakhiri sebagai news_name,news_id dari tablename
Akses database: SELECT iif(len(field)>2,left(field,2)+'...',field) DARI nama tabel;
Conn.Execute Deskripsi Metode eksekusi Metode ini digunakan untuk mengeksekusi pernyataan SQL. Bergantung pada apakah kumpulan data dikembalikan setelah pernyataan SQL dijalankan, format penggunaan metode ini dibagi menjadi dua jenis berikut:
1. Ketika pernyataan kueri SQL dijalankan, kumpulan catatan yang diperoleh oleh kueri akan dikembalikan. Penggunaannya adalah:
Tetapkan nama variabel objek = objek koneksi. Jalankan("Bahasa Kueri SQL")
Setelah metode Execute dipanggil, objek recordset akan secara otomatis dibuat dan hasil query akan disimpan dalam objek record. Melalui metode Set, recordset akan ditugaskan ke objek yang ditentukan untuk disimpan di masa depan mewakili objek kumpulan rekaman.
2. Saat menjalankan bahasa operasional SQL, tidak ada kumpulan data yang dikembalikan. Penggunaannya saat ini adalah:
Objek koneksi. Jalankan "pernyataan operasional SQL" [, RecordAffected][, Option]
·RecordAffected adalah opsional. Variabel dapat ditempatkan di sini Setelah pernyataan SQL dijalankan, jumlah catatan efektif akan secara otomatis disimpan dalam variabel. Dengan mengakses variabel ini, Anda dapat mengetahui berapa banyak record yang dioperasikan oleh pernyataan SQL.
·Opsi opsional, nilai parameter ini biasanya adCMDText, yang digunakan untuk memberitahu ADO bahwa karakter pertama setelah metode Execute harus ditafsirkan sebagai teks perintah. Dengan menentukan parameter ini, Anda dapat membuat eksekusi lebih efisien.
·Tiga metode BeginTrans, RollbackTrans, dan CommitTrans adalah metode yang disediakan oleh objek koneksi untuk pemrosesan transaksi. BeginTrans digunakan untuk memulai transaksi; RollbackTrans digunakan untuk memutar kembali transaksi; CommitTrans digunakan untuk mengirimkan semua hasil pemrosesan transaksi, yaitu untuk mengkonfirmasi pemrosesan transaksi.
Pemrosesan transaksi dapat memperlakukan sekelompok operasi secara keseluruhan. Pemrosesan transaksi akan dianggap berhasil hanya jika semua pernyataan berhasil dieksekusi; jika satu pernyataan gagal dijalankan, seluruh pemrosesan akan gagal dan kembali ke keadaan sebelumnya.
BeginTrans dan CommitTrans digunakan untuk menandai awal dan akhir suatu transaksi. Pernyataan di antara keduanya digunakan sebagai pernyataan pemrosesan transaksi. Menentukan apakah pemrosesan transaksi berhasil dapat dicapai dengan menghubungkan objek kumpulan Error. Jika jumlah anggota kumpulan Error bukan 0, berarti terjadi kesalahan dan pemrosesan transaksi gagal. Setiap objek Error dalam koleksi Error mewakili pesan kesalahan.
Esensi ensiklopedia pernyataan SQL
26/10/2006 13:46
pernyataan HAPUS
Pernyataan DELETE: digunakan untuk membuat kueri penghapusan yang dapat menghapus catatan dari satu atau lebih tabel yang tercantum dalam klausa FROM, dan klausa tersebut memenuhi ketentuan dalam klausa WHERE. Anda dapat menggunakan DELETE untuk menghapus beberapa catatan.
Sintaks: DELETE [tabel.*] DARI tabel kriteria WHERE
Sintaks: DELETE * FROM tabel WHERE kriteria='Kata kueri'
Deskripsi: Parameter tabel digunakan untuk menentukan nama tabel tempat rekamannya dihapus.
Parameter kriteria adalah ekspresi yang digunakan untuk menentukan rekaman mana yang harus dihapus.
Anda dapat menggunakan metode Execute dengan pernyataan DROP untuk menghapus seluruh tabel dari database. Namun, jika Anda menghapus tabel dengan cara ini, Anda akan kehilangan struktur tabel tersebut. Bedanya, ketika DELETE digunakan, hanya data yang akan dihapus saja struktur tabelnya dan seluruh atribut tabel tetap dipertahankan, seperti atribut field dan indeks.
MEMPERBARUI
Mengenai UPDATE, mendesak! ! ! ! ! ! ! ! ! ! !
Tabel A (ID, NAMA DEPAN, NAMA TERAKHIR) di database ORACLE
Tabel B (ID, NAMA BELAKANG)
Data pada kolom ID asli dan NAMA DEPAN pada tabel A sudah lengkap. Data pada kolom ID asli dan NAMA BELAKANG pada tabel B sudah lengkap. Sekarang kita perlu mengisi data yang sesuai pada kolom NAMA BELAKANG pada tabel B ke dalam NAMA BELAKANG tabel A. lokasi yang sesuai. Bidang ID di kedua tabel saling terkait satu sama lain.
Terima kasih sebelumnya!!!!
perbarui satu set a.lastname=(pilih b.lastname dari b di mana a.id=b.id)
Kuasai empat pernyataan operasi data paling dasar dari SQL: Sisipkan, Pilih, Perbarui, dan Hapus.
Berlatih SQL adalah aset berharga bagi pengguna database. Dalam artikel ini, kami akan memandu Anda menguasai empat pernyataan manipulasi data paling dasar—fungsi inti SQL—untuk memperkenalkan operator perbandingan, pernyataan seleksi, dan logika tiga nilai secara berurutan. Ketika Anda menyelesaikan studi ini, terlihat jelas bahwa Anda sudah mulai mahir dalam SQL.
Sebelum kita mulai, gunakan pernyataan CREATE TABLE untuk membuat tabel (seperti yang ditunjukkan pada Gambar 1). Pernyataan DDL mendefinisikan objek database seperti tabel, kolom, dan tampilan. Mereka tidak memproses baris dalam tabel karena pernyataan DDL tidak memproses data aktual dalam database. Tugas-tugas ini ditangani oleh pernyataan SQL jenis lain—pernyataan Bahasa Manipulasi Data (DML).
Ada empat operasi dasar DML dalam SQL: INSERT, SELECT, UPDATE dan DELETE. Karena ini umum digunakan oleh sebagian besar pengguna SQL, kami perlu menjelaskannya satu per satu di sini. Pada Gambar 1 kami memberikan tabel bernama EMPLOYEES. Setiap baris berhubungan dengan catatan karyawan tertentu. Harap biasakan diri Anda dengan tabel ini, kami akan menggunakannya dalam contoh berikut