MYSQL基礎操作之單表的增刪改查

来源:http://www.cnblogs.com/vastsum/archive/2016/10/22/5988597.html
-Advertisement-
Play Games

一、添加數據。 -- 1.創建表,並插入一定的數據。 -- 2.插入部分數據 二、修改數據 --1.根據條件修改數據 --2.修改多個欄位的內容 三、刪除數據(暫無演示) -- 7.刪除所有數據 -- 可以帶條件刪除,只能刪除表的數據,不能刪除表的約束,即自增長數值接著上次刪除的數值增長,刪除數據可 ...


一、添加數據。

-- 1.創建表,並插入一定的數據。

 1 CREATE TABLE STUDENT(
 2 ID INT,
 3 USERNAME VARCHAR(20),
 4 SERVLET INT,
 5 JSP INT,
 6 ADDRESS VARCHAR(30)
 7 );
 8 INSERT INTO STUDENT VALUES (1,'張三',23,84,'京口區');
 9 INSERT INTO STUDENT VALUES (2,'李四',36,74,'潤州區');
10 INSERT INTO STUDENT VALUES (3,'王五',74,24,'京口區');
11 INSERT INTO STUDENT VALUES (4,'趙六',87,85,'京口區');
12 INSERT INTO STUDENT VALUES (5,'李七',63,98,'大港區');
13 INSERT INTO STUDENT VALUES (6,'鄭八',99,89,null);
14 INSERT INTO STUDENT VALUES (7,'孫九',60,84,'');

-- 2.插入部分數據

INSERT INTO STUDENT (ID,USERNAME) VALUES(8,'李十十');

二、修改數據

--1.根據條件修改數據

 UPDATE STUDENT SET SERVLET = 86 WHERE ID =1;

--2.修改多個欄位的內容

UPDATE STUDENT SET SERVLET = 65,JSP = 73 WHERE ID = 2;

 

三、刪除數據(暫無演示)

-- 7.刪除所有數據

-- 可以帶條件刪除,只能刪除表的數據,不能刪除表的約束,即自增長數值接著上次刪除的數值增長,刪除數據可以回滾。
DELETE FROM STUDENT;

-- 8.帶條件刪除
DELETE FROM STUDENT WHERE SID = 2;
-- 9.另一種刪除方式,輸出表中所有數據

-- 不能帶條件刪除,既可以刪除表的數據,也可以刪除表的約束,永久刪除。

TRUNCATE TABLE STUDENT;

四、單表查詢

-- 1.查詢所有列

SELECT * FROM STUDENT;

 

-- 2.查詢指定列

SELECT ID ,USERNAME FROM STUDENT;

-- 3.查詢時指定別名
-- 在多表查詢時經常使用表的別名

SELECT ID AS '編號' ,USERNAME AS '用戶名' FROM STUDENT AS S;

 

-- 4.A查詢時添加常量列

SELECT ID ,USERNAME,'這是一個班' AS '備註' FROM STUDENT;

-- 5.查詢時合併列
-- 查詢每個學生的SERVLET和JSP的總成績
-- 合併列只能合併數值類型的欄位。

SELECT ID ,USERNAME ,(SERVLET+JSP) AS '總成績' FROM STUDENT;

 

-- 6.查詢去除重覆記錄
-- 查詢所有JSP成績可以出現的情況

SELECT DISTINCT ADDRESS FROM STUDENT;

-- 另一種語法

SELECT DISTINCT(ADDRESS) FROM STUDENT; 

-- 7.條件查詢(WHERE)
-- 7.1邏輯條件 AND OR
-- 查詢 SID為2,且姓名為李四的學生

SELECT * FROM STUDENT WHERE ID = 2 AND USERNAME = '李四';

 

-- 7.1.1查詢 SID為2,或姓名為張三的學生

SELECT * FROM STUDENT WHERE ID = 2 OR USERNAME = '張三';

-- 7.2比較條件 > < >= <= == <> BETWEEN AND
-- 7.2.1查詢 SERVLET 成績大於70分的學生

SELECT * FROM STUDENT WHERE SERVLET > 70;

 

-- 7.2.2查詢 SERVLET 成績大於60分小於80分的學生

SELECT * FROM STUDENT WHERE SERVLET >60 AND SERVLET < 80;

-- 7.2.3查詢 SERVLET 成績大於等於70小於等於80的學生

SELECT * FROM STUDENT WHERE SERVLET >=70 AND SERVLET <=80;

-- 7.2.4另外一種語法

SELECT * FROM STUDENT WHERE SERVLET BETWEEN 70 AND 80;

-- 7.2.5查詢 姓名不等於張三的記錄

SELECT * FROM STUDENT WHERE USERNAME <>'張三';

 

-- 7.3判空(null 空字元串) IS NULL IS NOT NULL ='' <>''
-- 7.3.1判斷NULL

SELECT * FROM STUDENT WHERE ADDRESS IS NULL;

