當前位置:首頁 » 數據倉庫 » mysql刪除資料庫記錄
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

mysql刪除資料庫記錄

發布時間: 2022-09-07 16:25:10

A. 刪除mysql資料庫數據

倒是有個思路,不過你的記錄量太大,這個執行效率估計就有問題了。
我的思路是
1、先select
出來一個記錄集,條件是點擊單價,點擊量,下載量,市場平均點擊量一致的數據,另外一個最重要的條件就是選出行號最大的記錄(因為你要保留一條,怎麼用行號這個網上有很多說明,我就不說了),這樣,你就可以獲得,你需要保留的記錄集了。
大概的語句是:
select
max(rec_no),a,b,c,d
from
table
where
a=b
and
a=c
and
a=d
group
by
a,b,c,d
a,b,c,d代表你的那幾個欄位,rec_no,如果你的表裡沒有這個欄位的話,就要上網查一下怎麼給mysql記錄加行號,但是唯一擔心的就是效率會慢,因為你的記錄太多了
2、有了這個記錄集,你可以有兩種處理方式,一種是手工處理,把上面的結果集插入一個空表裡,然後刪除舊表,再把空表改名就可以了。另一種是寫語句處理delete的時候,和你檢索出來的數據集匹配,符合條件的留下,否則刪除。
這個我沒有實際的環境,僅僅提供個參考思路

B. 如何刪除MYSql資料庫中不要的數據

如果要清空表中的所有記錄,可以使用下面的兩種方法:
DELETE
FROM
table1
TRUNCATE
TABLE
table1

C. mysql如何刪除資料庫中所有數據但是要保留表

刪除的辦法是執行truncat方法,只是不需要每次手動的輸入truncate命令進行刪除。

通過sql命令的方式生成所有的truncate語句並寫入到.sql腳本文件中,然後執行腳本即可完成刪除操作,並且保留了表結構。

生成truncate命令的sql語句為:

SELECTCONCAT('TRUNCATETABLE',TABLE_NAME,';')FROMinformation_schema.TABLESWHERETABLE_SCHEMA='test'intooutfile'/tmp/truncate_test.sql';。

然後將生成的.sql腳本拷貝到當前文件夾下面:

mv/tmp/truncate_test.sql$current_dir/。

然後執行.sql腳本將資料庫中所有表中數據刪除:

source$current_dir/truncate_test.sql。

注意:

在進行select....intooutfile......操作時,默認只能將文件寫入到tmp路徑下,可以不用將tmp文件夾下面的.sql腳本移動到當前文件夾下,直接在tmp路徑下執行.sql腳本即可。

(3)mysql刪除資料庫記錄擴展閱讀:

常見的刪除資料庫表中數據的方法是通過delete或者truncate的方法進行刪除操作,如果刪除的是表中某一條或者部分數據的話適合用delete操作進行刪除,如果要刪除表中所有的數據的話,適合是同truncate進行刪除操作。

如果不需要保留資料庫中所有表的結構,那麼答案很簡單,執行命令dropdatabase資料庫名即可達到目的。

但是如果需要保留該資料庫中所有表的結構,只想刪除所有表中的數據,多執行幾次truncate可以達到。

D. MySQL(DML數據操作語言,添加/刪除/修改資料庫數據)

插入數據

insert into 表名(欄位) values(『數據』);

insert into 表名1(name,age) select name,age from 表2; #表2 數據信息復制到表1

修改數據

update 表名 set '欄位'='數據';    #修改數據

delect from 表名 where 欄位=值;   #刪除數據

truncate table 表名;           #清空所有數據 且無法恢復

DQL (數據查詢語言,用來查詢數據)

select 要查詢欄位 from 表名 [where 滿足條件];

[group by 分組依據]

[order by 排序依據]

[limit 限定輸出結果]

select * from 表名;         #查詢 表 所有數據

select 欄位 欄位 from 表名;      #查詢指定欄位數據

select st.name,st.age,th.name,th.age from st,th;            #查詢一個或多個  表中的數據

SELECT 欄位名 FROM 表名 WHERE 條件1 OR 條件2 [...OR 條件n];

例:SELECT * FROM students WHERE age<20 OR ecation!='大專' #查詢年齡小於20或 者學歷不等於大專的學生信息

SELECT 欄位名 FROM 表名 WHERE 條件1 AND 條件2 [...AND 條件n];

例:SELECT * FROM students WHERE age>22 AND ecation='大專' # 查詢年齡大於22 且學歷為大專的學生信息

select 欄位 from 表名 where age in (12,17,23);              #數據在指定 數據 裡面

select 欄位 from 表名 where age between 23 and 28;       #數據在23-28 之間

select * from 表名 order by 欄位名;                      #排序,升序

select 欄位 from 表名 order by desc;                        #   欄位降序

select 欄位1,欄位2…… from 表名 group by  分組依據欄位;          #每個欄位只顯示一條

例:SELECT id,sname,age,phone,place,GROUP_CONCAT(age,place) FROM students GROUP BY age,place; #查詢學生信息,根據age,place分組並顯示每一組的記 錄

select  distinct  欄位 from  表名;                          #去除結果重復行

例:SELECT DISTINCT age FROM students; # 查詢學生的年齡段情況

