關於MySQL資料庫——增刪改查語句集錦

来源:http://www.cnblogs.com/jly144000/archive/2017/10/02/7622236.html
-Advertisement-
Play Games

一、基本的sql語句 CRUD操作:create 創建(添加)read 讀取update 修改delete 刪除1、添加數據insert into Info values('p009','張三',1,'n001','2016-8-30 12:9:8') ; 給特定的列添加數據insert into ...


一、基本的sql語句

CRUD操作:
create 創建(添加)
read 讀取
update 修改
delete 刪除

1、添加數據
insert into Info values('p009','張三',1,'n001','2016-8-30 12:9:8') ;
給特定的列添加數據
insert into Info (code,name) values('p010','李四');
自增長列的處理
insert into family values('','p001','數據','T001','數據',1);

insert into 表名 values(值)

2、刪除數據
刪除所有數據
delete from family
刪除特定的數據
delete from Info where code='p001'

delete from 表名 where 條件

3、修改數據
修改所有數據
update Info set name='徐業鵬'
修改特定數據
update Info set name='呂永樂' where code='p002'
修改多列
update Info set name='呂永樂',sex=1 where code='p003'

update 表名 set 要修改的內容 where 條件  tno =

4、讀取數據
(1)簡單讀取,查詢所有列(*)  所有行(沒有加條件)
select * from Info
(2)讀取特定列
select code,name,class from Info
(3)條件查詢
select * from Info where code='p003'
(4)多條件查詢
select * from Info where code='p003' or nation='n002' #或的關係
select * from Info where sex=0 and nation='n002' #與的關係
(5)關鍵字查詢(模糊查詢)
查所有包含奧迪的汽車
select * from car where name like '%奧迪%'; #百分號%代表任意多個字元
查以'皇冠'開頭的所有汽車
select * from car where name like '皇冠%';
查詢汽車名稱中第二個字元是'馬'的
select * from car where name like '_馬%'; #下劃線_代表任意一個字元
(6)排序查詢
select * from car order by powers  #預設升序排列
select * from car order by powers  #升序asc 降序 desc
先按brand升序排,再按照price降序排
select * from car order by brand,price desc


(7)範圍查詢
select * from car where price9()>40 and price<60
select * from car where price between 40 and 60

(8)離散查詢
select * from car where price=30 or price=40 or price=50 or price=60;
select * from car where price in(30,40,50,60)取出數據
select * from car where price not in(30,40,50,60)去掉數據

(9)聚合函數(統計查詢)
select count(*) from car
select count(code) from car #取所有的數據條數
select sum(price) from car #求價格總和
select avg(price) from car #求價格的平均值
select max(price) from car #求最大值
select min(price) from car #求最小值

(10)分頁查詢
select * from car limit 0,10  #分頁查詢,跳過幾條數據(0)取幾條(10)
規定一個每頁顯示的條數:m
當前頁數:n]
select * from car limit (n-1)*m,m

(11)去重查詢
select distinct brand from car

(12)分組查詢
查詢汽車表中,每個系列下汽車的數量
select brand,count(*) from car group by brand
分組之後,只能查詢該列或聚合函數

取該系列價格平均值大於40的系列代號
select brand from car group by brand having(加條件) avg(price)>40

取該系列油耗最大值大於8的系列代號
select brand from car group by brand having max(oil)>8

