截?cái)啾硎且粭lSQL語句:truncate
公司主營業(yè)務(wù):成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出陽江免費(fèi)做網(wǎng)站回饋大家。
table
表名,其含義是快速將表中所有數(shù)據(jù)刪除,與delete語句不同之處在于,truncate語句不會(huì)寫日志,所以速度極快,尤其適合清空存有海量數(shù)據(jù)的表格,而delete語句雖然也能將表中的數(shù)據(jù)刪除,但刪除的過程會(huì)計(jì)入日志,速度較慢。
但delete語句可以有選擇的刪除表中的數(shù)據(jù),而truncate語句只能清空表中的所有數(shù)據(jù),可以根據(jù)自己的需要選用。
1、首先我們建立一個(gè)表表的數(shù)據(jù),這個(gè)表里有25條數(shù)據(jù),id從1到25。(下圖是部分截圖)
2、要分頁數(shù)據(jù),首先我們假設(shè)一頁有10條數(shù)據(jù),我們可以用mysql的limit關(guān)鍵字來限定返回多少條數(shù)據(jù)。并且用orderby來排序數(shù)據(jù),這里用id來排序。所以第一頁的sql可以如圖這樣寫。
3、執(zhí)行后得到的數(shù)據(jù)如圖,就是id從1到10的前10條數(shù)據(jù),因?yàn)槲覀兪前磇d升序來排序的。
4、上面第一頁的sql是簡(jiǎn)化的寫法,完整的寫法如圖,得到的結(jié)果和上圖的一模一樣。代碼里limit0,10的意思是從第一條數(shù)據(jù)開始,取10條數(shù)據(jù)。(注意的是第一條數(shù)據(jù)是從0開始的)
5、那么第二頁的數(shù)據(jù),關(guān)鍵是要知道是從哪一條數(shù)據(jù)開始,可以用這個(gè)公式得到:(頁碼-1)?*每頁顯示多少條,即(2-1)*10=10,所以sql語句如圖,limit10,10。
6、執(zhí)行后,結(jié)果正確,得到id從11到20的10條數(shù)據(jù)。
7、同理第三頁數(shù)據(jù)的sql如圖,br/就是limit20,10。
8、查詢的結(jié)果如圖,因?yàn)檫@頁只剩下5條數(shù)據(jù)了,所以只顯示5條數(shù)據(jù)。如果你有更多頁的數(shù)據(jù),后面的數(shù)據(jù)只需要按上面的公式,得到從哪行開始,就可以寫對(duì)應(yīng)的sql語句了。
刪除表數(shù)據(jù)有兩種方法:delete和truncate。具體語句如下:
一、RUNCATE TABLE name? :
刪除表中的所有行,而不記錄單個(gè)行刪除操作。?在這個(gè)指令之下,表格中的資料會(huì)完全消失,可是表格本身會(huì)繼續(xù)存在。
TRUNCATE TABLE 的語法:TRUNCATE TABLE name ,參數(shù) name 是要截?cái)嗟谋淼拿Q或要?jiǎng)h除其全部行的表的名稱。
二、Delete from tablename where 1=1
1、delete語法:
DELETE FROM 表名稱 WHERE 列名稱 = 值。
2、刪除所有行:
可以在不刪除表的情況下刪除所有的行。這意味著表的結(jié)構(gòu)、屬性和索引都是完整的:DELETE FROM table_name。
show tables 是管理語句,不能作為標(biāo)準(zhǔn)sql語句使用在子語句場(chǎng)合。
可以直接查系統(tǒng)的字典表來進(jìn)行:
select right(table_name, 5) from information_schema.tables where table_name like '%usermeta';
# information_schema 是系統(tǒng)字典所在的數(shù)據(jù)庫,其中的tables表記錄了數(shù)據(jù)庫的所有表。
# desc information_schema.tables; #有很多你想知道的信息了。
你的數(shù)據(jù)庫表可以定義為數(shù)字自動(dòng)遞增的主鍵,MySQL將采取照顧其獨(dú)特的價(jià)值,同時(shí)插入新行。
每次添加一個(gè)新行,MySQL的增量值自動(dòng),它堅(jiān)持以表。但有時(shí)你可能需要重置AUTOINCREMENT列值1。說你寫一個(gè)示例應(yīng)用程序,你已經(jīng)有幾行插入表中?,F(xiàn)在要?jiǎng)h除這些行,并自動(dòng)增量列復(fù)位,使新行插入將有主鍵的值1 1。
有幾個(gè)方法來實(shí)現(xiàn)這一點(diǎn)。
1。直接復(fù)位自動(dòng)增量值
ALTER TABLE語法提供了一種方法來重新設(shè)置自動(dòng)增量列。采取看看下面的例子。
ALTER TABLE table_name AUTO_INCREMENT = 1;
請(qǐng)注意,你不能重置計(jì)數(shù)器的值小于或等于任何已使用的。對(duì)于MyISAM,如果該值小于或等于目前在AUTO_INCREMENT列的最大值,該值是目前最大的加一復(fù)位。對(duì)于InnoDB,如果該值大于當(dāng)前列中的最大值,沒有出現(xiàn)錯(cuò)誤和不改變當(dāng)前序列值。
2。截?cái)啾斫財(cái)啾碜詣?dòng)增量值自動(dòng)復(fù)位為0。
TRUNCATE TABLE table_name;
謹(jǐn)慎使用。用于截?cái)鄷r(shí),任何的AUTO_INCREMENT計(jì)數(shù)器復(fù)位到零。從MySQL 5.0.13上,AUTO_INCREMENT計(jì)數(shù)器復(fù)位為零的TRUNCATE TABLE,而不管是否有一個(gè)外鍵約束。
一旦發(fā)射TRUNCATE是,表處理不記得過去使用的AUTO_INCREMENT值,但從頭開始計(jì)數(shù)。這是真實(shí)的,甚至對(duì)于MyISAM和InnoDB,通常不重用序列值。
3。下降和重新創(chuàng)建表
這是另一種方式下重啟自動(dòng)增量指數(shù)。雖然不是很理想。
DROP TABLE table_name;
所有這些技術(shù)的價(jià)值技術(shù)重置自動(dòng)增量列數(shù)。使用任何適合你的要求。
名稱欄目:mysql截?cái)啾碓趺磳?如何斷表格
網(wǎng)站路徑:http://chinadenli.net/article22/hgcecc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、、品牌網(wǎng)站制作、全網(wǎng)營銷推廣、標(biāo)簽優(yōu)化、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)