【MySQLシリーズ】MySQLライブラリの学習と基本操作(追加・削除・確認・修正)

「はじめに」の記事の内容は、データベースの基本的な操作を大まかにまとめています。

「所属カラム」MySQL

「ホームページリンク」個人ホームページ

《作者》 メイプルリーフ氏(fy)

「メイプルリーフさんはちょっと文学的」「文章シェア」
一人でいることを好む人はいませんが、失望するのは好きではありません。
- 村上春樹『ノルウェイの森』

MySQL

1. データベースの作成・閲覧

データベースを作成する構文:

CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,create_specification] ...]

create_specificationオプション:

[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name

説明する

  • db_name作成されたデータベースの名前です
  • 大文字のキーワード
  • []は任意です、書かないことも可能です
  • CHARACTER SET: データベースで使用される文字セットを指定します。
  • COLLATE: データベース文字セットの検証規則を指定します。

すべてのデータベースを表示します。

show databases;

ここに画像の説明を挿入
[IF NOT EXISTS]つまり、データベースが存在する場合は作成されず、データベースが存在しない場合は作成されます。たとえば、既存のtestデータベースを作成します。

create database if not exists test;
或者 create database test; // 直接创建

ここに画像の説明を挿入
存在しない場合は作成する

create database if not exists test1;

ここに画像の説明を挿入
データベースは基本的に/var/lib/mysql/以下に
ここに画像の説明を挿入

2. データベースを削除します

文法:

DROP DATABASE [IF EXISTS] db_ name;
  • db_name作成されたデータベースの名前です
  • []は任意です、書かないことも可能です

削除を実行した後の結果:

  • 対応するデータベースがデータベース内に存在しない
  • 対応するデータベース フォルダーが削除され、カスケード削除され、その中のすべてのデータ テーブルが削除されます。
  • データベースの削除は基本的に/var/lib/mysql/以下の

知らせ: データベースを勝手に削除せず、不要なデータベースの名前を変更してバックアップしてみてください。
ここに画像の説明を挿入

3. データベース文字セットとデータベース検証ルール

db1 という名前のデータベースを作成します

create database db1;

説明する: キャラクタ セットと検証ルールを指定せずにデータベースを作成する場合、システムはデフォルトのキャラクタ セットを使用します: 、検証ルールは次のとおりです。これはutf8MySQL
構成utf8_ general_ ciファイル/etc/my.cnfで設定されます。キャラクタ セットまたは検証ルールを自分で指定する場合、システムのデフォルトの文字セットと検証ルールを使用する場合は、そうではありません。文字セットを使用して db2 データベース
を作成するように指定することもできますutf8

create database db2 charset=utf8;
或者 create database db2 CHARACTER SET utf8

utf文字セットと照合規則を使用してutf8_general_cidb3 データベースを作成することもできます。

create database db3 charset=utf8 collate utf8_general_ci;

文字セットと検証ルールとは何ですか? ?

  • 文字セットはコード セットであり、データベースはデータの表現と保存に使用されます。
  • 検証ルールは、データの整合性、つまりフィールドを比較するときにデータベースが使用する必要があるエンコーディング (データの読み取り、データの比較) を検出および検証するための方法です。

データに対して実行される操作に関係なく、データベース ライブラリはエンコード形式が一貫していることを確認する必要があります。
システムのデフォルトの文字セット (現在のデータベース) を確認します ( /etc/my.cnfMySQL 構成ファイルに設定されています)。

show variables like 'character_set_database';

ここに画像の説明を挿入
システムのデフォルトの検証ルールの表示 (現在のデータベース)

show variables like 'collation_database';

ここに画像の説明を挿入
データベースでサポートされている文字セットを確認します。文字セットは主に、使用する言語を制御します。たとえば、utf8 では中国語を使用できます。

show charset;

ここに画像の説明を挿入
データベースでサポートされているキャラクタ・セット検証ルールを表示します。
ここに画像の説明を挿入
各検証ルールはキャラクタ・セットと一致します。たとえば、utf8_general_ci検証ルールによって一致するキャラクタ・セットは次のとおりです。utf8

4 番目に、検証ルールがデータベースに与える影響

大文字と小文字を区別しません

utf8_general_ci [大文字と小文字を区別しない] を使用して検証ルールを含むデータベースを作成します。

create database test1 charset=utf8 collate utf8_general_ci;

テーブルの作成 データの挿入

use test1;
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');

ここに画像の説明を挿入
データベースのディレクトリに、db.optライブラリのコーディングルールを格納するファイル

cat /var/lib/mysql/test1/db.opt

ここに画像の説明を挿入
テーブル情報の
ここに画像の説明を挿入
表示 文字の検索a

select * from person where name='a';

aと の両方がA検出され、検査ルールでutf8_general_ci大文字と小文字が区別されないことを示します。ここに画像の説明を挿入

大文字と小文字を区別

utf8_ bin [大文字と小文字を区別する] を使用して検証ルールを含むデータベースを作成する

create database test2 collate utf8_bin;

テーブルの作成 データの挿入

use test2;
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');

ここに画像の説明を挿入
データベースのディレクトリに、db.optライブラリのエンコード ルールを保存するファイルがあります。
ここに画像の説明を挿入
検索文字はa、条件を満たすものだけが検索され、検査ルールがutf8_bin大文字と小文字を区別することを示します。
ここに画像の説明を挿入

5. データベースを変更する

データベース作成時のステートメントを表示する

show create database 数据库名;

ここに画像の説明を挿入
説明する

  • MySQL では大文字のキーワードを使用することを推奨していますが、必須ではありません。
  • データベース名のバックティック `` は、データベース名が単なるキーワードとして使用されるのを防ぐためのものです。
  • /*!40100 default.... */これはコメントではありません。現在の mysql バージョンがバージョン 4.01 より大きいことを意味します。この文を実行するだけです。バージョン 4.01 より小さい場合は、実行しないでください。

データベースを変更する

文法:

ALTER DATABASE db_name [alter_spacification [,alter_spacification]...]

alter_spacificationオプション:

alter_spacification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
  • 大文字のキーワード
  • []は任意です、書かないことも可能です

説明する
: データベースの変更とは、主にデータベースのtest2文字セットと検証ルールの変更を指します。gbk

alter database test1 charset=gbk collate gbk_chinese_ci;

ここに画像の説明を挿入
ここに画像の説明を挿入
知らせ: 現在のデータベースはデータベース名の変更をサポートしていませんが、以前はサポートされていました。

6. データベースのバックアップとリカバリ

バックアップ

文法

mysqldump -P3306 -u root -p -B 数据库名 > 数据库备份存储的文件路径

注: > は出力リダイレクトです。
たとえば、test1ライブラリをファイルにバックアップするには、mysql 接続を終了する必要があります。

mysqldump -P3306 -uroot -p -B test1 > /home/fy/mysql/test1.sql

ここに画像の説明を挿入
vimを開いて確認すると、データの効果的な操作とデータがすべてバックアップされています
ここに画像の説明を挿入

割引

文法:

source 备份的文件(路径)

注: > は出力リダイレクトです。
削除test1、テスト、
ここに画像の説明を挿入
復元しtest1、mysql 接続で操作します。

source /home/fy/mysql/test1.sql;

ここに画像の説明を挿入
データベースを確認してください。データは復元されています
ここに画像の説明を挿入
予防:
バックアップがデータベース全体ではなく、テーブルの 1 つである場合

 mysqldump -uroot -p 数据库名 表名1 表名2... > 备份的文件(路径),如:/mytest.sql

複数のデータベースを同時にバックアップする

 mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径

データベースのバックアップ時に -B パラメータが含まれていない場合、データベースを復元するときは、最初に空のデータベースを作成し、次にデータベースを使用し、次にソースを使用して復元する必要があります

7、データベース接続を確認します

文法:

show processlist;

ここに画像の説明を挿入
現在 MySQL に接続しているユーザーを教えてください。ユーザーが通常のログインではないことがわかった場合は、データベースが侵入されている可能性が非常に高くなります。将来データベースが遅いことがわかった場合は、このコマンドを使用してデータベースの接続ステータスを確認できます
--------------------- END ----- ------ -----------

「 作者 」 枫叶先生
「 更新 」 2023.7.7
「 声明 」 余之才疏学浅,故所撰文疏漏难免,
          或有谬误或不准确之处,敬请读者批评指正。

おすすめ

転載: blog.csdn.net/m0_64280701/article/details/131583937