【MySQL】(4)操作數據表中的記錄

1. 插入記錄INSERT

方法一:

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

比如:

CREATE TABLE users(
id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(20) NOT NULL,
password VARCHAR(32) NOT NULL,
age TINYINT UNSIGNED NOT NULL DEFAULT 10,
sex BOOLEAN
);
# 插入記錄,不指定列的數目時。必須全部的字段都要賦值
INSERT users VALUES(NULL, 'Tom', '123', 25, 1);
INSERT users VALUES(NULL, 'Tom2', '123', 28, 1);
INSERT users VALUES(DEFAULT, 'Tom3', '111', 28, 1);
# 使用數學表達式也能夠加入值
INSERT users VALUES(DEFAULT, 'Tom4', '111', 3*7+2/3, 1);
# 給年齡DEFAULT。會採用默認值10
INSERT users VALUES(DEFAULT, 'Tom5', '111', DEFAULT, 1);
# 一次加入多條記錄
INSERT users VALUES(DEFAULT, 'Tom6', '111', DEFAULT, 1), (NULL, 'Rose', md5('213'), DEFAULT, 0);

方法二:

INSERT [INTO] tbl_name SET col_name={exp | DEFAULT},...;

這種方法與第一種方式的差別在于,此方法能夠使用子查詢(SubQuery),此方法一次性僅僅能插入一條記錄。

比如:

INSERT users SET username='Ben', password='456';
方法三:

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

使用此方法能夠將查詢結果插入到指定數據表。


2. 單表更新記錄UPDATE

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

比如:

# 全部記錄的年齡都加5
UPDATE users SET age=age+5;
# 更新多列
UPDATE users SET age=age-id, sex=0;
# 更新id為偶數的記錄
UPDATE users SET age=age+10 WHERE id%2=0;


3. 單表刪除記錄DELETE

DELETE FROM tbl_name [WHERE where_condition];

比如:

DELETE FROM users WHERE id=6;

即使在刪除后,id號不連續,那么新增的數據還是會在最大的id號加一。


4. 查詢表達時解析

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

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

星號(*)表示全部列。

tbl_name.*能夠表示命名表的全部列。查詢表達式能夠使用[AS] alias_name為其賦予別名。別名可用于GROUP BY,ORDER BY或HAVING字句。

比如:

# 查看MySQL版本號
SELECT VERSION();
# 查看當前時間
SELECT NOW();
# 僅僅查看前兩列
SELECT id, username FROM users;
SELECT username, id FROM users;
SELECT users.id, users.username FROM users;
SELECT id AS userid, username AS uname FROM users;
# ASkeyword能夠省略,可是盡量寫上,避免不必要的錯誤
SELECT id username FROM users;
字段的順序和結果集都將影響查詢出的結果集。

(1). WHERE

條件表達式

對記錄進行過濾,假設沒有指定WHERE字句,則顯示全部記錄。在WHERE表達式中,能夠使用MySQL支持的函數或運算符。

(2). GROUP BY

查詢結果分組

比如:

SELECT sex FROM users GROUP BY sex;
# 1表示依照SELECT語句中第一個出現的字段排序
SELECT sex FROM users GROUP BY 1;
(3). HAVING

分組條件

比如:

# 當HAVING語句有age的條件時,前面的SELECT中必須出現這個age字段
SELECT sex, age FROM users GROUP BY 1 HAVING age>35;
# 或者是一個聚合函數
SELECT sex, age FROM users GROUP BY 1 HAVING count(id)>=2;
(4). ORDER BY

對查詢結果進行排序

比如:

# 依照id降序排列
SELECT * FROM users ORDER BY id DESC;
# 同一時候以兩個字段排序age默認升序,id降序
SELECT * FROM users ORDER BY age, id DESC;
(5). LIMIT

限制查詢結果返回的數量

比如:

# 從第1條開始返回2條記錄
SELECT * FROM users LIMIT 2;
# 從第1條開始,偏移2條后,查詢2條記錄
SELECT * FROM users LIMIT 2 OFFSET 2;
# 從第4條開始(從0開始計數),返回2條記錄
SELECT * FROM users LIMIT 3, 2;
SELECT * FROM users ORDER BY id DESC LIMIT 2, 2;
CREATE TABLE test(id TINYINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, username VARCHAR(20));
# 將users年齡大于30的數據插入test表
INSERT test(username) SELECT username FROM users WHERE age>=30;



轉載于:https://www.cnblogs.com/zsychanpin/p/6805497.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/252753.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/252753.shtml
英文地址,請注明出處:http://en.pswp.cn/news/252753.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【技術知識】SVAC 2.0安全技術淺析

2017-09-26 08:52 加密可以有效保護數據的機密性,防止非授權訪問和非法監聽。簽名可以識別視音頻的產生源以及所對應的視音頻數據是否完整或被篡改。SVAC 2.0標準規定了加密和簽名接口及數據格式,支持對數據的安全保護,以統一的語法格式支持…

別再管你的API叫微服務了

你有沒有聽過這句名言:“計算機科學領域只有兩個難題,緩存失效和命名”?據說這句話是Phil Karlton在1996年或1997年左右說的。圍繞這句格言確實出現了很多帶有喜劇色彩的說法,它們也提到了其他的一些問題,但最近我對AP…

第一篇JavaScript基礎

1.什么是JavaScript 2.核心語法,變量 先聲明,再賦值 var i;i0; 同時聲明并賦值變量 var x,y,z0; 不聲明直接賦值u2(變量可以不經過聲明直接賦值,但是容易出錯,這種方法不建議采納)3. 3.核心語法&#xff0…

