整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          預覽版中引入Javascript支持,實現高級數據處理邏輯

          ySQL 在預覽版中引入了 Javascript 支持。

          Oracle 最近宣布 MySQL 數據庫服務器現在支持 JavaScript 函數和過程。用于存儲例程的 JavaScript 目前處于預覽狀態,并且僅在 MySQL Enterprise Edition 和 MySQL Heatwave 中可用。

          JavaScript 支持的引入使開發人員能夠在數據庫中實現高級數據處理邏輯。通過最大限度地減少數據庫服務器和客戶端應用程序之間的數據移動,存儲函數和過程可以減少延遲、網絡開銷和出口成本。Oracle 高級首席軟件工程師?ystein Gr?vlen和技術人員顧問成員Farhan Tauheed寫道:

          對JavaScript存儲程序的支持,不僅可以利用龐大的生態系統來提高開發人員的生產力;現在,更多的開發人員將具備編寫存儲程序所需的技能。換句話說,組織現在可以利用廣泛可用的 JavaScript 技能集進行后端開發,從而挖掘更廣泛的開發人才。

          在新功能的常見用例中,Oracle 重點介紹了數據提取、數據格式化、近似搜索、數據驗證、壓縮、編碼和數據轉換。該公告提供了一個將 JavaScript 代碼直接嵌入到 SQL 定義中的函數示例,受到社區的好評:

          CREATE FUNCTION gcd_js (a INT, b INT) RETURNS INT

          LANGUAGE JAVASCRIPT AS $$

          let [x, y] = [Math.abs(a), Math.abs(b)];

          while(y) [x, y] = [y, x % y];

          return x;

          $$;

          當使用傳統的 CALL 語句調用函數時,SQL 類型和 JavaScript 類型之間會發生隱式類型轉換。根據文檔,JavaScript 支持基于 ECMAScript 2021 標準,并且支持整數、浮點和CHAR/VARCHAR類型的所有變體。Gr?vlen 和 Tauheed 補充道:

          MySQL-JavaScript 集成針對其特定用例使用定制的 VM,以實現最佳的端到端性能。這種定制基于 GraalVM 的提前 (AOT) 編譯,其中語言實現被編譯為本機二進制表示形式以進行快速處理。GraalVM 有自己的基于 ECMAScript 2021 標準的 JavaScript 實現。盡管它是使用 GraalVM 的 Polyglot 框架實現的,但該語言實現在性能方面具有競爭力。

          GraalVM運行時包括 JDK、語言實現( JavaScript、R、Python、Ruby 和 Java)以及具有沙箱功能和工具支持的托管虛擬機。雖然 MySQL-JavaScript 在 OCI、AWS 和 Azure 上的 MySQL 企業版和 MySQL Heatwave 云服務中可用,但 MySQL 社區版不支持。

          MySQL 并不是第一個在存儲例程中支持 Javascript 的開源關系數據庫,PLV8是 PostgreSQL 最流行的 Javascript 語言擴展。PLV8 受 PostgreSQL 的所有當前版本支持,包括Amazon RDS等托管服務,并且可用于存儲例程和觸發器。

          Oracle 在 YouTube 上發布了三個 MySQL HeatWave 視頻,演示如何運行 Mustache 庫、驗證 Web 表單輸入或使用 JavaScript 中存儲的程序處理 Web URL。

          及如何使用這個驚人的工具來增強我們的SQL技能。

          圖片來自編輯 |微軟設計師

          ChatGPT可以做很多很酷的事情。其中之一是編寫代碼。您只需要給出正確的指示,ChatGPT 將為您完成這項工作。

          如果你想學習SQL,ChatGPT是一個很好的入門資源。它可以幫助您使用自然語言創建SQL查詢,解決您可能遇到的任何編碼問題,甚至可以幫助您理解您不理解的預定義查詢。

          在本文中,我將概述如何使用 ChatGPT 學習 SQL 并精通這項寶貴的技能。

          讓我們一起弄清楚吧!

          首先,所以...ChatGPT到底是什么?

          ChatGPT是由OpenAI訓練的大型語言模型。它能夠根據收到的輸入生成類似人類的文本,并可用于回答問題和與人進行對話。

          所以基本上,我們可以利用它的知識——以及它以一種非常簡單和人性化的方式告訴我們任何事情的能力——來理解SQL并從中學習。

          #Step 1:設置聊天GPT

          要開始使用 ChatGPT,您需要在此處注冊一個帳戶。



          注冊 ChatGPT 顯示。

          您必須提供您的電子郵件地址和電話號碼才能開始使用 ChatGPT。

          #Step 2:了解如何與 ChatGPT 交互

          啟用 ChatGPT 后,您應該會看到以下顯示:

          聊天GPT聊天顯示的屏幕截圖。
          在下面的輸入框中,我們可以編寫任何內容來開始與 ChatGPT 交互。由于我會打擾她或他一段時間,我會提前道歉;)

          自制動圖。ChatGPT回答我的第一條消息。

          #Step 3:問任何你能想象到的問題——它都會回答你。

          所以現在,我們可以開始向ChatGPT詢問任何事情。我將專注于學習SQL。通過使用 ChatGPT,我們可以要求 5 件主要事情來提高我們的 SQL 技能。

          1. 向我們解釋 SQL 中的任何概念或命令

          當崩潰到一種新的編程語言時,我們通常對每個命令都有很多疑問和困惑。ChatGPT 可以通過簡單的解釋幫助我們理解任何命令,并根據我們的要求向我們提供盡可能多的用法示例。

          讓我們從 SQL 中最基本的東西開始——命令。SELECT

          簡要解釋一下什么是命令以及如何使用它的示例SELECT

          ChatGPT 回答了一個解釋命令的簡短答案,并給出了最基本的示例:選擇 * FROMSELECT

          ChatGPT 聊天的屏幕截圖。

          但是,我可以進一步請求命令。SELECT

          向我解釋什么是命令以及一些演示如何使用它的示例SELECT

          如下圖所示,ChatGPT 解釋了該命令的基礎知識,并向我們提供了一些用法示例。

          ChatGPT 聊天的屏幕截圖。給出更多 SELECT 命令的示例。

          您可以嘗試詢問任何您能想到的命令,例如更具挑戰性的命令,例如 .HAVING

          給我一些SQL中HAVE命令的例子

          ChatGPT 用幾個例子來回答,如下所示:

          1. 若要查找收入高于平均工資的所有員工的姓名和薪水,可以使用如下查詢:
          SELECT 
               name, 
               salary
          FROM employees
          GROUP BY name
          HAVING salary > (SELECT AVG(salary) FROM employees);

          2.要查找過去一年中下過10個以上訂單的所有客戶的姓名,您可以使用這樣的查詢。

          SELECT 
               name 
          FROM customers 
          WHERE customer_id 
          IN 
          (
            SELECT customer_id 
            FROM orders 
            WHERE date >= DATEADD(year, -1, GETDATE()) 
            GROUP BY customer_id 
            HAVING COUNT(*) > 10
          );

          當然,我們可以不斷要求更多的解釋和更多的例子。嘗試您能想到的任何其他命令,它會立即回答。

          2. 你可以問如何在SQL中做一些事情,ChatGPT會讓你知道要使用什么命令(或命令)。

          我可以詢問如何執行特定操作,ChatGPT 會讓我知道我需要使用什么命令。

          我想合并兩個表,我應該在SQL中使用什么命令?

          ChatGPT 回答我使用任何連接命令,如下圖所示。

          ChatGPT 聊天的屏幕截圖。解釋如何合并兩個表。

          但是,我知道當行在某些特定列中具有重合的值時,我只想連接兩個表。在這種情況下,我可以再次詢問并了解我應該使用什么命令。

          我想連接兩個表,只獲取在某些給定列中具有重合值的數據。

          因此,ChatGPT 讓我知道只有允許我這樣做,如下圖所示:INNER JOIN


          ChatGPT 聊天的屏幕截圖。解釋如何合并兩個表并僅保留重合的值。

          它給了我相應的查詢:

          SELECT 
              *
          FROM table1
          INNER JOIN table2
             ON  table1.id = table2.id
             AND table1.name = table2.name;

          3. 您可以要求 ChatGPT 使用自然語言創建查詢

          現在讓我們想象一下,我知道我需要什么結果,但我不知道如何制定該查詢。 我可以簡單地解釋我想對 ChatGPT 做什么,它會給我一個可以遵循的結構。 因此,我可以按照 ChatGPT 的示例學習如何構建查詢。

          向我解釋如何創建一個SQL查詢,該查詢計算歐洲最昂貴的城市,其中包含每個城市中不同項目的價格。

          ChatGPT 立即回答我,如下圖所示。


          ChatGPT 給了我一個查詢示例,并解釋了這個查詢的作用。

          4.您可以詢問ChatGPT,它解釋了查詢的工作原理。

          現在讓我們想象一下,你可以從一個生病的同事那里做工作,但你不理解他的查詢——有些人以混亂的方式編碼,或者你可能只是覺得懶惰,不想浪費很多時間理解別人的查詢。

          這很正常 - 您可以使用ChatGPT來避免此任務。我們可以很容易地要求 ChatGPT 解釋給定的查詢。

          假設我們想了解以下查詢的作用:

          以下查詢有什么作用:[在此處插入查詢]

          ChatGPT只是立即回答:

          ChatGPT 聊天的屏幕截圖。它解釋了給定查詢的作用。

          如上圖所示,ChatGPT 逐步解釋了此查詢的作用。

          首先,它解釋了所有包含的子查詢及其作用。然后,它解釋了最終查詢以及它如何使用前面的子查詢來合并所有數據。 我們甚至可以在給定的子查詢中要求更詳細的解釋。

          你能進一步解釋一下上一個查詢的第二個子查詢的作用嗎?

          ChatGPT 聊天的屏幕截圖。它進一步解釋了給定查詢的第二個子查詢的作用。

          正如您在上圖中觀察到的那樣,ChatGPT 詳細解釋了第二個子查詢的執行方式。

          你可以用任何你能想象到的查詢來挑戰 ChatGPT!

          5.您可以要求ChatGPT通過練習來挑戰您。

          對我來說,ChatGPT 最好的部分是要求一些練習和答案來練習和測試你的技能。它甚至可以告訴你什么時候做得好——或者沒有。

          你能給我一些練習SQL的練習嗎

          ChatGPT 的屏幕截圖給了我一些練習 SQL 的練習。

          現在 ChatGPT 告訴我一些要執行的問題。在這種情況下,我可以嘗試解決第一個問題,并詢問 ChatGPT 我的解決方案是否正確。

          以下查詢是否正確與上一個練習的答案正確 [插入查詢]

          ChatGPT 會回答并寫下它是否正確以及為什么。

          ChatGPT 回答我編碼的查詢是否正確的屏幕截圖。

          我可以要求前面每個示例的正確答案:

          你能給我前面練習的正確答案嗎?

          如下圖所示,ChatGPT 將為我提供所有要執行的正確查詢。


          ??
          請注意,ChatGPT 提供給我的答案和我提供的要檢查的答案是完全不同的。

          結論

          在當今數據驅動的世界中,SQL是一項寶貴的技能。通過使用 ChatGPT 學習基礎知識并練習您的技能,您可以精通 SQL。通過不斷的學習和實踐,您可以使用此工具繼續擴展您的技能并在您的數據職業生涯中實現飛躍。

          讓我知道 ChatGPT 是否通過其他一些好的功能讓您感到驚訝。我會在評論中讀到你!:D

          數據總是有更好的想法 - 相信它。


          原文標題:Using ChatGPT to Learn SQL

          原文鏈接:https://www.kdnuggets.com/2023/04/chatgpt-learn-sql.html

          作者:Josep Ferrer

          編譯:LCR

          用戶在 HTML 表單中填寫并提交數據時,可以使用 PHP 來接收并處理這些數據。要實現這一點,需要創建一個 PHP 腳本來處理提交的數據,然后將 HTML 表單的 "action" 屬性設置為該腳本的文件路徑。表單提交的數據需要進行驗證和過濾,以確保數據的完整性和安全性。可以使用條件語句、正則表達式、過濾器函數等方法來驗證和過濾數據,并使用 htmlspecialchars() 函數轉義 HTML 標記,以防止 XSS 攻擊。

          以下是一個簡單的示例:

          HTML 表單代碼:

          <form action="submit.php" method="post">

          <label for="name">Name:</label>

          <input type="text" id="name" name="name">

          <label for="email">Email:</label>

          <input type="email" id="email" name="email">

          <button type="submit">Submit</button>

          </form>

          PHP 代碼(submit.php):

          <?php

          // 獲取表單提交的數據

          $name = $_POST['name'];

          $email = $_POST['email'];

          // 在這里進行處理,例如將數據存儲到數據庫中

          // ...

          // 返回一個響應,告訴用戶數據已經被成功提交

          echo "Thank you for submitting the form, $name!";

          ?>

          在上面的示例中,表單的 "action" 屬性設置為 "submit.php",這意味著提交表單時,數據將被發送到 submit.php 文件中的 PHP 代碼中進行處理。PHP 代碼使用 $_POST 數組來獲取表單提交的數據,然后進行處理,例如將數據存儲到數據庫中。最后,PHP 代碼返回一個響應,告訴用戶數據已經被成功提交。在處理表單數據時,一定要對用戶輸入進行驗證和過濾,以防止安全漏洞。

          需要對表單提交的數據進行驗證和過濾,以確保數據的完整性和安全性。以下是一些常見的方法:

          1、驗證表單字段:在 PHP 代碼中使用條件語句和正則表達式等方法來驗證表單字段的有效性,例如驗證電子郵件地址的格式是否正確。

          $email = $_POST['email'];

          if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {

          // 如果郵件地址格式不正確,則顯示錯誤消息

          echo "Invalid email address";

          }

          2、過濾輸入數據:使用 PHP 中的過濾器函數來過濾表單輸入數據,以防止 XSS 攻擊和 SQL 注入等安全漏洞。

          $name = $_POST['name'];

          $name = filter_var($name, FILTER_SANITIZE_STRING); // 過濾特殊字符和標簽

          3、防止跨站腳本攻擊(XSS):在 PHP 代碼中使用 htmlspecialchars() 函數來轉義 HTML 標記,防止惡意腳本注入到頁面中。

          $name = $_POST['name'];

          $name = htmlspecialchars($name, ENT_QUOTES, 'UTF-8'); // 轉義 HTML 標記

          4、防止 SQL 注入攻擊:在 PHP 代碼中使用參數化查詢或準備語句來執行數據庫操作,以防止惡意 SQL 語句注入到數據庫中。

          $stmt = $pdo->prepare("INSERT INTO users (name, email) VALUES (:name, :email)");

          $stmt->bindParam(':name', $name);

          $stmt->bindParam(':email', $email);

          $stmt->execute();

          通過這些方法,可以確保表單提交的數據是安全和有效的,并且能夠正常地處理和存儲到數據庫中。


          主站蜘蛛池模板: 亚洲综合激情五月色一区| 欧亚精品一区三区免费| 国产成人午夜精品一区二区三区| 国产在线观看精品一区二区三区91| 国产亚洲情侣一区二区无码AV | 国产韩国精品一区二区三区| 精品三级AV无码一区| 国产精品第一区第27页| 国产aⅴ一区二区三区| 国产乱码精品一区二区三区| 亚洲视频一区二区三区| 亚洲一区二区三区四区在线观看| 久久国产精品一区| 精品乱子伦一区二区三区高清免费播放 | 亚洲av无码一区二区三区观看| 亚洲一区二区高清| 亚洲国产高清在线一区二区三区 | 国产怡春院无码一区二区| 亚洲AV无码一区东京热| 国产激情视频一区二区三区| 中文字幕久久久久一区| 久久一区二区免费播放| 国产av成人一区二区三区| 果冻传媒董小宛一区二区| 国产午夜福利精品一区二区三区| 中文字幕一区二区免费 | 亚洲AV无码一区二区三区网址| 亚洲成在人天堂一区二区| 日韩精品无码免费一区二区三区| 国产AV一区二区三区传媒| 无码国产伦一区二区三区视频| 免费无码A片一区二三区| 久久人做人爽一区二区三区 | 一区二区三区午夜| 国产日韩高清一区二区三区 | 精品无码人妻一区二区三区18| 国产成人精品一区二三区熟女 | 一本AV高清一区二区三区| 国产激情无码一区二区app| 日韩精品无码免费一区二区三区| 中文字幕日韩精品一区二区三区 |