以下は、私たちがよく使用する非常に便利な MySQL コマンドです。以下にある # は、Unix コマンド ラインでコマンドを実行することを意味し、mysql> と表示されることは、現在 MySQL サーバーにログインしており、mysql コマンドが mysql クライアントで実行されていることを意味します。
MySQL にログインする場合は、-h を使用してホスト名を指定する必要があります。
# [mysql dir]/bin/mysql -h hostname -u root -p
データベースを作成します。
mysql> create database [databasename];
すべてのデータベースをリストします。
mysql> show databases;
データベースに切り替えます。
mysql> use [db name];
データベースのすべてのテーブルを表示します。
mysql> show tables;
データテーブルのフィールド形式を表示します。
mysql> describe [table name];
データベースを削除します。
mysql> drop database [database name];
データテーブルを削除します。
mysql> drop table [table name];
データテーブルのすべてのデータを表示します。
mysql> SELECT * FROM [table name];
指定されたデータテーブルの列情報を返します。
mysql> show columns from [table name];
値「何でも」を使用してフィルタリングし、選択した特定の行を表示します。
mysql> SELECT * FROM [table name] WHERE [field name] = "whatever";
名前「Bob」と電話番号「3444444」を含むすべてのレコードを表示します。
mysql> SELECT * FROM [table name] WHERE name = "Bob" AND phone_number = '3444444';
名前「Bob」と電話番号「3444444」を含まないすべてのレコードを表示し、phone_number フィールドで並べ替えます。
mysql> SELECT * FROM [table name] WHERE name != "Bob" AND phone_number = '3444444' order by phone_number;
名前が文字「bob」で始まり、電話番号が「3444444」であるすべてのレコードを表示します。
mysql> SELECT * FROM [table name] WHERE name like "Bob%" AND phone_number = '3444444';
名前が「bob」で始まり、電話番号が「3444444」の1件目から5件目までを表示します。
mysql> SELECT * FROM [table name] WHERE name like "Bob%" AND phone_number = '3444444' limit 1,5;
正規表現を使用してレコードを検索します。大文字と小文字の区別を強制するには、「正規表現バイナリ」を使用します。このコマンドは、a で始まるレコードを検索します。
mysql> SELECT * FROM [table name] WHERE rec RLIKE "^a";
異なる一意のレコードを返します。
mysql> SELECT DISTINCT [column name] FROM [table name];
選択したレコードを昇順または降順で表示します。
mysql> SELECT [col1],[col2] FROM [table name] ORDER BY [col2] DESC;
行数を返します。
mysql> SELECT COUNT(*) FROM [table name];
指定された列の値の合計をカウントします。
mysql> SELECT SUM(*) FROM [table name];
テーブルに参加します。
mysql> select lookup.illustrationid, lookup.personid,person.birthday from lookup left join person on lookup.personid=person.personid=statement to join birthday in person table with primary illustration id;
新しいユーザーを作成します。 rootとしてログインします。 mysql データベースに切り替え、ユーザーを作成し、権限を更新します。
# mysql -u root -p mysql> use mysql; mysql> INSERT INTO user (Host,User,Password) VALUES('%','username',PASSWORD('password')); mysql> flush privileges;
UNIXコマンドラインからユーザーパスワードを変更します。
# [mysql dir]/bin/mysqladmin -u username -h hostname.blah.org -p password 'new-password'
mysqlコマンドラインからユーザーパスワードを変更します。 root としてログインし、パスワードを設定し、権限を更新します。
# /etc/init.d/mysql stop # mysqld_safe --skip-grant-tables & # mysql -u root mysql> use mysql; mysql> update user set password=PASSWORD("newrootpassword") where User='root'; mysql> flush privileges; mysql> quit # /etc/init.d/mysql stop # /etc/init.d/mysql start
root パスワードが空の場合は、root パスワードを設定します。
# mysqladmin -u root password newpassword
root パスワードを更新します。
# mysqladmin -u root -p oldpassword newpassword
ユーザー「bob」に、パスワード「passwd」を使用して localhost からサーバーに接続することを許可します。 root としてログインし、mysql データベースを切り替えます。権限を設定し、権限を更新します。
# mysql -u root -p mysql> use mysql; mysql> grant usage on *.* to bob@localhost identified by 'passwd'; mysql> flush privileges;
データベースデータベースの権限を設定します。 root としてログインし、mysql データベースに切り替え、権限を付与し、権限を更新します。
# mysql -u root -p mysql> use mysql; mysql> INSERT INTO db (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv) VALUES ('%','databasename','username','Y','Y','Y','Y','Y','N'); mysql> flush privileges;
または
mysql> grant all privileges on databasename.* to username@localhost; mysql> flush privileges;
既存のテーブルのデータを更新します。
mysql> UPDATE [table name] SET Select_priv = 'Y',Insert_priv = 'Y',Update_priv = 'Y' where [field name] = 'user';
[フィールド名] = '任意' であるテーブル内の行を削除します。
mysql> DELETE from [table name] where [field name] = 'whatever';
データベースの権限/特権を更新します。
mysql> flush privileges;
列を削除します。
mysql> alter table [table name] drop column [column name];
データベースに列を追加します。
mysql> alter table [table name] add column [new column name] varchar (20);
列名を変更します。
mysql> alter table [table name] change [old column name] [new column name] varchar (50);
独自の列を追加します。
mysql> alter table [table name] add unique ([column name]);
列の値を大きく設定してください。
mysql> alter table [table name] modify [column name] VARCHAR(3);
一意の列を削除します。
mysql> alter table [table name] drop index [colmn name];
CSV ファイルをテーブルにインポートします。
mysql> LOAD DATA INFILE '/tmp/filename.csv' replace INTO TABLE [table name] FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (field1,field2,field3);
すべてのデータベースを SQL ファイルにエクスポートします。
# [mysql dir]/bin/mysqldump -u root -ppassword --opt >/tmp/alldatabases.sql
データベースをエクスポートします。
# [mysql dir]/bin/mysqldump -u username -ppassword --databases databasename >/tmp/databasename.sql
データベースからテーブルをエクスポートします。
# [mysql dir]/bin/mysqldump -c -u username -ppassword databasename tablename > /tmp/databasename.tablename.sql
SQLファイルからデータベース(データテーブル)を復元します。
# [mysql dir]/bin/mysql -u username -ppassword databasename < /tmp/databasename.sql
データテーブルの作成例1。
mysql> CREATE TABLE [table name] (firstname VARCHAR(20), middleinitial VARCHAR(3), lastname VARCHAR(35),suffix VARCHAR(3),officeid VARCHAR(10),userid VARCHAR(15),username VARCHAR(8),email VARCHAR(35),phone VARCHAR(25), groups VARCHAR(15),datestamp DATE,timestamp time,pgpemail VARCHAR(255));
データテーブル作成例2。
りー