前端學資料庫之記錄操作

来源:http://www.cnblogs.com/xiaohuochai/archive/2016/11/17/6075146.html
-Advertisement-
Play Games

[1]插入記錄 [2]更新記錄 [3]刪除記錄 [4]查詢表達式 [5]結果處理 ...


×
目錄
[1]插入記錄 [2]更新記錄 [3]刪除記錄[4]查詢表達式[5]結果處理

前面的話

  本文將詳細介紹mysql關於記錄的增刪改查

 

插入記錄

INSERT [INTO] tbl_name [(col_name,...)] {VALUES|VALUE} ({expr|DEFAULT},...),(...),...

  首先,創建一個簡單的數據表

  如果省略col_name,則意味著所有的欄位按照順序依次賦值。因為id欄位是自動編號的,該欄位可以賦值為NULL或DEFAULT

  通過逗號分隔,可以一次性寫入多條記錄;而且,值可以使用表達式表示

  資料庫並沒有布爾類型BOOLEAN,如果聲明類型為BOOLEAN,則會被轉換為TINYINT類型,true轉換為1,false轉換為0

 

方法二
INSERT [INTO] tb1_name SET col_name={expr|DEFAULT},...

  與第一種方法的區別在於,此方法可以使用子查詢(SubQuery),以及一次性只能插入一條記錄

 

方法三

INSERT [INTO] tb1_name [(col_name,...)] SELECT ...

  此方法可以將查詢結果插入到指定數據表

 

更新記錄

UPDATE [LOW_PRIORITY][IGNORE] table_reference SET col_name1={expr1|DEFAULT}[,col_name2={expr2|DEFAULT}]...[WHERE where_condition]

  可以一次更新多條記錄;當省略WHERE條件時,所有記錄的值將會更新

  下麵將所有人的年齡都增加5歲

  下麵將所有人的年齡更新為原有年齡減去其id值,將所有人的性別改成0

  下麵將所有id值為偶數的人的年齡加10歲

 

刪除記錄

DELETE FROM tbl_name [WHERE where_condition]

  [註意]刪除某條記錄後,再插入一條新的記錄,自動編號不會補到刪除記錄的編號上,而是基於原有記錄最大編號繼續增加

 

查詢表達式

SELECT select_expr [,select_expr...]
[
FROM tbl_references
[WHERE where_condition]
[GROUP BY {col_name | position} [ASC | DESC],...]
[HAVING where_condition]
[ORDER BY {col_name | expo | position}  [ASC | DESC],...]
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
]

  查詢表達式的每個表達式表示想要查找的一列,必須有至少一個。多個列之間以英文逗號分開

  查詢表達式的順序可以和原表中欄位的順序不一致

  在使用多表連接時,可能會出現不同的表中存在名稱相同的欄位,如果直接寫欄位,分不清到底是哪張數據表的欄位。在欄位名前加上數據表可以分辨出隸屬於哪張數據表

  星號*號表示所有的列。tbl_name.*可以表示命名錶的所有列

  查詢表達式可以使用[AS] alias_name為其賦予別名,別名可用於GROUP BY, ORDER BY, HAVING字句

  [註意]在使用查詢表達式設置別名查詢,AS可以使用,也可以不使用。但如果不使用,可能會出現二義性情況

SELECT id username FROM users;

  mysql會把上面的語句解析為username作為id的別名

 

結果處理

[GROUP BY {col_name | position} [ASC | DESC],...]

  查詢結果分組(GROUP BY)的參數中,ASC是升序,是預設的;DESC是降序

  col_name代表欄位名,position以數字代表位置,如1代表SELECT語句中第一次出現的欄位

分組條件

[HAVING where_condition]

  在設置分組(HAVING)時,一定要保證分組條件(where_condition)要麼是聚合函數(max,min,avg,count,sum),要麼其中的欄位必須是SELECT中的一個查詢欄位,否則會報錯

分組排序

[ORDER BY {col_name | expo | position}  [ASC | DESC],...]

  可以使用分組排序(order by)對查詢結果進行排序

  同時可以用幾個條件來排序,按輸入順序來進行優先順序的選擇

限制結果

[LIMIT {[offset,] row_count | row_count OFFSET offset}]

  限制查詢結果(LIMIT)預設情況下,返回所有查找到的結果

  如果LIMIT後面只有一個數字,表示從第一條開始返回,並返回相應數字個數的記錄

  SELECT語句預設從0開始編號,如果想從第三條開始返回,則需要offset參數和row_count參數一起使用

【補充】

INSERT [INTO] tbl_name [(col_name,...] SELECT ...

  與一開始介紹的插入記錄的方法不同,現在這種方法可以將查找的結果存儲到指定的數據表


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 今天寫的一個mysql存儲過程涉及到對一個傳入參數的字元串截取,然後需要判斷截取字元串進行一系列操作,最開始用select subtring() into 這樣的方法將截取值賦於declare變數直接報錯。 然後使用sql裡面的方法 select @x=subtring() 也行不通,😣。。。然後 ...
  • 在c#中有個Date屬性用於返回日期,其實就是當天0點。 DateTime dtNow = DateTime.Now; DateTime dtNow2 = dtNow.Date; Console.WriteLine("dtNow=" + dtNow); Console.WriteLine("dtNo... ...
  • Redis Desktop Manager是Redis圖形化管理工具,方便管理人員更方便直觀地管理Redis數據。 然而在使用Redis Desktop Manager之前,有幾個要素需要註意: 一、註釋redis.conf文件中的:bind 127.0.0.1(在一段文字之前打#號為註釋) 二、設 ...
  • mysql 官方客戶端 MySQL-Workbench 下載鏈接 http://dev.mysql.com/downloads/workbench/ 具體安裝步驟就不寫了,直接一直下一步就可以了。 下麵說一下基礎操作: 登錄成功後,界面如下所示。其中,區域1顯示的是資料庫伺服器中已經創建的資料庫列表 ...
  • 前面的話 由於編碼錯誤,造成的資料庫中文識別成亂碼或問號的問題非常常見,本文將詳細說明解決辦法 配置文件 解決中文識別問題的第一步是修改mysql的配置文件my.ini 在[client]下添加 在[mysqld]下添加 然後重新啟動服務 資料庫編碼 首先,新建一個資料庫 通過下列代碼查看資料庫的編 ...
  • 由於SQL優化優化起來比較複雜,並且還受環境限制,在開發過程中,寫SQL必須遵循以下幾點原則: 1.Oracle 採用自下而上的順序解析WHERE子句,根據這個原理,表之間的連接必須寫在其他Where條件之前,那些可以過濾掉最大數量記錄的條件必須寫在Where子句的末尾. 2.Select 語句避免 ...
  • 最近一直在跟Oracle打交道,從最初的一臉懵逼到現在的略有所知,也來總結一下自己最近所學,不定時更新ing… 一:什麼是Oracle執行計劃? 執行計劃是一條查詢語句在Oracle中的執行過程或訪問路徑的描述 二:怎樣查看Oracle執行計劃? 因為我一直用的PLSQL遠程連接的公司資料庫,所以這 ...
  • SQL server基礎知識 一、基礎知識 (1)、存儲結構:資料庫->表->數據 (2)、管理資料庫 增加:create database 資料庫名稱 刪除:drop database 資料庫名稱 查詢:select name from master..sysdatabases 修改:alter ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...