Hari ini, editor akan berbagi dengan Anda koleksi pernyataan SQL. Teman yang tertarik, mari kita pelajari tentang hal itu dengan editor!
1. Hubungkan ASP untuk mengakses database:
DIMCONN, MDBFILE
mdbfile = server.mappath ("database name.mdb")
setConn = server.CreateObject ("adodb.connection")
conn.open "driver = {microsoftaccessDriver
(*.mdb)}; uid = admin; pwd = kata sandi basis data; dbq = "& mdbfile
%>
2. Hubungkan ASP ke database SQL:
dimconn
setConn = server.CreateObject ("adodb.connection")
con.open "penyedia = sqloledb; data
Sumber = Nama Server SQL atau Alamat IP; UID = SA; PWD = Kata Sandi Database; Database = Nama Basis Data
%>
Buat Objek Set Rekam:
setRs = server.CreateObject ("adodb.recordset")
Pernyataan Rs.opensql, Conn, 3,2
3. Metode Penggunaan Perintah SQL Umum:
(1) Penyaringan catatan data:
sql = "Pilih*dari tabel data di mana nama bidang = Nilai Bidang Name Fieldby Field [Desc]"
sql = "Pilih*dari tabel data di mana nama bidang seperti ' % nilai bidang %' name bidang orderby [desc]"
SQL = "SELECTTOP10*Dari tabel data di mana nama bidang orderby nama bidang [desc]"
sql = "pilih*dari tabel data di mana nama bidang di ('nilai 1', 'value 2', 'value 3')"
SQL = "Pilih*dari tabel data di mana nama bidang antara nilai 1 dan nilai 2"
(2) Perbarui catatan data:
sql = "Perbarui Tabel Data Tabel Atur Nama Bidang = Nilai Bidang Di mana Ekspresi Bersyarat"
SQL = "Perbarui Data Tabel Set Bidang 1 = Nilai 1, Bidang 2 = Nilai 2 ... Bidang N = Nilai N Di mana Ekspresi Kondisi"
(3) Hapus catatan data:
sql = "tabel data deletefrom di mana ekspresi bersyarat"
sql = "tabel data deletefrom" (hapus semua catatan di tabel data)
(4) Tambahkan catatan data:
SQL = "Tabel Data Sisipan (Bidang 1, Bidang 2, Bidang 3 ...) Nilai (Nilai 1, Nilai 2, Nilai 3 ...)"
SQL = "Tabel Data Target InsertOnto Pilih* Dari Tabel Data Sumber" (Tambahkan Catatan Tabel Data Sumber ke Tabel Data Target)
(5) Fungsi Statistik Catatan Data:
Rata -rata (nama bidang) mendapatkan nilai rata -rata kolom tabel
Hitung (*| Nama Lapangan) Statistik pada jumlah baris data atau statistik pada jumlah baris data dengan nilai di kolom tertentu
Max (nama bidang) Mendapat nilai maksimum kolom tabel
Min (nama bidang) mendapatkan nilai terkecil dari kolom tabel
Jumlah (nama bidang) menambahkan nilai kolom data
Referensi metode fungsi di atas:
sql = "selectsum (nama bidang) sebagai alias dari tabel data di mana ekspresi bersyarat"
setRs = conn.excute (sql)
Gunakan RS ("Alias") untuk mendapatkan nilai perhitungan statistik, dan fungsi lainnya digunakan sama seperti di atas.
(5) Pembentukan dan Penghapusan Tabel Data:
Nama Tabel Data CreateTable (Bidang 1 Tipe 1 (Panjang), Bidang 2 Tipe 2 (Panjang) ...)
Contoh: createTableTab01 (namevarchar (50), datetimedefaultWnow ())
Nama tabel data droptable (hapus tabel data secara permanen)
4. Metode perekaman set objek:
rs.movenext memindahkan pointer rekaman ke bawah satu baris dari posisi saat ini
rs.moveprevious memindahkan pointer rekaman ke atas satu baris dari posisi saat ini
rs.movefirst memindahkan pointer rekaman ke baris pertama tabel data
rs.movelast memindahkan pointer rekaman ke baris terakhir tabel data
rs.absoluteposition = n Pindahkan pointer rekaman ke baris n tabel data
rs.absolutepage = n Pindahkan pointer rekaman ke baris pertama halaman n
rs.pagesize = n Atur setiap halaman ke n catatan
rs.pagecount mengembalikan jumlah total halaman sesuai dengan pengaturan halaman
Rs.RecordCount Mengembalikan jumlah total catatan
Rs.Bof Mengembalikan apakah pointer catatan melebihi kepala tabel data. Benar berarti ya, salah adalah tidak
Rs.eof Mengembalikan apakah pointer catatan melebihi akhir tabel data. Benar berarti ya, salah adalah tidak
rs.delete menghapus catatan saat ini, tetapi pointer catatan tidak bergerak ke bawah
rs.addnew Tambahkan catatan ke akhir tabel data
Rs. Update Memperbarui Catatan Tabel Data
------------------------------------------------------------------------------------ �
Metode Objek Recordset
Metode terbuka
Recordset.opensource, ActiveConnection, CursorType, LockType, Opsi
Sumber
Objek Recordset dapat dihubungkan ke objek perintah melalui properti sumber. Parameter sumber dapat berupa nama objek perintah, perintah SQL, nama tabel data yang ditentukan, atau yang disimpan
Prosedur. Jika parameter ini dihilangkan, sistem menggunakan properti sumber dari objek Recordset.
ActiveConnection
Objek Recordset dapat dihubungkan ke objek koneksi melalui properti ActiveConnection. ActiveConnection di sini dapat berupa objek koneksi atau parameter string yang berisi informasi koneksi basis data (ConnectionString).
CursorType
Parameter CursorType dari metode terbuka dari objek Recordset menunjukkan jenis kursor apa untuk memulai data, termasuk adopsifordonly, adopsi, adopsinamik dan adopsi, yang digambarkan sebagai berikut:
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Deskripsi Nilai Konstan Konstan
-----------------------------------------------------------------------------------------------------------------------------
Nilai Default AdoptForWardOnly0, memulai kursor yang hanya bisa bergerak maju (ForwardNy).
AdopenKeyset1 Memulai kursor tipe Keyset.
Adopendynamic2 memulai kursor tipe dinamis.
Adoptatic3 memulai kursor tipe statis.
-----------------------------------------------------------------------------------------------------------------------------
Jenis kursor di atas akan secara langsung mempengaruhi semua properti dan metode objek Recordset. Daftar berikut menjelaskan perbedaan di antara mereka.
-----------------------------------------------------------------------------------------------------------------------------
Properti Recordset AdopenForwardonlyadopenKeysetadopendynamicadopenstatic
-----------------------------------------------------------------------------------------------------------------------------
Absolutepage tidak mendukung yang dapat dibaca, dapat ditulis, dapat dibaca, dapat ditulis
Absoluteposition tidak mendukung yang dapat dibaca, dapat ditulis, dapat dibaca, dapat ditulis
ActiveConnection dapat dibaca, dapat ditulis, dapat dibaca, dapat ditulis, dapat dibaca, dapat ditulis, dapat dibaca, dapat ditulis
BOF BACA Hanya Baca Hanya Baca Hanya Baca Hanya Baca Hanya Baca
Bookmark tidak mendukung yang dapat dibaca, dapat ditulis, dapat dibaca, dapat ditulis
Cachesize dapat dibaca, menulis, membaca, menulis, membaca, menulis, membaca, menulis, membaca, menulis
Kursorlokasi yang dapat dibaca, dapat ditulis, dapat dibaca, dapat ditulis, dapat dibaca, dapat ditulis, dapat dibaca, dapat ditulis
CursorType dapat dibaca, menulis, membaca, menulis, membaca, menulis, membaca, menulis, membaca, menulis
EditMode Read-only Read-Only saja
Baca saja
Eof baca hanya baca hanya baca hanya baca saja
Baca saja
Filter dapat dibaca, dapat ditulis, dapat dibaca, dapat ditulis, dapat dibaca, dapat ditulis, dapat dibaca, dapat ditulis
LockType dapat dibaca, menulis, membaca, menulis, membaca, menulis, membaca, menulis, membaca, menulis
MarshalOptions dapat dibaca, dapat ditulis, dapat dibaca, dapat ditulis, dapat dibaca, dapat ditulis, dapat dibaca, dapat ditulis
MaxRecords dapat dibaca, dapat ditulis, dapat dibaca, dapat ditulis, dapat dibaca, dapat ditulis, dapat dibaca, dapat ditulis
PageCount tidak mendukung read-only-only
Halaman dapat membaca, menulis, membaca, menulis, membaca, menulis, membaca, menulis, membaca, menulis
RecordCount tidak mendukung read-only-only
Sumber dapat dibaca, dapat ditulis, dapat dibaca, dapat ditulis, dapat dibaca, dapat ditulis, dapat dibaca, dapat ditulis
Negara baca hanya baca hanya baca hanya baca hanya baca hanya baca hanya baca saja
Status Baca Hanya Baca Hanya Baca Hanya Baca Hanya Baca Hanya Baca Hanya
Tambah Dukungan Dukungan Dukungan Dukungan
Batalkan Dukungan Dukungan Dukungan Dukungan
Dukungan Dukungan Dukungan Dukungan Bataluppat
Klon tidak mendukungnya atau tidak
Dukungan Dukungan Dukungan Tutup Dukungan Dukungan
Hapus Dukungan Dukungan Dukungan Dukungan
Dukungan Dukungan Dukungan Getrows
Pindah tidak mendukung dukungan dukungan dukungan
Dukungan Dukungan Dukungan MoveFirst
MOVELAST tidak mendukung dukungan dukungan dukungan
Dukungan Dukungan Dukungan MoveNext
MovePrevious tidak mendukung dukungan dukungan dukungan dukungan
Nextrecordset dukungan dukungan dukungan dukungan
Dukungan Dukungan Dukungan Terbuka Dukungan
Dukungan Dukungan Dukungan Dukungan Permintaan
Resync tidak mendukung dukungan dukungan dukungan
Dukungan Dukungan Dukungan
Perbarui Dukungan Dukungan Dukungan Dukungan Dukungan
Pembaruan Dukungan Dukungan Dukungan Dukungan Dukungan Dukungan
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Metode Nextrecordset tidak berlaku untuk database Microsoft Access.
LockType
Parameter LockType dari metode terbuka dari objek Recordset menunjukkan jenis kunci yang akan diadopsi. Jika parameter ini diabaikan, sistem akan menggunakan properti LockType dari objek Recordset sebagai nilai preset. Parameter lockType termasuk adlockReadOnly, adlockprssimistic, adlockoptimistic dan adlockbatchoptimistic, dll., Dan digambarkan sebagai berikut:
-----------------------------------------------------------------------------------------------------------------------------
Deskripsi Nilai Konstan Konstan
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Nilai default AdlockReadOnly1, objek Recordset dimulai dalam mode read-only, dan addNEW, UPDATE, DELETE, dan metode lain tidak dapat dijalankan.
adlockprssimistic2 Ketika sumber data sedang diperbarui, sistem untuk sementara mengunci tindakan pengguna lain untuk mempertahankan konsistensi data.
adlockoptimistic3 Ketika sumber data sedang diperbarui, sistem tidak akan mengunci tindakan pengguna lain. Pengguna lain dapat menambah, menghapus, dan memodifikasi data.
AdlockBatchOptimistic4 Ketika sumber data sedang diperbarui, pengguna lain harus mengubah properti kursorlokasi menjadi AdudeclientBatch untuk meningkatkan data.
Hapus dan ubah operasi.
Bagian Khusus dari SQLServer Database ASP Call
response.writeWs2 (1)
W2 = WS2 (2)
response.write "a"
Response.write "B" & WS2 (3) & "C"
Response.write "D" & W2
%>
Buat tabel
createTable friends (name1varchar (10), Phonevarchar (15))
Tidak seperti Access, basis data default SQLServer hanya dapat dibaca ke belakang, yang sangat ketat.
Salin tabel salin antar database
Pilih*intocoolhe.dbo.mainfrommain
Hapus database
dropdatabasecoolhe
Temukan fungsi penggantian
UpdateCommend
setgif picture = stuff (gambar gif, 1, 21, "http://192.168.1.2") // Ganti 21 karakter mulai dari awal bidang gambar GIF
Ubah catatan
Bidang yang ditambahkan secara otomatis tidak dapat diubah
Solusinya adalah sebagai berikut
CreateTablenew_employees
(
id_numintidentity (1,1),
fnamevarchar (20),
Minitchar (1),
Lnamevarchar (30)
)
InsertNew_employees
(fname, minit, lname)
nilai
('Karin', 'f', 'Josephs')
Ubah catatan
UpdateMain
setgif picture = 'new'whereId = 4331
Tambahkan catatan
Penyisipan
(Kategori, Judul, Tautan, UpdateTime)
nilai
('CPU', 'Amdathlonxp Processor Technology and Architecture', '20011024/01.asp', '10-24-2001')
Menambahkan trek rekaman dari satu tabel dan tabel lain
InsertMain
selecta, b, c, dfromnew
Ketika Main memiliki bidang yang ditambahkan secara otomatis, tabel baru tidak dapat memilih bidang yang ditambahkan secara otomatis, dan menghindari menulis bidang dalam contoh di atas.
Temukan semua tabel di database
Pilih*FromySObjectsWhereextype = 'u'
Hitung jumlah bidang
Select'downloadCount '= Sum (jumlah unduhan)
Informasi Definisi Tabel Pencarian
Nama tabel SP_HELP
Ubah nama tabel
sp_rename'cool ',' pujian '
Tambahkan bidang tabel (jika Anda menambahkan beberapa bidang sekaligus, tidak ada bit yang akan ditambahkan)
Altertablemain
Tambahkan bit sakelar
altertablemainadd usia char (3), nama varchar (8), gender char (2)
Ubah Jenis Bidang Tabel
Jenis bidang nama asli adalah char (10)
altertableTablenamealtercolumnnamevarchar (20)
Ubah Kata Sandi
Execsp_passwordnull, 'ok', 'victoria' (saat kata sandi kosong) nama pengguna Victoria adalah login
Kata sandi execsp_password'ok ',' kopi 'berubah dari ok menjadi kopi
altertabletable_nameaddcolumncolumn_namedatatype
Deskripsi: Tambahkan bidang (sintaks untuk menghapus bidang bukan sintaksis.)
altertabletable_nameaddprimarykey (column_name)
Deskripsi: Ubah definisi tabel dan atur bidang sebagai kunci utama.
altertabletable_namedropprimarykey (column_name)
Deskripsi: Hapus definisi kunci utama
Atur nilai default bidang ke 0
Altertabletable_nameaddconstraintdf_test_fieldnamedefault (0) forfieldname
Jangan ubah df_test_fieldname
Ubah Nama Bidang
sp_rename'tablename.fieldname ',' newname ',' kolom ';
kolom tidak berubah
Komentar
/*Pilih*FromNews*/atau--select*fromNews-
Di mana garis horizontal digunakan untuk anotasi penyisipan
SETRS = CN.Execute (SQL) Pernyataan ini mengembalikan struktur setelah eksekusi pernyataan SQL dan memberikan hasilnya ke RS
cn.executesql Pernyataan ini hanya menjalankan pernyataan SQL
Jenis Data ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ DataPes
Smallint
Integer 16-bit.
Interger
Integer 32-bit.
desimal (p, s)
Nilai pasti P dan integer desimal dari ukuran s. Nilai pasti P mengacu pada nilai ukuran semua angka (digit), dan S mengacu pada jumlah digit setelah desimal. Jika tidak ditentukan, sistem akan diatur ke P = 5; S = 0.
mengambang
Sejumlah nyata 32 bit.
dobel
Sejumlah nyata 64 bit.
char (n)
String panjang N tidak dapat melebihi 254.
varchar (n)
Untuk string yang panjangnya tidak diperbaiki dan yang panjang maksimumnya adalah n, n tidak dapat melebihi 4000.
Grafik (N)
Seperti char (n), tetapi unitnya adalah dua karakter dua kali lipat, n tidak dapat melebihi 127. Bentuk ini digunakan untuk mendukung dua panjang karakter, seperti karakter Cina.
Vargraphic (n)
String karakter ganda dengan panjang variabel dan panjang maksimumnya adalah n, n tidak dapat melebihi 2000.
tanggal
Termasuk tahun, bulan, dan tanggal.
waktu
Termasuk jam, menit, dan detik.
cap waktu
Ini termasuk tahun, bulan, hari, jam, menit, kedua, dan seperseribu detik.
Jenis prosedur tersimpan untuk pemulihan disediakan di SQLServer.
1.sp_attach_db [@dbname =] dbname, [@filename1 =] filename_n
Tambahkan database ke sistem, tentukan nama database di DBNAME, dan FileName_N menentukan file database dan file log. Misalnya, saya memiliki perpustakaan voogiya. Hentikan layanan SQLServer untuk mencadangkan voogiya_data.mdf, voogiya_log.ldf, mulai sqlserver, hapus perpustakaan ini, dan kemudian salin kedua file ini ke direktori data SQLServer. Jalankan pernyataan berikut di QueryAnalyzer:
Execsp_attach_db@dbname = nvoogiya,
@filename1 = nd: /mssql7/data/voogiya_data.mdf, (berhasil jika n tidak ditambahkan)
@filename2 = nd: /mssql7/data/voogiya_log.ldf (berhasil jika n tidak ditambahkan)
Perpustakaan ini akan ditambahkan ke SQLServerGroup.
2.sp_attach_single_file_db [@dbname =] dbname,
[@physname =] Fisik_Name
Perintah ini sama dengan fungsi di atas. Dalam Fysicely_name, cukup tulis nama file fisik dari database, dan file log SQLServer akan dibangun kembali. Prosedur tersimpan berikut harus dieksekusi terlebih dahulu:
sp_detach_db@dbname = dbname
Sama seperti di atas adalah contoh:
Execsp_detach_db@dbname = voogiya
Execsp_attach_single_file_db@dbname = voogiya,
@physname = d: /mssql7/data/voogiya_data.mdf
Perlu dicatat bahwa pengguna yang menjalankan prosedur tersimpan di atas harus di Sysadmin
Di atas adalah pengantar berbagi koleksi pernyataan SQL. Saya harap Anda bisa menyukainya. Untuk konten lebih lanjut, silakan terus perhatikan situs web Wuxin Technology Channel!