テーブルのレコードを全削除する前提になります。
TRUNCATE文を使う
TRUNCATE = テーブルのレコード全件削除
mysql> TRUNCATE TABLE ${table_name};
でリセットできます。
ALTER文を使う
ALTER TABLE = テーブル定義を変更
TRUNCATE文でリセットできない場合(または抵抗がある時)はALTER文でリセットできます。
mysql> ALTER TABLE ${table_name} AUTO_INCREMENT=1
でリセットできます。
どんなときに使うか?
リリース前にテストデータを全て削除する時に使います。
TRUNCATE文でできたらそれで良いのですが、
DELETE文で全レコード削除してもAUTO_INCREMENTはリセットできないのです・・・。
例えばユーザーIDにAUTO_INCREMENTを設定しているなら、
ユーザーIDが30まで1件ずつあるレコードを全て削除してから新たにレコードを挿入すると31から始まってしまいます。
それを防ぐためにAUTO_INCREMENTにリセットをかけます。
###参考
【MySQL】auto_increment(オートインクリメント)の連番状態をリセット(初期化)する
全てのデータを削除する(TRANCATE TABLE文)