Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Ruby

रूबी सीक्वल रत्न का उपयोग कैसे करें (उदाहरण के साथ)

सीक्वल क्या है?

सीक्वल एक रत्न है जो आपको अपने डेटाबेस तक पहुँचने की अनुमति देता है, इसके लिए किसी रेल की आवश्यकता नहीं होती है।

आप अपने डेटाबेस से विभिन्न तरीकों से जुड़ सकते हैं।

ज्यादातर दो :

  • कच्चे SQL आदेश भेजकर
  • ओआरएम का उपयोग करके

कच्चे SQL और MySQL डेटाबेस का उपयोग करते हुए, यहां एक उदाहरण दिया गया है।

require 'mysql2'

client  = Mysql2::Client.new(host: "localhost")

results = client.query("SELECT * FROM users WHERE age > 21")

परिणाम?

डेटा के साथ हैश की एक सरणी।

अब :

यदि हम डेटा के साथ ऑब्जेक्ट-ओरिएंटेड तरीके से काम करना चाहते हैं, तो हमें परिणामों को ऑब्जेक्ट में बनाना होगा।

ORM जो करता है उसका यह एक बड़ा हिस्सा है।

ओआरएम क्या है?

ORM का मतलब "ऑब्जेक्ट-रिलेशनल-मैपिंग" है।

सीक्वल, जिसका नाम SQL . के वोकलिज़ेशन के नाम पर रखा गया है (डेटाबेस के लिए एक क्वेरी भाषा), एक ORM है।

आइए जानें इसका उपयोग कैसे करें!

सीक्वल उदाहरण:डेटाबेस से कनेक्ट करना

सीक्वल का उपयोग शुरू करने के लिए पहला कदम एक डेटाबेस से जुड़ना है।

यहां एक उदाहरण दिया गया है :

require 'sequel'

DB = Sequel.sqlite('/tmp/testing.db')

यह एक Sequel::Database बनाता है ऑब्जेक्ट करें और इसे DB . को असाइन करें ।

हम यहां SQLite3 डेटाबेस का उपयोग कर रहे हैं।

लेकिन आप दूसरों का उपयोग कर सकते हैं :

  • Sequel.postgres
  • Sequel.mysql2
  • Sequel.oracle

आगे क्या है?

डेटा स्टोर करने के लिए आपको एक टेबल बनानी होगी।

इसे बनाने का तरीका यहां दिया गया है :

unless DB.table_exists?(:fruits)
  DB.create_table :fruits do
    primary_key :id

    column :name, String
    column :amount, Integer
  end
end

एक माइग्रेशन सिस्टम है जिसका आप उपयोग कर सकते हैं।

लेकिन यह वैकल्पिक है ।

अब हम डेटा जोड़ना और डेटाबेस को क्वेरी करना शुरू करने के लिए तैयार हैं!

सीक्वल डेटासेट का उपयोग कैसे करें

डेटाबेस पर किसी विशिष्ट तालिका के साथ इंटरैक्ट करने के लिए आपको डेटासेट ऑब्जेक्ट की आवश्यकता होती है।

यहां बताया गया है कि इसे कैसे प्राप्त करें :

table = DB[:fruits]
# Sequel::SQLite::Dataset

बढ़िया!

अब हम insert . के साथ कुछ रिकॉर्ड जोड़ सकते हैं विधि।

इसे पसंद करें :

table.insert(name: "Orange", amount: 10)
table.insert(name: "Apple", amount: 2)
table.insert(name: "Banana", amount: 7)

आइए गिनती करें :

table.count
# 3

आइए डेटासेट में सभी प्रविष्टियां प्राप्त करें :

table.all
# [
#   { id: 1, name: "Orange", amount: 10 },
#   { id: 2, name: "Apple", amount: 2 },
#   { id: 3, name: "Banana", amount: 7 }
# ]

अरे!

यह हैश की एक सरणी जैसा दिखता है।

ठीक है, आप सही कह रहे हैं।

ठीक यही है।

