mysql将查到的数据删除_MySQL数据库的基本操作——增、删、改、查
一、數(shù)據(jù)庫查詢SELECT
SELECT語句查詢數(shù)據(jù)表中的一列或多列數(shù)據(jù)、使用集合函數(shù)顯示查詢結(jié)果、連接查詢、子查詢以及使用正則表達式查詢等。
SELECT語句的基本格式是:
SELECT?id,name,........
FROM 表1,表2,........
WHERE ?表達式
GROUP??BY
HAVING
ORDER??BY
LIMIT ?,];
或者
SELECT ?字段1,字段2,......,字段n
FROM ?表或視圖
WHERE 查詢條件 ;
根據(jù)開發(fā)人員習(xí)慣將關(guān)鍵字使用大寫,而數(shù)據(jù)列和表名使用小寫,讀者應(yīng)該養(yǎng)成一個良好的習(xí)慣,這樣更易于閱讀和維護;
1、單表查詢:指從一張表數(shù)據(jù)中查詢所需的數(shù)據(jù)。
1.1、查詢所有字段: SELECT * FROM??表名 ;
1.2、查詢指定字段: SELECT 列名??FROM??表名 ;
1.3、查詢指定記錄:數(shù)據(jù)庫中包含大量的數(shù)據(jù),根據(jù)特殊要求,可能只需要查詢表中的指定數(shù)據(jù),即對數(shù)據(jù)進行過濾;
SELECT??字段1、字段2、,...字段n
FROM???表名
WHERE??查詢條件 ;
1.4、帶IN關(guān)鍵字的查詢:用來查詢滿足指定范圍內(nèi)的條件的記錄 ;
SELECT??s_id, f_name
FROM??fruits
WHERE??s_id???IN??(101 , 102)
ORDER??BY???f_name ;
相反的,可以使用關(guān)鍵字NOT來檢索不在條件范圍內(nèi)的記錄 ;
1.5、帶BETWEEN??AND 的范圍查詢:用來查詢某個范圍內(nèi)的值;
例如:查詢價格在2.00元到10.20元之間的水果名稱和價格 ;
SELECT???f_name , f_price???FROM??fruits???WHERE??f_price???BETWEEN??2.00??AND??10.20??;
BETWEEN??AND操作符前可以加關(guān)鍵字NOT,表示指定范圍之外的值,如果字段值不滿足指定范圍內(nèi)的值,則這些記錄被返回
1.6、帶LIKE的字符匹配查詢:通配符是一種在SQL的WHERE條件子句中擁有特殊意思的字符 ;
1.6.1:百分號通配符‘%’,匹配任意長度的字符,甚至包括零字符
SELECT??f_id, f_name
FROM???fruits
WHERE??f_name???LIKE??'b%'
1.6.2 :下劃線通配符 ‘_’,一次只能匹配任意一個字符
1.7、查詢空值 :空值不同于0,也不同于空字符串。空值一般表示數(shù)據(jù)未知 、不適用或?qū)⒃谝院筇砑訑?shù)據(jù) ;
SELECT * FROM??fruits??WHERE f_price??IS??NULL ;
1.8、帶AND的多條件查詢 :通過AND增加查詢的限制條件,這樣可以使查詢的結(jié)果更加精確 ;
SELECT f_id, f_price??FROM??fruits??WHERE??s_id='101' AND??f_price >=5 ;
1.9、帶 OR 的多條件查詢 :使用OR操作符,表示只需要滿足其中一個條件的記錄即可返回 ;
1.10、查詢結(jié)果不重復(fù) :有時使用SELECT查詢,會出現(xiàn)一些重復(fù)的s_id值,有時,出于
對數(shù)據(jù)分析的要求,需要消除重復(fù)的記錄值,可以使用 DISTINCT關(guān)鍵字MySQL消除重復(fù)的記錄值。
SELECT??DISTINCT??字段名??FROM 表名 ;
1.11、對查詢結(jié)果進行排序:ORDER ??BY??字段名 ;????????指定反序方向:ASC (升序排序) ??DESC(降序排序)
多列排序 : 即首先對第一列字段排序,然后對第一列有相同的字段進行第二次排序 ;
1.12、分組查詢 :是對數(shù)據(jù) 按照某個或多個字段進行分組,MySQL中使用GROUP??BY??關(guān)鍵字對數(shù)據(jù)進行分組。
[GROUP??BY??字段]????[HAVING??]
GROUP??BY 關(guān)鍵字通常和集合函數(shù)一起使用,例如:MAX()??、 MIN()??、??COUNT() 、SUM() 、AVG()。
例:SELECT s_id ,COUNT(*)??AS??Total??FROM??fruits??GROUP??BY??s_id ;
例:根據(jù)s_id 對fruits表中的數(shù)據(jù)進行分組, 將每個供應(yīng)商的水果名稱顯示出來,SQL 語句如下:
SELECT s_id ,GROUP_CONCAT(f_name)??AS??Names???FROM??fruits???GROUP??BY??s_id ;
使用HAVING過濾分組:
例:根據(jù)s_id對fruits表中的數(shù)據(jù)進行分組,并顯示水果種類大于1的分組信息,SQL語句如下:
SELECT??s_id??,GROUP_CONCAT(f_name)??AS??Names
FROM??fruits
GROUP???BY??s_id???HAVING??COUNT (f_name)??>1??;
注意: HAVING關(guān)鍵字與WHERE關(guān)鍵字都是用來過濾數(shù)據(jù),兩者有什么區(qū)別呢?其中重要一點是,HAVING在數(shù)據(jù)分組之后進行過濾來選擇分組,而WHERE在分組之前用來選擇記錄。另外WHERE排除的記錄不再包括在分組中。
在GROUOP??BY 子句中使用 WITH??ROLLUP:使用WITH??ROLLUP 關(guān)鍵字之后,在所有查詢出的分組記錄之后增加一條記錄,例:該記錄計算查詢出的所有記錄的總和,即統(tǒng)計記錄數(shù)量。
SELECT??s_id ,??COUNT(*)??AS??Total
FROM??fruits
GROUP??BY??s_id???WITH??ROLLUP ;
2、連接查詢:通過連接查詢出存放在多個表中的不同實體的信息。當(dāng)兩個或多個表中存在相同意義的字段時,便可以通過這些字段對不同的表進行連接查詢 ;
內(nèi)連接查詢:
SELECT??suppliers.s_id , s_name , f_name , f_price
FROM??fruits??, suppliers
WHERE??fruits.s_id??= suppliers . s_id??;
外連接查詢:查詢多個表中沒有關(guān)聯(lián)的行中數(shù)據(jù)
3、使用正則表達式查詢:通常用來檢索或替換那些符合某個模式的文本內(nèi)容,根據(jù)指定的匹配模式匹配文本中符合要求的特殊字符串 ;
1、‘^’匹配文本的開始字符???‘^b’匹配以字母b開頭的客串
2、‘$’匹配文本的結(jié)束字符???‘st$’匹配以st結(jié)尾的客串
3、‘.’ 匹配任何單個字符???????‘b.t’匹配任何b和t之間有一個字符的字符串
4、‘*’匹配零個或多個在它前面的字符?????‘f*n’匹配字符n前面有任意個字符f
5、‘+’匹配前面的字符1次或多次???‘ba+’匹配以b開頭后面緊跟至少有一個a
6、‘[^]’匹配不在括號中的任何字符??????'[^abc]'匹配任何不包含a、b、或的字符串
7、‘字符串{n}’匹配前面的字符串至少n次?????b{2}匹配2個或更多的b
8、???' 字符串{n,m}' 匹配前面的字符串至少n次,至多m次。
9、 ??匹配包含指定的字符串的文本
10、[字符集合]??匹配字符集合中的任何一個字符?????'[xz]' 匹配x或者z
二、數(shù)據(jù)插入?????INSERT ???INTO
1、為表中所有字段插入數(shù)據(jù):INSERT??INTO??table_name??(column_list)???VALUES (value_list) ;
table_name : 表名 ;???column_list :指定要插入數(shù)據(jù)的哪些列 ;????value_list??:指定每個列對應(yīng)插入的數(shù)據(jù) ;
2、為表的指定字段插入數(shù)據(jù):INSERT??INTO??person (name , age)??VALUES ('xiaoxi',20)??;
3、將查詢結(jié)果插入到表中:INSERT??INTO??table_name (column_list1 )
SELECT??(column_list2)??????FROM???table_name2
WHERE (condition)
三、更新數(shù)據(jù)??????UPDATA?????SET
1、基本語法格式如下:
UPDATE???table_name
SET???column_name1 = value1 , column_name2=value2........column_namen=valuen
WHERE (condition)??;
四、刪除數(shù)據(jù)????????DELETE
1、基本語法格式如下:
DELETE???FROM???table_name??[WHERE ] ;
例:刪除表中id=11的記錄
DELETE??FROM??person???WHERE??id=11 ;
首先對MySQL數(shù)據(jù)庫進行了安裝與配置,然后又?jǐn)?shù)據(jù)庫和表的創(chuàng)建,在這里通過功能豐富的數(shù)據(jù)庫管理語句實現(xiàn)了數(shù)據(jù)的插入,查詢,修改,刪除等操作。這些基本的操作已經(jīng)總結(jié)完。
總結(jié)
以上是生活随笔為你收集整理的mysql将查到的数据删除_MySQL数据库的基本操作——增、删、改、查的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 图片加载失败占位符处理
- 下一篇: mysql union后面查不出_mys