透過迷霧不再迷茫 淺析海康威視透霧技術

頻監控的需求主要分為兩類,白天的需求和夜間的需求。夜間效果主要的提升之道以低照度和補光居多,也就造成了現在市面上白光補光、紅外補光、激光補光等各式各樣的攝像機盛行;非補光類的,當屬星光級超級照度是為當下熱門。而關于白天效果的提升…

抓包工具

前言: Charles是在 Mac 下常用的網絡封包截取工具,在做移動開發時,我們為了調試與服務器端的網絡通訊協議,常常需要截取網絡封包來分析。 一、主界面介紹 二、網頁抓包 啟動 Charles 后,需要將 Charles 設置成系統代理…

【Python數據分析】魔術命令(Magic Command)

IPython有一些特殊的命令(被稱為魔術命令),他們有的為常見的任務提供便利,有的則使你能夠輕松的控制IPython系統的行為 魔術命令是以百分號%為前綴的命令 常用的IPython魔術命令 命令 說明 %quickref 顯示IPytho…

詳解Session分布式共享(.NET CORE版)

一、前言&回顧 在上篇文章Session分布式共享 Session Redis Nginx中,好多同學留言問了我好多問題,其中印象深刻的有:nginx掛了怎么辦?采用Redis的Session方案與微軟Session方案相比,有什么優勢呢?Co…

淺析透霧監控鏡頭的四大透霧技術

透霧攝像機在霧天中的作用毋容置疑,YAMAKO透霧鏡頭早已獲得用戶的認可,如今,高清透霧攝像機的問世,很大程度上得益于透霧高清電動鏡頭,但攝像機本身的透霧原理也在近端時間獲得極大的進步。 透霧技術主要分為四種&…

globals() 和 locals() 函數

globals() 和 locals() 函數 根據調用地方的不同,globals() 和 locals() 函數可被用來返回全局和局部命名空間里的名字。 如果在函數內部調用 locals(),返回的是所有能在該函數里訪問的命名。 如果在函數內部調用 globals(),返回的是所有在該…

SpringMVC的filter怎么使用Autowired依賴注入bean

有的時候根據我們業務的需要,我們需要在web項目中定義一個自己的filter,并想在這個filter中使用Autowired注入bean供我們使用。如果直接使用的話是不行的,需要我們在xml文件中進行配置。下面就根據我的一個項目寫一個示例:步驟一、定義一個ClientSession…

RunDll32.exe 詳解及[Windows批處理]清除IE緩存

Rundll32命令詳解 文件作用:執行32位DLL文件中的內部函數 位置:X:(當前系統分區)\windows\system32 命令語法: Rundll32.exe DLLname,Functionname [Arguments] 實例: RunDll32.exe InetCpl.cpl,ClearMyTracksByProces…

Linux 操作命令 more

Linux Shell 操作命令 目錄總覽(點擊查看詳細信息) 1、簡介 more 命令,功能類似 cat;cat 命令是將整個文件的內容從上到下顯示在屏幕上;more 命令會一頁一頁的顯示 2、主要功能 more 命令從前向后讀取文件&#xf…

外網訪問原理分析

本節我們會將上節創建的 ext_net 連接到 router,并驗證內外網的連通性。 更重要的,我們會分析隱藏在表象之下的原理。 將外網連接到 Neutron 的虛擬路由器,這樣 instance 才能訪問外網。 點擊菜單 Project -> Network -> Routers 進入 …

URAL1519 Formula 1 —— 插頭DP

題目鏈接:https://vjudge.net/problem/URAL-1519 1519. Formula 1 Time limit: 1.0 secondMemory limit: 64 MBBackground Regardless of the fact, that Vologda could not get rights to hold the Winter Olympic games of 20**, it is well-known, that the city…

電子透霧與光學透霧監控攝像機區別

當你在瘋狂購物時也目前已知的透霧算法大致可以分為兩大類:一種是非模型的圖像增強方法,通過增強圖像的對比度,滿足主觀視覺的要求來達到清晰化的目的;另一種是基于模型的圖像復原方法,它考查圖像退化的原因&#xff0…

sshfs的掛載與卸載

在CentOS中 sshfs的使用依賴EPEL(只安裝sshfs不會出錯,但是卻無法使用) 掛載 安裝EPEL rpm -i https://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm 如果這個鏈接失效,可訪問官網http://fedoraproject.org/wiki/EPEL 安裝sshfs…

2018年中國視頻監控行業發展空間巨大 AI技術賦能發展乃是未來必然趨勢

https://bg.qianzhan.com/report/detail/459/190131-c2610ca0.html2019-2024年中國視頻監控設備行業市場需求預測與投資戰略規劃分析報告2019-2024年中國安防行業市場前瞻與投資戰略規劃分析報告2019-2024年中國智能安防行業市場前瞻與投資戰略規劃分析報告2019-2024年中國智能…

FTP下載文件

今天公司有需求,需要從遠程FTP服務器上下載文件到本地代碼。然后看了一下,順便做個記錄 什么是FTP呢? 詳細百度百科 FTP 是File Transfer Protocol(文件傳輸協議)的英文簡稱,而中文簡稱為“文傳協議”。用…

tomcat啟動報錯The JRE could not be found.Edit the server and change the JRE location

解決: 在Windows->Preferences->Server->Runtime Environments 選擇Tomcat->Edit,在jre中選擇相應的jdk版本,完事。轉載于:https://www.cnblogs.com/Alwaysbecoding/p/10172752.html