Sequel आपको बिना मॉडल के डेटाबेस को क्वेरी करने की अनुमति देता है।

लेकिन हम मॉडल का उपयोग कर सकते हैं

यहां बताया गया है...

सीक्वल में मॉडल का उपयोग कैसे करें

एक Sequel मॉडल बहुत कुछ ActiveRecord जैसा दिखता है मॉडल।

यहां एक उदाहरण दिया गया है :

class Fruit < Sequel::Model
end

मॉडल बिल्कुल डेटासेट की तरह व्यवहार करते हैं, लेकिन वे परिणामों को मॉडल वर्ग में लपेटते हैं।

एक नज़र डालें :

Fruit.first
# Fruit @values={:id=>1, :name=>"Orange", :amount=>10}

हम उसी का उपयोग कर सकते हैं Sequel::Dataset तरीके।

तो यहाँ कोई "जादू" नहीं है।

कुछ और उदाहरण :

Fruit.map(:name)
# ["Orange", "Apple", "Banana"]

Fruit.where(name: "Apple").or(amount: 10).map(:name)
# ["Orange", "Apple"]

Fruit.first[:amount]
# 10

बहुत बढ़िया!

अगली कड़ी बनाम ActiveRecord

अब जबकि आप जान गए हैं कि Sequel है, आप सोच रहे होंगे कि यह ActiveRecord . से कैसे तुलना करता है ।

खैर, ActiveRecord रेल के लिए डिफ़ॉल्ट ओआरएम है।

और रेल वास्तव में सम्मेलन पसंद करते हैं।

इसलिए मुझे नहीं लगता कि ActiveRecord . को बदलने की कोशिश करना उचित है Sequel . के साथ एक रेल ऐप में।

हालांकि।

यदि आप सिनात्रा जैसे किसी अन्य ढांचे का उपयोग कर रहे हैं, तो Sequel एक बढ़िया विकल्प है!

सारांश

आपने रूबी में डेटाबेस के साथ ORM का उपयोग करके काम करने के बारे में सीखा है, इस मामले में, अगली कड़ी रूबी रत्न।

अब इसे आजमाने और आनंद लेने की आपकी बारी है!

पढ़ने के लिए धन्यवाद।


  1. रूबी मानचित्र विधि का उपयोग कैसे करें (उदाहरण के साथ)

    मैप एक रूबी विधि है जिसका उपयोग आप ऐरे, हैश और रेंज के साथ कर सकते हैं। मानचित्र का मुख्य उपयोग डेटा को ट्रांसफ़ॉर्म करना है। उदाहरण के लिए : स्ट्रिंग्स की एक सरणी को देखते हुए, आप प्रत्येक स्ट्रिंग पर जा सकते हैं और प्रत्येक वर्ण को अपरकेस बना सकते हैं। या यदि आपके पास User . की सूची है ऑब्जेक्

  1. रूबी में फाइलें कैसे पढ़ें और लिखें (उदाहरण के साथ)

    आज आप रूबी में फाइलों को पढ़ना और लिखना सीखेंगे ताकि आप सामग्री को निकाल सकें, नई फाइलें बना सकें और अपनी जरूरत की जानकारी पा सकें! यहां बताया गया है कि हम क्या कवर करने जा रहे हैं : सामग्री 1 रूबी में फ़ाइलें कैसे पढ़ें 2 रूबी में फ़ाइल को कैसे लिखें 3 रूबी फ़ाइल विधियाँ 4 निर्देशिका संचालन 5

  1. उदाहरण के साथ, लिनक्स में वॉच कमांड का उपयोग कैसे करें

    लिनक्स में वॉच कमांड एक काम करता है - एक कमांड को दोहराता है और परिणाम को बार-बार आउटपुट करता है, जिससे आप परिवर्तनों को देख सकते हैं। यहां इसका उपयोग करने का तरीका बताया गया है। कमांड सिंटैक्स देखें वॉच कमांड का सिंटैक्स इस प्रकार है: watch OPTIONS COMMAND ध्यान दें कि: विकल्प नीचे दी गई तालिका