以下は私が集めた非常に実用的な MySQL コマンドのコレクションです。
1. MySQL に接続します
形式: mysql -h ホスト アドレス -u ユーザー名 -p ユーザー パスワード
1. このマシン上の MYSQL に接続します。
まず DOS ウィンドウを開き、mysqlbin ディレクトリに入り、Enter キーを押した後、パスワードの入力を求めるプロンプトが表示されます。ユーザー名にはスペースを含めても構いません。ただし、パスワードの前にスペースを入れてはいけません。そうしないと、「パスワードを再入力してください」というメッセージが表示されます。
MYSQL がインストールされたばかりの場合、スーパー ユーザー root にはパスワードがないため、Enter キーを押して MYSQL に入ります。mysql>
2. リモート ホストの MYSQL に接続します。リモート ホストの IP が 110.110.110.110、ユーザー名が root、パスワードが abcd123 であるとします。次に、次のコマンドを入力します:
mysql -h110.110.110.110 -u root -p 123; (注: u と root の間にスペースを追加する必要はありません。他の場合も同様です)
3. MYSQL コマンド: exit (Enter)
2. パスワードを変更します
形式: mysqladmin -u ユーザー名 -p 古いパスワード パスワード 新しいパスワード
1. パスワード ab12 を root に追加します。
まず、DOS の mysqlbin ディレクトリに入り、次のコマンドを入力します。
mysqladmin -u root -password ab12
注: root には最初にパスワードがないため、-p old passwd 項目は省略できます。
2. root パスワードを djg345 に変更します。
mysqladmin -u root -p ab12 passwd djg345
3. 新しいユーザーを追加します
注: 上記とは異なり、以下は MYSQL 環境のコマンドであるため、コマンドの終了文字としてセミコロンが続きます
形式: Grant select ondatabase.* を「パスワード」で識別される username@login ホストに追加します
1. ユーザー test1 をパスワード abc で追加します。これにより、ユーザーは任意のホストにログインし、すべてのデータベースに対するクエリ、挿入、変更、および削除の権限を得ることができます。 。まず root ユーザーとして MYSQL に接続し、次のコマンドを入力します:
grant select,insert,update,delete on . to [email=test1@”%]test1@”%[/email]” Identified by “ abc”;
しかし、さらにユーザーを追加することは非常に危険です。誰かが test1 のパスワードを知っている場合、その人はインターネット上の任意のコンピューターにある mysql データベースにログインして、あなたのデータに対して何でもできるようになります。
を参照してください。2. ユーザー test2 をパスワード abc で追加して、localhost にのみログインし、データベース mydb (localhost は MYSQL データベースが配置されているローカル ホストを指します) でクエリ、挿入、変更、削除の操作を実行できるようにします。 host) であるため、ユーザーが test2 のパスワードを知っている場合でも、インターネットからデータベースに直接アクセスすることはできず、MYSQL ホスト上の Web ページを介してのみアクセスできます
mydb で select、insert、update、delete を許可します。* 「abc」で識別される [email=test2@localhost]test2@localhost[/email] へ;
test2 にパスワードを持たせたくない場合は、別のコマンドを入力してパスワードを削除できます
grant select, insert, update, delete on.mydb.* to [email=test2@localhost]test2@localhost[/email] は「」で識別されます
4.1 データベースの作成
注: データベースを作成する前に MySQL サーバーに接続する必要があります
: create database <データベース名> ;
例 1: xhkdb という名前のデータベースを作成します
mysql> create database xhkdb;
例 2: データベースを作成してユーザーを割り当てます
①CREATE DATABASE データベース名;
②GRANT SELECT,INSERT, UPDATE,DELETE,CREATE, DROP,ALTER ON データベース名.* TO データベース名@localhost IDENTIFIED BY 'password';
③SET PASSWORD FOR 'データベース名'@'localhost' = OLD_PASSWORD('パスワード');
3を実行コマンドを順番に実行してデータベースの作成を完了します。 注: 中国語の「パスワード」と「データベース」はユーザーが設定する必要があります。
4.2 データベースを表示する
コマンド: show Databases (注: 最後に s があります)
mysql> show Databases;
注: 文字化けを表示しないようにするには、データベースのデフォルトのエンコーディングを変更する必要があります。以下は GBK エンコード ページを例にしています:
1. MYSQL 設定ファイルを変更します: my.ini のdefault-character-set=gbk を変更します:
①Java コード: jdbc:mysql :// localhost:3306/test?useUnicode=true&characterEncoding=gbk
②PHP コード: header("Content-Type: text/html;charset=gb2312");
③C 言語コード: int mysql_set_character_set(MYSQL
mysql, char csname ); この関数は、現在の接続のデフォルトの文字セットを設定するために使用されます。文字列 csname は有効な文字セット名を指定します。連結された照合順序が、文字セットのデフォルトの照合順序になります。この関数は SET NAMES ステートメントと同様に機能しますが、mysql->charset の値も設定するため、mysql_real_escape_string() によって設定された文字セットに影響します。
4.3 データベースを削除します
コマンド:drop database
例: xhkdb という名前のデータベースを削除します
mysql>drop database xhkdb;
mysql> ;
クエリ OK、影響を受ける行は 0 (0.00 秒)
例 2: 存在するかどうか不明なデータベースを削除する
mysql>drop databasedrop_database;
ERROR 1008 (HY000): データベースを削除できません 'drop_database' データベースが存在しません
//エラーが発生し、'drop_database' ' データベースは削除できません。データベースは存在しません。
mysql> データベースが存在する場合ドロップデータベース;
クエリ OK、影響を受ける行は 0 件、警告 1 件 (0.00 秒)//このデータベースが存在しないという警告を生成します
mysql> データベースを作成するdrop_database;
クエリ OK、影響を受ける行は 1 件 (0.00 秒) sec) )
mysql> データベースが存在する場合、drop_database;//if 存在する場合、データベースが存在するかどうかを判断します
クエリ OK、影響を受ける行は 0 です (0.00 秒)
4.4 データベースに接続します。
コマンド: use
例: xhkdb データベースが存在する場合は、それにアクセスしてみます:
mysql> use xhkdb;
画面プロンプト: データベースが変更されました
use ステートメントは、db_name データベースを使用するように MySQL に通知できます。後続のステートメントのデフォルト (現在の) データベースとして使用されます。このデータベースは、セグメントの終了まで、または別の USE ステートメントが発行されるまで、デフォルトのデータベースのままになります。 ;
mysql> SELECT COUNT(
) FROM mytable; # db2.mytable から選択します
USE ステートメントを使用して、特定の現在のデータベースをマークします。これにより、他のデータベースのテーブルにアクセスできなくなります。次の例では、db1 データベースから author テーブルにアクセスし、db2 データベースから edit テーブルにアクセスできます。 .editor .editor_id;
USE ステートメントは、Sybase との互換性を保つために設定されています。
一部のネチズンは、接続後に終了する方法を尋ねました。実際、データベースを使用した後、show Databases を使用してすべてのデータベースをクエリすることができます。他のデータベースにジャンプしたい場合は、
他のデータベース名を使用するだけです。
4.5 現在選択されているデータベース
コマンド: mysql> select database();
MySQL の SELECT コマンドは、文字列、数値、または数式の結果を表示するために使用できます。等MySQL で SELECT コマンドの特別な機能を使用するにはどうすればよいですか?
1. MYSQL のバージョンを表示します
mysql>select version();
+————————–+
| .4- alpha-community |
+————————–+
現在時刻を表示
mysql> select now();
+———— ————+
| 今() |
+————————+
| 2009-09-15 22:35:32 |
+————————+
年、月、日を表示
SELECT DAYOFMONTH(CURRENT_DATE);
+————————–+
|
+———————— —–+
| 15 |
+— ———————–+
SELECT MONTH(CURRENT_DATE);
+————————+
| MONTH(CURRENT_DATE) |
+———— ————+
| 9 |
+————————+
セット内の 1 行 (0.00 秒)
| 年(CURRENT_DATE) |
+——————–+
| 2009 |
+——————–+
セット内の 1 行 (0.00 秒)
表示文字列
mysql>「私のブログへようこそ!」;
+————————-+
|
+————————-+
| 私のブログへようこそ! |
+————- ——-+
計算機として使用
((4
4) / 10 ) + 25;
+————————-+
| ((4
4) / 10 ) + 25 |
+————————-+
連結文字列
select CONCAT(f_name, ” “, l_name)
AS 名employee_data から
where title = 'Marketing Executive';
+———— ———+
| 名前 |
+——————+
3 行 (0.00 秒)
注: ここでは、文字列を連結するために CONCAT() 関数が使用されています。さらに、以前に学習した AS を使用して、結果列「CONCAT(f_name, ” “, l_name)」に仮名を付けました。
5.1 データテーブルを作成する
コマンド: create table <テーブル名> ( <フィールド名1>
たとえば、create MyClass という名前のテーブル、
フィールド名 数値型 データ幅 空かどうか 主キーの自動インクリメントのデフォルト値
id int 4 no 主キー auto_increment
name char 20 no
sex int 4 no 0
degree double 16 yes
mysql> テーブル MyClass(
id int(4) not null 主キー auto_increment,
name char(20) not null,
sex int(4) not null default '0',
degree double(16,2));
5.3 データテーブルの削除
コマンド:drop table <テーブル名>
例: MyClass という名前のテーブルを削除します
mysql>drop table MyClass;
DROP TABLE は、1 つ以上のテーブルをキャンセルするために使用されます。各テーブルに対する DROP 権限が必要です。すべてのテーブル データとテーブル定義がキャンセルされるため、このステートメントを使用する場合は注意してください。
注: パーティション化されたテーブルの場合、DROP TABLE はテーブル定義を完全にキャンセルし、各パーティションをキャンセルし、これらのパーティションに保存されているすべてのデータをキャンセルします。 DROP TABLE は、削除されたテーブルに関連付けられたパーティション定義 (.par) ファイルもキャンセルします。
存在しないテーブルの場合は、エラーを防ぐために IF EXISTS を使用します。 IF EXISTS を使用すると、存在しないテーブルごとに NOTE が生成されます。
RESTRICT と CASCADE を使用すると、パーティション分割が簡単になります。現在、RESTRICT と CASCADE は機能しません。
5.4 テーブルにデータを挿入する
コマンド: insert into [( [,.. ])] 値 (値 1)[, (値n)]
例: MyClass テーブルに 2 つのレコードを挿入します。これらの 2 つのレコードは、番号 1 の Tom という名前の人のスコアは 96.45、番号 2 の Joan という名前の人のスコアは 82.99 を表します。番号 3 の Wang という名前の人のスコアは 96.5 です。
mysql> insert into MyClassvalues(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59);
注: insert into はテーブルにのみ挿入できます。レコードを挿入するたびに。
5.5 テーブル内のデータをクエリします
1)、すべての行をクエリします
コマンド: select
例: View table MyClass All data
mysql> select * from MyClass;
2)、データの最初の数行をクエリします
例: テーブル MyClass の最初の 2 行を表示します select * from MyClass order by id limit 0,2 ;
5.6 テーブル内のデータを削除します
mysql> delete from MyClass where id=1;
名 姓 年齢
ピーター グリフィン 35
グレン クアグマイア 33
以下では、例として PHP コードを使用して、「Persons」テーブル内の LastName='Griffin' を持つすべてのレコードを削除します。
$con = mysql_connect(" localhost"," Peter","abc123");
if (!$con)
{
die('接続できませんでした: ' .mysql_error());
}
mysql_select_db("my_db", $con);
mysql_query("DELETE FROM Persons WHERE LastName='Griffin'"); mysql_close($con);
?>
この削除後のテーブルは次のようになります:
名 姓 年齢
Glenn Quagmire 33
構文: update table name set field = new value,... wherecondition
mysql> update MyClass set name='Mary' where id=1;
UPDATE [ LOW_PRIORITY] [IGNORE] tbl_name SETcol_name1=expr1 [,col_name2=expr2 …] [WHERE where_diction] [ORDER BY …] [LIMIT row_count]
UPDATE [LOW_PRIORITY] [IGNORE] table_references SETcol_name1=expr1 [,col_name2=expr2 …] [WHERE where_定義]
コマンド: alter table table name add field type other;
例: フィールド passtest がテーブル MyClass に追加され、タイプは int(4)、デフォルト値は 0 です
mysql> add passtest int (4) デフォルト '0'
mysql> alter table テーブル名 addindex インデックス名 (フィールド名 1[, フィールド名 2...]);
例: mysql> emp_name (名前);
mysql> テーブルテーブル名を追加 主キー(フィールド名);
例: mysql> 従業員追加主キー(id);
mysql> alter table テーブル名 add unique インデックス名 (フィールド名);
例: mysql> alter table member add unique emp_name2(cardnumber);
mysql> 例: mysql>テーブル従業員のインデックスを削除 emp_name;
フィールドを追加します:
元のフィールド名とタイプを変更します:
フィールドの削除:
MySQL ALTER TABLE table_name DROP field_name;
5.9 テーブル名を変更する
コマンド: テーブルの元のテーブル名を新しいテーブル名に変更します。
例: テーブル MyClass の名前を YouClass に変更します
mysql> テーブルの名前を MyClass に変更しますYouClass;
RENAME を実行するときは、ロックされたテーブルやアクティブなトランザクションを持つことはできません。元のテーブルに対する ALTER 権限と DROP 権限、新しいテーブルに対する CREATE 権限と INSERT 権限も必要です。
複数テーブルの名前変更中に MySQL でエラーが発生した場合、名前が変更されたすべてのテーブルの逆方向の名前変更が実行され、すべてが元の状態に戻ります。
RENAME TABLE は MySQL 3.23.23 で追加されました。
6. データベースをバックアップします
コマンドは DOS の [url=file://mysqlbin]mysqlbin[/url] ディレクトリで実行されます
1. データベース全体をエクスポートします
エクスポート ファイルは mysqlbin ディレクトリに保存されますデフォルト
mysqldump -u username- p データベース名 > エクスポートされたファイル名
mysqldump -u user_name -p123456 データベース名 > outfile_name.sql
2. テーブルをエクスポートする
mysqldump -u username -p データベース名 テーブル名 >名前
mysqldump -u ユーザー名 -p データベース名 テーブル名 > outfile_name.sql
3. データベース構造をエクスポートします
mysqldump -u user_name -p -d –add-drop-table データベース名 > outfile_name.sql
-d データなし – add-drop-table 各 create ステートメントの前にドロップ テーブルを追加します
4. 言語パラメーターを使用してエクスポートします
mysqldump -uroot -p –default-character-set=latin1 –set-charset=gbk –skip-opt data_name > sql
たとえば、aaa ライブラリをファイル back_aaa にバックアップします。
[root@test1 root]# cd /home/data/mysql
[root@test1 mysql]# mysqldump -u root -p –opt aaa > back_aaa
7.1 データベースとテーブルの作成例 1
データベースが存在する場合は削除します。 school; // ライブラリを作成します。 SCHOOL
use school; // ライブラリを開きます。 SCHOOL
テーブルを作成します。 //テーブル TEACHER を作成します
(
id int(3) auto_increment not null Primary key,
name char(10) not null,
address varchar(50) default 'Shenzhen',
year date
) //テーブルの終わり作成
insert into Teachervalues(”,'allen','Dalian No.1 Middle School','1976-10-10');
insert into Teachervalues(",'jack ','大連第二中学校','1975- 12-23');
1. 上記のコマンドをそのままテキストファイルに記述し、それを school.sql として c: にコピーし、ディレクトリ [url=file://mysqlbin]mysqlbin[/url] を入力します。 DOS の状態: 次のコマンドを入力します:
mysql -uroot -p passwd
drop database if names school; //SCHOOL が存在する場合は削除します
create database school //ライブラリ SCHOOL を作成します
use school; //ライブラリを開きます SCHOOL
create table Teacher / /テーブル TEACHER を作成します
(
id int(3) auto_increment not null 主キー,
name char(10) not null,
address varchar(50) default “Shenzhen”,
year date
); //テーブル作成終了
insert into Teachervalues("","glchengang","Shenzhen No. 1 Middle School","1976-10-10");
insert into Teachervalues ("","jack","Shenzhen "一中","1975-12-23");
1. ID を長さ 3 の数値フィールドに設定します: int (3); 各レコードを自動的に 1 ずつ増加させます: auto_increment; を空にすることはできず、それを主フィールドの主キーにします。
以上がMySQLコマンド集(コレクション)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。