MySQL基本コマンド、共通コマンドまとめ

5056 ワード

起動:net start mysql;アクセス:mysql-u root-p/mysql-h localhost-u root-p databaseName;データベースのリスト:show databases;データベースの選択:use databaseName;表のリスト:show tables;表の列のプロパティを表示します:show columns from tableName;データベースの作成:ファイル名.txt; 一致文字:ワイルドカード_任意の文字を表し、%は任意の文字列を表します.フィールドを追加:alter table tabelName add column fieldName dateType;複数のフィールドを追加:alter table tabelName add column fieldName 1 dateType,add columns fieldName 2 dateType;複数行コマンド入力:単語を切断できないことに注意します.データを挿入または変更する場合、フィールドの文字列を複数行に展開することはできません.そうしないと、ハードリターンはデータに格納されます.管理者アカウントを追加:grant all on*.*to user@localhost identified by "password"; 各文の入力が終わったら、末尾にセミコロン';',あるいは'g'を記入してもいいです.クエリー時間:select now();現在のユーザーのクエリー:select user();クエリー・データベース・バージョン:select version();現在使用されているデータベースのクエリー:select database()
1、student_を削除するcourseデータベースのstudentsデータテーブル:

   rm -f student_course/students.* 
 

2、データベースをバックアップする:(データベースtestをバックアップする)

   mysqldump -u root -p test>c:\test.txt 
  
:( test mytable )
mysqldump -u root -p test mytable>c:\test.txt
:( test )
mysql -u root -p test

3、テンポラリ・テーブルの作成:(テンポラリ・テーブルzengchaoの作成)

   create temporary table zengchao(name varchar(10)); 
 

4、テーブルの作成はテーブルが存在するかどうかを判断する

   create table if not exists students(……); 
 

5、既存のテーブルからテーブルの構造をコピーする

   create table table2 select * from table1 where 1<>1; 
 

6、テーブルのコピー

   create table table2 select * from table1; 
 

7、表の名前を変更する

   alter table table1 rename as table2; 
 

8、列のタイプを変更する

   alter table table1 modify id int unsigned;//   id    int unsigned 
  
alter table table1 change id sid int unsigned;// id sid, int unsigned

9、索引の作成

   alter table table1 add index ind_id (id); 
  
create index ind_id on table1 (id);
create unique index ind_id on table1 (id);//

10、索引の削除

   drop index idx_id on table1; 
  
alter table table1 drop index ind_id;

11、結合文字または複数の列(列idを":"および列nameおよび"="に接続)

   select concat(id,':',name,'=') from students; 
 

12、limit(10~20個を選ぶ)

   select * from students order by id limit 9,10; 
 

13.MySQLでサポートされていない機能トランザクション、ビュー、外部キーと参照整合性、ストレージ・プロシージャとトリガ
14、MySQLは索引の操作記号を使用する

   =,>,=,between,in,  %  _   like 
 

15、インデックスを使用する欠点1)データの削除速度を遅くする.2)ディスクスペースを占有する;3)クエリー・オプティマイザの負担を増やす.クエリー・オプティマイザが実行計画を生成すると、インデックスが考慮され、インデックスが多すぎるとクエリー・オプティマイザにワークロードが増加し、最適なクエリー・スキーマを選択できません.
16、分析索引効率方法:一般的なSQL文の前にexplainを加える;解析結果の意味:1)table:テーブル名;2)type:接続のタイプ(ALL/Range/Ref).その中でrefが最も理想的です.3)possible_keys:クエリーで使用できるインデックス名;4)key:実際に使用したインデックス;5)key_len:インデックスで使用される部分の長さ(バイト);6)ref:列の名前または「const」(どういう意味か分からない)を表示します.7)rows:MySQLが正しい結果を見つける前にスキャンしなければならないと考えている行数を表示します.8)extra:MySQLのアドバイス;
17、短い定長列1)できるだけ短いデータ型を使用する.2)できるだけ一定の長さのデータ型を使用する.a)varcharの代わりにcharを用いると,固定長のデータ処理が長くなるよりも速くなる.b)頻繁に変更されるテーブルの場合、ディスクは断片化しやすく、データベース全体の性能に影響を与える.c)万一データテーブルがクラッシュした場合は,固定長データ行を用いたテーブルの再構築が容易である.固定長のデータ行を使用すると、各記録の開始位置が固定記録長の倍数となり、容易に検出できるが、可変長のデータ行を使用すると必ずしもそうではない.d)MyISAMタイプのデータテーブルについては,固定長のデータ列に変換することで性能を向上させることができるが,占有スペースも大きい.
18、not nullとenumを使用してできるだけ列をnot nullとして定義すると、データの出が速くなり、必要なスペースが少なくなり、クエリー時にMySQLが特例であるnull値があるかどうかをチェックする必要がなく、クエリーを最適化することができます.性別、有効かどうか、入学年など、限られた数の特定の値しか含まれていない場合は、すべてのenum値がシステム内で識別値で表されるため、enum列の値に変換することを考慮する必要があります.
19、optimize tableを使用すると、よく変更されるテーブルに対して、断片化が発生しやすく、データベースのクエリー時により多くのディスクブロックを読み取らなければならず、クエリーの性能を低下させる.可変長のテーブルにはディスクフラグメントの問題があり、サイズの変化が非常に大きいため、blobデータ型に顕著です.optimize tableを使用してフラグメントを整理することで、データベースのパフォーマンスが低下しないことを保証し、フラグメントの影響を受けるデータテーブルを最適化できます.optimize tableは、MyISAMおよびBBBタイプのデータテーブルに使用することができる.実際、どのフラグメント整理方法もmysqldumpでデータテーブルを転送し、転送後のファイルを使用してデータテーブルを再構築します.
20、procedure analyse()を使用してprocedure analyse()を使用して最適なタイプのアドバイスを表示することができ、使用は簡単で、select文の後ろにprocedure analyse()を加えればよい.例:

   select * from students procedure analyse(); 
  
select * from students procedure analyse(16,256);

第2の文はprocedure analyse()に16以上の値を含むことを提案しないか、256バイト以上のenumタイプを含むことを要求し、制限がなければ出力が長い可能性があります.
21、クエリー・キャッシュを使用する1)クエリー・キャッシュの動作:あるselect文を初めて実行するとき、サーバはそのクエリーのテキスト内容とクエリー結果を記憶し、キャッシュに格納し、次にこの文に出会ったとき、直接キャッシュから結果を返す.データ・テーブルが更新されると、データ・テーブルのキャッシュ・クエリーは無効になり、破棄されます.2)キャッシュパラメータの構成:変数:query_cache _type、クエリーキャッシュの操作モード.3つのモードがあります.0:キャッシュしません.1:select sql_以外のクエリーをキャッシュno_Cacheの先頭;2:必要に応じてそれらだけをキャッシュしてselect sql_Cacheの最初のクエリー;query_cache_size:クエリー・キャッシュの最大結果セットのサイズを設定し、この値より大きいものはキャッシュされません.
22、ハードウェアの調整1)機械により多くのメモリを装着する.2)より速いハードディスクを増加してI/O待ち時間を減少する;トラッキング時間は性能を決定する主な要素であり、磁気ヘッドを逐字移動するのが最も遅く、磁気ヘッドが位置決めされると、磁気ヘッドから読むのが速い.3)異なる物理ハードディスク装置にディスク活動を再配分する;可能な場合は、最も忙しいデータベースを異なる物理デバイスに格納する必要があります.これは、同じ物理デバイスを使用する異なるパーティションとは異なります.これは、同じ物理リソース(磁気ヘッド)を競合するためです.