selcet 欄位1,欄位2,group_concat(分組依賴欄位名) from 表名 group by 分組依賴欄位名;    #查詢每個組中記錄數量,顯示出來(使用關鍵字GROUP BY與GROUP_CONCAT()函數一起使用,可以將每個組中的記錄數量都顯 示出來)

例:selcet id,sname,age,phone,GROUP_CONCAT(age) FROM students GROUP BY age; # 查詢學生id,姓名,年齡,電話,根據age分組並顯示每一組的記錄

SELECT 欄位名 FROM 表名 [其他條件] LIMIT int,int; 參數1是開始讀取的第一條記錄的 編號,參數2是要查詢記錄的個數

例:SELECT * FROM students ORDER BY age LIMIT 0,5; # 查詢學生信息,根據age 排序從第0位開始顯示,只顯示5條

select 欄位名 from 表名where欄位名 regexp '匹配方式'

(^匹配以特定字元或 字元串開頭的記錄,

$匹配以特定字元或 字元串結尾的記錄

[^字元集 合]匹配除「字元集合」以 外的任意一個字元

S1|S2|S3匹配S1 S2 S3中 的任意一個字元串

字元串{N }匹配字元串出現N次

字元串 {M,N}匹配字元串出現至 少M次,最多N次)

聚合函數查詢

select count(欄位名) from 表名;           #對於除"*"以外的任何參數,返回所選擇集合中非NULL值的行的數目;對於參數「*」,返回選擇集 合中所有行的數據,包含NULL值的行

例:SELECT COUNT(*) FROM students;

select sum(欄位名) from 表名;          #表中某個欄位取值的總和

select avg(欄位名) from 表名;       #表中某個欄位取值的平均值

select max(欄位名) from 表名;        #表中某個欄位取值的最大值

select min(欄位名) from 表名;         #表中某個欄位取值的最小值

連接查詢

a.內連接:列出數據表中與連接條件相匹配的數據行,組合成新記錄【只有滿足條件的記錄才出現在查詢結 果】 內連接的最常見的例子是相等連接,也就是連接後的表中的某個欄位與每個表中的都相同

select 欄位名1,欄位名2  from 表名1 inner join 表名2 where 連接條件;

例:select s.name,d.dname from staff s inner join department d WHERE s.dpid = d.id; # 連接員工表的dpid欄位和部門表的id欄位,並查詢員工姓名和部門名稱

b.外連接:與內連接不同,外連接是指使用OUTER JOIN關鍵字將兩個表連接起來。外連接生成的結果集不僅 包含符合連接條件的行數據 ,而且還包含左表(左外連接時的表) 右表(右外連接時的表)或 兩邊連接表(全外連接時的表)中所有的數據行。

select 欄位名稱 from 表名1 LEFT|RIGHT join 表名2 on 表名1.欄位名1 = 表名2.欄位名2;

例:select s.name,d.dname FROM staff s LEFT JOIN department d ON s.dpid = d.id; #連接員工表的dpid欄位和部門表的id欄位,並查詢員工姓名和部門名稱,如果右表中沒有對應的 連接數據,會自動添加NULL值

例:SELECT s.name,d.dname FROM staff s RIGHT JOIN department d ON s.dpid = d.id; # 連接員工表的dpid欄位和部門表的id欄位,並查詢員工姓名和部門名稱,如果左表中沒有對應 的連接數據,會自動添加NULL值

例:SELECT 欄位名1,欄位名2 FROM 表名1,表名2 WHERE 連接條件 AND 限制條件; 例:SELECT s.name,d.dname FROM staff s,department d WHERE s.dpid = d.id AND s.dpid>1; # 查詢員工姓名和部門名稱,條件是員工表的dpid欄位與部門表中的id欄位相等,並且dpid大於1

合並查詢結果

select 欄位名 from  表名 UNION select 欄位名  from 表名;   #關鍵字UNION是將所 有的查詢結果合並到一起,並且去除相同記錄

例:SELECT dpid FROM staff UNION SELECT id FROM department; # 查詢員工表dpid與部門表id,如果有重復數據,只顯示一次

select 欄位名 drom 表名 UNION ALL select 欄位名from表名;   #關鍵字UNION ALL 則只是簡單地將結果合並到一 起

例:SELECT dpid FROM staff UNION ALL SELECT id FROM department; # 查詢員工表dpid與部門表id,全部顯示

E. 怎麼刪除mysql資料庫

直接打開窗口或指令語法刪除,如果以上都不聀直接下載一個navicat工具,連接上資料庫地址然後選擇要刪的資料庫右鍵刪除

F. mysql怎麼刪除資料庫

  1. 使用PHP腳本刪除資料庫,PHP使用 mysql_query 函數來創建或者刪除 MySQL 資料庫;

  2. 使用 mysqladmin 刪除資料庫;

G. 在MySQL資料庫中,使用delete命令刪除記錄時,如果不帶where子句,則表示刪除什

咨詢記錄 · 回答於2021-09-27

H. mysql怎麼刪除資料庫

刪除資料庫是將已經存在的資料庫從磁碟空間中清除,資料庫中的所有數據也全部被刪除。

基本語法格式:

-from 樹懶學堂

上述的執行結果顯示一條錯誤信息,表示資料庫 shulanxt 不存在,說明之前的刪除語句已經成功刪除此資料庫。