目次
1. システムのデフォルトの文字セットと検証ルールを確認します。
1. データベースを作成する
1. データベースルールを作成する
文法:
CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,
create_specification] ...]
create_specification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
例証します:
大文字はキーワードを示します。
[] は
オプションです。
CHARACTER SET:
データベースで使用される文字セットを指定します。
COLLATE:
データベース文字セットの検証規則を指定します。
2. ケースを作成する
db1という名前の
データベースを作成します
create database db1;
utf8
文字セットを使用して
db2
データベースを作成する
create database db2 charset=utf8;
UTF
文字セットと校正ルール
を使用して
db3
データベースを作成する
create database db3 charset=utf8 collate utf8_general_ci;
文字セットと検証ルールを指定せずにデータベースを作成すると、システムはデフォルトの文字セット (utf8、検証ルール) を使用します。
は:utf8_general_ci。
2. 文字セットと検証ルール
データベースの文字セットとは、データベースに格納されている文字に使用されるエンコード方式を指します。異なる文字セットは、異なる文字範囲とサイズを表すことができます。データベースの検証ルールは、データベース内の文字を比較および並べ替えるときに従うルールを指します。検証ルールが異なると、クエリの結果とパフォーマンスに影響します。
1.システムのデフォルトの文字セットと検証ルールを確認します。
show variables like 'character_set_database';
show variables like 'collation_database';
2.データベースでサポートされている文字セットと検証ルールを確認します。
show charset;
\
show collation;
3.データベースに対する検証ルールの影響
(1) データベースを作成し、検証ルールに
utf8_general_ci [
大文字と小文字を区別しない
]を使用します。
create database option1 collate utf8_general_ci;
use option1;
create table person(name varchar(20));
insert into person values('a');
insert into person values('A');
insert into person values('b');
insert into person values('B');
(2) データベースを作成し、検証ルールに
utf8_bin [
大文字と小文字を区別する]を使用します。
create database option2 collate utf8_bin;
use option2;
create table person(name varchar(20));
insert into person values('a');
insert into person values('A');
insert into person values('b');
insert into person values('B');
(3) 2 つのデータベース内のテーブルを検索およびソートする
データベース オプション 1検証ルールはutf8_general_ci [大文字と小文字を区別しない]を使用します。
use option1;
mysql> select * from person where name='a';
select * from person order by name;
データベース オプション 2検証ルールではutf8_general_ci [大文字と小文字が区別されます]が使用されます。
use option2;
mysql> select * from person where name='a';
select * from person order by name;
3. データベースを操作する
1. データベースと現在のデータベースを表示します。
show databases;
select database();
2. 作成ステートメントを表示する
show create database option1;
3.データベースを変更する
データベースの変更とは、主にデータベースの文字セットと検証ルールを変更することを指します。
ALTER DATABASE db_name
[alter_spacification [,alter_spacification]...]
alter_spacification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
alter database option1 charset=gbk;
上記のコードは、option1 データベースの文字セットをgbk に変更します。
4. データベースを削除する
drop database option2;
削除後の結果:
(1)データベース内に該当するデータベースが見えない
(2) 該当するデータベースフォルダを削除し、カスケード削除し、内部のデータテーブルをすべて削除します。
注:データベースを勝手に削除しないでください。
5. バックアップとリカバリ
(1) バックアップ
mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径
例: option1ライブラリをファイルにバックアップします(接続を終了します)
mysqldump -P3306 -uroot -p -B option1 >test1.sql
バックアップ後のパスに test.sql ファイルがあることがわかります。次に、vim を使用してファイルを開いて、内容を確認します。
この時点で、test1.sql ファイルを開いて内容を確認できます。実際、データベースの作成、テーブルの構築、データのインポートのためのすべてのステートメントがこのファイルにロードされます。
2 (データベースの復元)
source /var/lib/mysql/test1.sql;
(3) 注意事項
バックアップがデータベース全体ではなく、テーブルの 1 つである場合
mysqldump -u root -p 数据库名 表名1 表名2 > D:/mytest.sql
複数のデータベースを同時にバックアップする
# mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径
-Bパラメータ
を指定せずにデータベースをバックアップする場合
、データベースを復元するときは、最初に空のデータベースを作成し、次にそのデータベースを使用し、次にソース
を使用して復元する必要があります。
6. 接続状態を確認する
show processlist;
現在
MySQL
に接続しているユーザーを知ることができ
、ユーザーが正常にログインしていないことが判明した場合は、データベースが侵入されている可能性が非常に高くなります。将来、データベースが遅いことがわかった場合は、このコマンドを使用してデータベースの接続ステータスを確認できます。