-- 7.3.2判斷空字元串

SELECT * FROM STUDENT WHERE ADDRESS ='';

-- 7.3.3查詢地址為空的記錄

SELECT * FROM STUDENT WHERE ADDRESS IS NULL OR ADDRESS = '';

-- 7.3.4查詢地址不為空的記錄

SELECT * FROM STUDENT WHERE ADDRESS IS NOT NULL AND ADDRESS <>'';

-- 7.4模糊條件 LIKE
-- 通常使用以下替換的標記:%:表示任意字元;_:表示一個字元
-- 7.4.1查詢姓李學生的記錄

SELECT * FROM STUDENT WHERE USERNAME LIKE '李%';

 

-- 8.聚合查詢
-- 常用的聚合函數:SUM() AVG() MAX() MIN() COUNT()
-- 8.1查詢學生SERVLET 總成績

SELECT SUM(SERVLET) AS 'SERVLET的總成績' FROM STUDENT;

-- 8.2查詢 學生 SERVLET 的平均分

SELECT AVG(SERVLET) AS 'SERVLET的平均分' FROM STUDENT;

-- 8.3查詢當前 SERVLET 的最高分

SELECT MAX(SERVLET) AS '最高分' FROM STUDENT;

-- 8.4查詢 SERVLET的最低分

SELECT MIN(SERVLET) AS '最低分' FROM STUDENT;

-- 查詢當前有多少學生 COUNT(欄位)

SELECT COUNT(*) FROM STUDENT;

-- 9.分頁查詢 LIMIT 起始行,查詢幾行。主要用於分頁。
-- 查詢第1,2條記錄

SELECT * FROM STUDENT LIMIT 0,2;

-- 10.排序,預設情況下按插入記錄的順序排序。ORDER BY
-- 10.1ASC 正序 DESC 倒序

SELECT * FROM STUDENT ORDER BY ID DESC;

-- 10.2按照SERVLET正序,再JSP倒序

SELECT * FROM STUDENT ORDER BY SERVLET ASC ,JSP DESC;

-- 11.分組查詢 GROUP BY
-- 查詢每個地區的人數

SELECT ADDRESS,COUNT(*) FROM STUDENT GROUP BY ADDRESS;

-- 12.分組查詢後篩選
-- 查詢分組後區域人數超過1個人的區域 GROUP BY 後面不能再跟條件where

SELECT ADDRESS ,COUNT(*) FROM STUDENT GROUP BY ADDRESS HAVING COUNT(*)>1;


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

-Advertisement-
Play Games
更多相關文章
  • 關於Android程式的構架, 當前(2016.10)最流行的模式即為MVP模式, Google官方提供了Sample代碼來展示這種模式的用法. 本文為閱讀官方sample代碼的閱讀筆記和分析. ...
  • MySQL5 中添加了存儲過程的支持。 大多數SQL語句都是針對一個或多個表的單條語句。並非所有的操作都怎麼簡單。經常會有一個完整的操作需要多條才能完成 存儲過程簡單來說,就是為以後的使用而保存的一條或多條MySQL語句的集合。可將其視為批文件。雖然他們的作用不僅限於批處理。 為什麼要使用存儲過程: ...
  • 已經有快2個月沒有更新博客了,實在是因為最近發生了太多的事情,辭了工作,在湘雅醫院待了一個多月,然後又新換了工作...... 在平時的工作中,Sqlserver中許多知識點是經常用到的,但是有時候我們往往忽略了它們,在過去的一年裡,一直使用的是Mysql,現在又開始接觸Sqlserver了,所以就把 ...
  • 目前由於業務需要需要在地圖上顯示離坐標點最近的服務網點信息 前提:定位坐標與網點坐標均知曉: 演算法: ...
  • 一、下載及安裝MongoDB MongoDB下載官網鏈接:http://www.mongodb.org/downloads 具體安裝步驟教程:http://www.shouce.ren/api/view/a/6191(PS:該鏈接中對MongoDB安裝講解比較詳細,通俗易懂。安裝教程鏈接是我從手冊網 ...
  • 如何把mysql的列修改成行顯示數據簡單實現 創建測試表: 1: DROP TABLE IF EXISTS `test`;<!--CRLF--> 2: CREATE TABLE `test` (<!--CRLF--> 3: `year` int(11) DEFAULT NULL,<!--CRLF-- ...
  • 出處:kelvin19840813 的博客 http://www.cnblogs.com/kelvin19840813/ 您的支持是對博主最大的鼓勵,感謝您的認真閱讀。本文版權歸作者所有,歡迎轉載,但請保留該聲明。 引用wiki: https://zh.wikipedia.org/wiki/%E6% ...
  • 在安裝mysql的過程中,出現的最麻煩的問題和解決方法 安裝後,啟動不成功,就卡了,程式就沒有響應。 如何解決: 找到mysql安裝目錄下的 #Path to the database root datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/... ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...