MySql常用クエリーコマンド操作大全
6498 ワード
MYSQL常用チェックコマンド:
またはshow columns fromテーブル名;
次の操作を行います.
MySQLの現在のユーザーが使用している接続数の表示
コマンド:
show processlist;上位100件のみをリストします.すべてリストしたい場合はshow full processlistを使用します.
一.データベース:
二.表:
1.テーブルを作成するには、次の手順に従います.
従業員の名前、性別、生年月日、生都市を含む従業員の誕生日表を作成します.
name,birthaddのカラム値は変化するため,VARCHARを選択し,その長さは必ずしも20ではない.
1から255までの任意の長さを選択できます.後で文字長を変更する必要がある場合は、ALTER TABLE文を使用します.
性別は1文字で「m」または「f」を表すことができるので、CHAR(1)を選択します.
birthカラムではDATEデータ型が使用されます.
2.追加したレコードを問い合せます.
Empty set(0.00 sec)さっき作成したテーブルがまだ記録されていないことを示します.
3.新しいレコードを追加:
4.データベース・テーブルにデータをテキストで読み込みます.
新しいレコードを一枚ずつ追加するのは、本当に面倒です.
テキストファイル「mysql.txt」を作成し、各行のレコードをテーブル構造で並べ、ロケータ(tab)で値を分けます.
このコマンドを使用して、テキストファイル「mytable.txt」をテーブルにロードします.
データ転送コマンド
注意:mysql/binディレクトリにファイルをコピーし、useコマンドでテーブルのあるライブラリを選択したほうがいいです.
5.レコードの更新:
6.レコードを削除:
7.テーブル名の変更:
8.mysqlのテーブル構造を変更するには、次の手順に従います.
mysqlのテーブル構造を表示するには、次の手順に従います.
フィールド属性の変更
デフォルトの変更
フィールドにprimary keyを追加
primary keyの削除
tableテーブルデータエンジンの変更
新しいフィールド名を追加します.
フィールドの削除
添付:
列aを変更するためにINTEGERからTINYINT NOT NULL(名前同じ)に変更し、
列bを変更し、CHAR(10)からCHAR(20)に変更し、同時に名前を変更し、bからcに変更する.
dという新しいTIMESTAMP列を追加します.
カラムdにインデックスを追加し、カラムaをプライマリ・キーとする.
新しいAUTOを追加INCREMENT整数列、名前はc:
AUTO_のためcをインデックスしましたINCREMENTカラムはインデックス化されている必要があります.
また、インデックスされたカラムはNULLではないため、cをNOT NULLと宣言します.
name列の最初の10文字を使用してインデックスを作成します.
三.データのバックアップとリカバリ:
データのエクスポートとインポート:(コマンドはDOSのmysql/binディレクトリで実行)
表のエクスポート
注記:データベースschoolのテーブルをすべてschoolにバックアップします.sqlファイル、school.sqlはテキストファイルです.
ファイル名は任意に取って、開けてみると新しい発見があります.
注記:データベースschoolのteacherテーブルとstudentテーブルをschoolにバックアップします.teacher.student.sqlファイル、school.teacher.student.sqlはテキストファイルで、ファイル名は任意に取って、開けてみると新しい発見があります.
テーブルのインポート
(またはschool.sqlをschool.teacher.sql/school.teacher.student.sqlに変更)
データベースのエクスポート
注記:データベースdblとdb 2をdb 1にバックアップします.db2.sqlファイル、db 1.db2.sqlはテキストファイルで、ファイル名です.
任取、開けてみると新しい発見があります.
(例を挙げると:
mysqldump -h host -u user -p pass --databases dbname > file.dump
ホスト上の名前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件のみをリストします.すべてリストしたい場合はshow full processlistを使用します.
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のカラム値は変化するため,VARCHARを選択し,その長さは必ずしも20ではない.
1から255までの任意の長さを選択できます.後で文字長を変更する必要がある場合は、ALTER TABLE文を使用します.
性別は1文字で「m」または「f」を表すことができるので、CHAR(1)を選択します.
birthカラムでは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
このコマンドを使用して、テキストファイル「mytable.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);
primary keyの削除
alter table tablename drop primary key;
drop primary key on tablename;
tableテーブルデータエンジンの変更
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からTINYINT NOT NULL(名前同じ)に変更し、
列bを変更し、CHAR(10)からCHAR(20)に変更し、同時に名前を変更し、bからcに変更する.
ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b c CHAR(20);
dという新しいTIMESTAMP列を追加します.
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カラムはインデックス化されている必要があります.
また、インデックスされたカラムはNULLではないため、cをNOT 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にバックアップします.db2.sqlファイル、db 1.db2.sqlはテキストファイルで、ファイル名です.
任取、開けてみると新しい発見があります.
(例を挙げると:
mysqldump -h host -u user -p pass --databases dbname > file.dump
ホスト上の名前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>