二、MySql的高級查詢(使用外連接

 連接查詢
SELECT t1.Name,t2.Brand_Name FROM brand t2,car t1 -- 笛卡爾乘積
WHERE t2.Brand = t1.Brand


-- 多表連接查詢
SELECT t1.Name,t2.Brand_Name,t3.prod_name  FROM car t1 LEFT JOIN brand t2 ON t1.Brand = t2.Brand

LEFT JOIN productor t3 ON t2.Prod = t3.Prod


-- 聯合查詢 欄位數必須一樣
SELECT `Name`,Price FROM car UNION SELECT Brand_Name,Brand_Memo FROM brand


-- 子查詢(***)
SELECT * FROM car WHERE car.brand in (SELECT Brand FROM brand WHERE Prod = 'p001')

說明:使用外連接

A、left outerjoin 左外連接(左連接):結果集幾包括連接表的匹配行,也包括左連接表的所有行。 SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c B:right outerjoin: 右外連接(右連接):結果集既包括連接表的匹配連接行,也包括右連接表的所有行。 C:full/cross outerjoin 全外連接:不僅包括符號連接表的匹配行,還包括兩個連接表中的所有記錄。 D:分組:Group by:   一張表,一旦分組完成後,查詢後只能得到組相關的信息。  組相關的信息:(統計信息) count,sum,max,min,avg  分組的標準)   在SQLServer中分組時:不能以text,ntext,image類型的欄位作為分組依據  在selecte統計函數中的欄位,不能和普通的欄位放在一起; E:外連接查詢(表名1:a 表名2:b) select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c F:between的用法,between限制查詢數據範圍時包括了邊界值,not between不包括 select * from table1 where time between time1 and time2 select a,b,c, from table1 where a not between 數值1 and 數值2 G:四表聯查問題: select * from a left inner join b on a.a=b.b right inner join c on a.a=c.c inner join d on a.a=d.d where ..... H::前10條記錄 select top 10 * form table1 where 範圍 I:選擇在每一組b值相同的數據中對應的a最大的記錄的所有信息(可以用於論壇每月排行榜,每月熱銷產品分析,按科目成績排名,等等.) select a,b,c from tablename ta where a=(select max(a) from tablename tb where tb.b=ta.b)
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 如何判斷數據中某張表是否存在,如果不存在則創建它? 最笨的方法就是寫個select從表中讀數據,捕獲異常的同時就知道了改表沒有創建。 此法不通,因為這個時候的異常似乎被認定為了系統錯誤,於是後面創建表的代碼被忽略了。 大部分人的做法類似於select system.table where tabbl ...
  • 本文示例可見一斑了,主要是通過Java對SQL語句進行操作,和普通的增刪改查的原理是一樣的: 註:參考鏈接:http://blog.csdn.net/sd4015700/article/details/39668583 ...
  • 這個問題是因為在資料庫伺服器中的mysql資料庫中的user的表中沒有許可權(也可以說沒有用戶),下麵將記錄我遇到問題的過程及解決的方法。 在搭建完LNMP環境後用Navicate連接出錯 遇到這個問題首先到mysql所在的伺服器上用連接進行處理 1、連接伺服器: mysql -u root -p 2 ...
  • 0.目錄 1. "前言" 2. "通過SSMS添加數據" 3. "通過SQL語句添加數據" 3.1 "添加單條數據" 3.2 "添加多條數據" 4. "通過其他表導入數據" 4.1 "通過資料庫中的其他表導入數據" 4.2 "通過excel表導入數據" 1.前言 增刪改查都是對數據的操作,其中“增” ...
  • 1. CUDA Toolkit的安裝 到https://developer.nvidia.com/cuda-gpus查詢GPU支持的CUDA版本: 到https://developer.nvidia.com/cuda-downloads,根據操作系統選擇下載相應的CUDA Toolkit版本,下載的 ...
  • 通過SSMS設置主鍵外鍵,使用SQL語句分別在建表中和建表後設置主鍵外鍵 ...
  • 0.目錄 1. "前言" 2. "建立資料庫" 2.1 "通過SSMS建立資料庫" 2.2 "通過SQL語句建立資料庫" 3. "建立表" 3.1 "通過SSMS建立表" 3.2 "通過SQL語句建立表" 1.前言 配置是win10+SQL Server 2012,使用的GUI管理工具是SQL Se ...
  • 說明 本文寫於2017 10 03,使用MySQL 5.7,操作系統為64位 Debian GNU/Linux 8.6 (jessie)。 安裝 因apt倉庫將mysql相關的包移除,需要自己去官網下載之,以及相關的依賴包。 在安裝mysql community server時,會提示輸入MySQL ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...