刪除的辦法是執行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腳本即可。
(1)sql刪除數據保留嗎擴展閱讀:
常見的刪除資料庫表中數據的方法是通過delete或者truncate的方法進行刪除操作,如果刪除的是表中某一條或者部分數據的話適合用delete操作進行刪除,如果要刪除表中所有的數據的話,適合是同truncate進行刪除操作。
如果不需要保留資料庫中所有表的結構,那麼答案很簡單,執行命令dropdatabase資料庫名即可達到目的。
但是如果需要保留該資料庫中所有表的結構,只想刪除所有表中的數據,多執行老拆幾次truncate可以達到。
參侍數棗考資料:網路-數據表
Ⅱ SQL刪除重復數據,只保留一行
在sql的使用中,我們總是碰到需要刪除重復數據的情況,但是又不能全部刪除完,必須要保留至少一個重復的數據。重復的記錄根據兩個欄位 a2,a3 判斷(實際使用中可以拓展為多個)
在上述的表中第三行和第四行重復,我們要選擇一行刪除,流程如下:
結果如下:
得到的結果如下:
|a1|a2|a3|
|---|---|
|3|2|2|
|4|2|2|
|6|2|2|
那麼後面就很好辦了:
3.選出要刪除的值:
結果是保留a1最小的值,其他選項全部選出,
請注意 此時並不是將Select 改為delete就可以了,如果你直接這樣子改的話,會報如下錯誤:
該錯誤提示你,不能先select出同一表中的某些值,再update這個表(在同一語句中)。所以要稍微修改一下。
結果如下:
|a1|a2|a3|
|---|---|
|1|1|1|
|2|1|2|
|3|2|2|
|5|3|3|
完畢
註:如果說不用保留一行數據的話那麼就簡單多了,只需要一個很簡單的sql語句:
Ⅲ sql刪除多條記錄保留兩條
sql刪除多條數據的方法:執行【delete from 表名 where id in (id_1,id_2,id_3)】命令即可。sql是一種資料庫查詢和程序設計語言,它用於存取數據以及查詢、更新和管理關系資料庫系統。
結構化查詢語言(Structured Query Language)簡稱SQL(發音:/?es kju? ?el/ "S-Q-L"),是一種特殊目的的編程語言,是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統;同時也是資料庫腳本文件的擴展名。
如何用一條sql語句刪除多條記錄?
如:表中有ID為a,b,c,d,e的行,用一條SQL刪除ID號為abc的行:
答:delete from 表名 where id in (a,b,c)
sql觸發器之常用語句(總結)
如何在sql server中重命名json密鑰(t-sql)?
sql創建視圖的語句是什麼
sql資料庫觸發器怎麼創建
mysql與sql的區別有哪些
php中常見的sql攻擊正則表達式匯總
navicat如何導出sql sever腳本文件
認識sql 高級進階
sql怎麼使用觸發器
springboot整合ureport2報表及常見使用方法
相關推薦
介紹手動配置phpmyadmin和mysql密碼的兩種方法
怎麼本地啟動phpmyadmin
如何在eclipse中通過jdbc連接mysql資料庫
關於MySQL5.7.19安裝目錄下如何創建my.ini文件的示例詳解
phpmyadmin怎麼添加導出格式
MySql安裝與卸載詳細教程
mysql索引是什麼及怎麼使用的?整理的很詳細
SQL Server 201
Ⅳ sql刪除重復數據且只保留一條
在你的查詢sql裡面將子查詢的title改成id,外面用id in(),這樣會得到去重後的數據導出insert語句,將表中數據備份刪除,再將導出的sql執行一下即可,還有一種就是寫刪除sql,delete from table where id not in(select id from table group by title )。
Ⅳ sql中怎麼刪除兩條重復記錄並保留一條
將數據去重復後暫存到臨時表#a中
selectdistinct*into#afromtable1where條件
deletetable1where刪除限制條件
insertintotable1select*from#a-將暫存的數據插回資料庫
droptable#a-刪除臨時表
註:當前的資料庫,每一個表都應該有一個標志欄位,以保證記錄不完全重復,否則實用中極易出問題。
(5)sql刪除數據保留嗎擴展閱讀:
SQL語句刪除掉重復的其他情況
1、查找表中多餘的重復記錄,重復記錄是根據單個欄位(peopleId)來判斷
SELECT
*
FROM
people
WHERE
peopleId IN (
SELECT
peopleId
FROM
people
GROUP BY
peopleId
HAVING
count(peopleId) > 1
)
2、查找表中多餘的重復記錄(多個欄位)
SELECT
*
FROM
vitae a
WHERE
(a.peopleId, a.seq) IN (
SELECT
peopleId,
seq
FROM
vitae
GROUP BY
peopleId,
seq
HAVING
count(*) > 1
)