MySql常用クエリコマンド操作大全
MYSQL常用調査コマンド:
コマンド:
show processlist前の100条だけ書いてください。全部リストしたいならショーフルルプロcesslistを使ってください。
1です。テーブルを作成:
name、birthaddの列の値が変化しているので、VRCHARRを選択すると、その長さは必ずしも20ではない。
1から255までの長さを選択してもいいです。これからは字の長さを変えたいなら、ALTER TABLE文を使ってもいいです。
性別は1文字で「m」または「f」を表すことができますので、CHAR(1)を選択します。
ビッチ列はDATEデータタイプを使います。
2です。追加したレコードを問い合わせる:
3です。新しいレコードを追加:
一つずつ新しい記録をつけるのは面倒くさいです。
テキストファイル「mysql.txt」を作成し、表の構造に従って行ごとに記録し、位置標本(tab)で値を分離します。
注意:mysql/binディレクトリにファイルをコピーしたほうがいいです。そして先にuse命令でテーブルのあるライブラリを選択してください。
5です。更新履歴:
mysqlの時計の構造を調べます。
列aを変えるために、INTEGERからTINNNNYINT NOT NULLに変更しました。
そして列bを変えて、CHAR(10)からCHAR(20)に変え、同時に名前を変えて、bからc:
また、cはNOT NULLであると宣言します。インデックスされた列はNULLではないからです。
name列の先頭10文字を使ってインデックスを作成します。
データのエクスポートと導入:(命令はDOSのmysql/binディレクトリで実行します)
エクスポートテーブル
ファイル名は取ってください。開けてみてください。新しい発見があります。
インポートシート
データベースをエクスポート
任取さん、開けてみてください。新しい発見があります。
(例をあげます
mysqldump-h host-u user-p pass--databases dbname>file.dump
つまり、host上の名前user、パスワードpassのデータベースdbnameをファイルfile.dumpに導入します。)
データベースをインポート
データベースをインポート
mysql> select version(); MySQL
mysql> select current_date(); MySQL
mysql> select version(),current_date(); MySQL
mysql> show databases;
mysql> USE mysql (USE QUIT )
Database changed
mysql> select database();
mysql> show tables;
mysql> select * from db; (db)
mysql> describe mytable;
或いはshow columns from表名;
mysql> select
-> user()
-> \c
mysql>
練習は以下のとおりです。
mysql> select
-> USER()
-> ,
-> now()
->;
mysql> Select (20+5)*4;
mysql> Select (20+5)*4,sin(pi()/3);
mysql> Select (20+5)*4 AS Result,sin(pi()/3); (AS: Result)
MySQLの現在のユーザーが占有している接続数を確認します。コマンド:
show processlist;
rootアカウントなら、すべてのユーザーの現在の接続を見ることができます。他の普通のアカウントであれば、自分で使う接続しか見られません。show processlist前の100条だけ書いてください。全部リストしたいならショーフルルプロcesslistを使ってください。
mysql> show processlist;
一。データベース:
mysql> CREATE DATABASE abccs;
mysql> USE abccs
mysql> drop database ;
二番目です。表:1です。テーブルを作成:
mysql> CREATE TABLE mytable
-> (
-> name VARCHAR(20),
-> sex CHAR(1),
-> birth DATE,
-> birthaddr VARCHAR(20)
-> );
従業員の誕生日表を作って、表の内容は従業員の名前、性別、生年月日、生都市を含みます。name、birthaddの列の値が変化しているので、VRCHARRを選択すると、その長さは必ずしも20ではない。
1から255までの長さを選択してもいいです。これからは字の長さを変えたいなら、ALTER TABLE文を使ってもいいです。
性別は1文字で「m」または「f」を表すことができますので、CHAR(1)を選択します。
ビッチ列はDATEデータタイプを使います。
2です。追加したレコードを問い合わせる:
mysql> select * from mytable;
Empty set(0.00 sec)は先ほど作成したテーブルはまだ記録されていないということです。3です。新しいレコードを追加:
mysql> insert into mytable
-> values
->(
->'abccs',
->'f',
->'1977-07-07',
->'china'
->);
4です。データをテキストでデータベーステーブルに読み込みます。一つずつ新しい記録をつけるのは面倒くさいです。
テキストファイル「mysql.txt」を作成し、表の構造に従って行ごとに記録し、位置標本(tab)で値を分離します。
abccs f 1977-07-07 china
mary f 1978-12-12 usa
tom m 1970-09-02 usa
このコマンドを使ってテキストファイル「mystable.txt」を表にロードします。
mysql> Load data local infile "mytable.txt" into table mytable;
データ着信コマンドload data local infile
「ファイル名」into table
。注意:mysql/binディレクトリにファイルをコピーしたほうがいいです。そして先にuse命令でテーブルのあるライブラリを選択してください。
5です。更新履歴:
mysql> update mytable set birth = "1973-09-02" where name = "tom";
6です。レコードを削除:
mysql> delete from mytable where id=10; // id=10 ;
mysql> delete from mytable where id=10 limit 1; // 1 id=10 ;
mysql> delete from mytable // ;
mysql> DELETE FROM t1 WHERE C>10;
mysql> drop table tablename1,tablename2,…; // , 。
7です。テーブルの名前を変更:
mysql> alter table t1 rename t2;
8です。mysqlのテーブル構造を修正します。mysqlの時計の構造を調べます。
mysql> describe mytable; show columns from ;
フィールドの属性を変更
mysql> alter table tablename modify id int(10) unsigned auto_increment primary key not null
標準の値を変更
mysql> alter table tablename alter id default 0
フィールドにprimary keyを追加します。
mysql> alter table tablename add primary key(id);
prmary keyを削除します
alter table tablename drop primary key;
drop primary key on tablename;
テーブルデータエンジンを修正する
mysql> alter table tableName ENGINE = MyISAM (InnoDB);
新しいフィールド名を追加:
mysql> alter table mytable add column single char(1);
mysql> ALTER TABLE table ADD field INT(11) UNSIGNED NOT NULL
フィールドを削除
mysql> alter table t2 drop column c;
添付:列aを変えるために、INTEGERからTINNNNYINT NOT NULLに変更しました。
そして列bを変えて、CHAR(10)からCHAR(20)に変え、同時に名前を変えて、bからc:
ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b c CHAR(20);
新しいTIMESTAMP列を追加しました。名前はdです。
ALTER TABLE t2 ADD d TIMESTAMP;
列dに索引を追加し、列aをプライマリキーとします。
ALTER TABLE t2 ADD INDEX (d), ADD PRIMARY KEY (a);
新しいAUTO_を追加します。INCREMENT整数列は、cと命名されています。
ALTER TABLE t2 ADD c INT UNSIGNED NOT NULL AUTO_INCREMENT,ADD INDEX (c);
AUTO_のためにcをインデックスしました。INCREMENT柱はインデックスされなければなりません。また、cはNOT NULLであると宣言します。インデックスされた列はNULLではないからです。
name列の先頭10文字を使ってインデックスを作成します。
CREATE INDEX part_of_name ON customer (name(10));
三番目です。データのバックアップと復元:データのエクスポートと導入:(命令はDOSのmysql/binディレクトリで実行します)
エクスポートテーブル
mysqldump --opt school > school.sql
注:データベースschoolのテーブルをschool.sqlファイルにバックアップします。school.sqlはテキストファイルです。ファイル名は取ってください。開けてみてください。新しい発見があります。
mysqldump --opt school teacher student > school.teacher.student.sql
注:データベースschoolのteacherテーブルとstudentテーブルをschool.teacher.student.sqlファイルにバックアップします。school.teacher.student.sqlはテキストファイルです。ファイル名は取って、開けてみてください。新しい発見があります。インポートシート
mysql
mysql>create database school;
mysql>use school;
mysql>source school.sql;
(またはschool.sqlをschool.teacher.sql/school.teacher.student.sqlに切り替える)データベースをエクスポート
mysqldump --databases db1 db2 > db1.db2.sql
注:データベースdblとdb 2をdb 1.db 2.sqlファイルにバックアップします。db 1.db 2.sqlはテキストファイルで、ファイル名です。任取さん、開けてみてください。新しい発見があります。
(例をあげます
mysqldump-h host-u user-p pass--databases dbname>file.dump
つまり、host上の名前user、パスワードpassのデータベースdbnameをファイルfile.dumpに導入します。)
データベースをインポート
mysql < db1.db2.sql
コピーデータベースmysqldump --all-databases > all-databases.sql
注:すべてのデータベースをall-databases.sqlファイルにバックアップします。all-databases.sqlはテキストファイルで、ファイル名は担当します。データベースをインポート
mysql
mysql>drop database a;
mysql>