MySQLデータベースの利用(1) - データベースの追加、削除、変更、クエリ

初心者のためのデータベースの基本概念

序文

以前にインストールしたデータベースを使用して、SQLステートメントのいくつかの使用法を学習できます。この記事では主に、データベースの追加、削除、変更、クエリのいくつかの方法と形式について説明します。
注:SQL実はこの文の形式は比較的理解しやすく、説明性の高い英単語で構成されているので、一緒に見てみましょう。

1. データベース情報

まずデータベース管理システムにログインしましょう

1.1 データベースへのログイン

サーバー内の-uおよびパラメータを直接使用して-pデータベースにログインします

mysql -u用户 -p密码

ここに画像の説明を挿入
写真の意味は次のとおりです。

コマンドは ; で終わります。または \g はコマンドの最後に追加する必要があることを意味します。または \g。
version: データベースのバージョン情報は 8.0.30 です。
同時に、help、\h などのヘルプ情報を表示するクエリもあります。ステートメントが作成されて間違っていることが判明した場合は、\ を使用することもできます。 c を実行しないようにします。

SQL ステートメントを使用してバージョン情報を表示することもできます

mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.30    |
+-----------+
1 row in set (0.00 sec)

1.2 データベースの文字セット情報を表示する

MySQL8.0デフォルトでは、utf-8 の文字セットがサポートされています。MySQL5.0左右のデータベースを使用する場合は、utf-8中国語のコンテンツを表示するためにデータベースの形式を設定する必要があります。

mysql> show variables like '%character%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8mb4                    |
| character_set_connection | utf8mb4                    |
| character_set_database   | utf8mb4                    |
| character_set_filesystem | binary                     |
| character_set_results    | utf8mb4                    |
| character_set_server     | utf8mb4                    |
| character_set_system     | utf8mb3                    |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.23 sec)

左側または右側のバージョンの場合MySQL5.0、データベースの作成時に utf-8 文字セットを設定できます。

create database (数据库名) character set utf8 collate utf8_bin;

1.3 データベースのストレージエンジンを表示する

mysql8.0上記でデフォルトで使用されるinnodbストレージ エンジンは次のとおりです。

mysql> show global variables like '%storage_engine%';
+---------------------------------+-----------+
| Variable_name                   | Value     |
+---------------------------------+-----------+
| default_storage_engine          | InnoDB    |
| default_tmp_storage_engine      | InnoDB    |
| disabled_storage_engines        |           |
| internal_tmp_mem_storage_engine | TempTable |
+---------------------------------+-----------+
4 rows in set (0.02 sec)

もちろん、mysqlデータベースがサポートしているストレージ エンジンを確認することもできます。

mysql> show engines;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| ARCHIVE            | YES     | Archive storage engine                                         | NO           | NO   | NO         |
| BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| MRG_MYISAM         | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| FEDERATED          | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
| MyISAM             | YES     | MyISAM storage engine                                          | NO           | NO   | NO         |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                             | NO           | NO   | NO         |
| InnoDB             | DEFAULT | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
| CSV                | YES     | CSV storage engine                                             | NO           | NO   | NO         |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
9 rows in set (0.00 sec)

2. データベース SQL ステートメント

2.1 データベース情報の表示

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

デフォルトでは、これらのデータベースはインストールに付属するライブラリ ファイルですが、具体的な機能を見てみましょう。

  • information_schema は主に、データベース名やテーブル名、列のデータ型、アクセス権などのデータに関するデータであるデータベース メタデータへのアクセスを提供するために使用されます。mysql 管理システム内の他のすべてのデータベースに関する情報はここに保存されます。
  • Performance_schema は、ストレージ エンジンとみなすことができる、下位レベルの実行プロセスにおける MySQL サーバーのリソース消費とリソース待機を監視するために使用されます。
  • sys: MySQL のパフォーマンスを表示、開発を支援、監視します。
  • mysql: 主に、MySQL ユーザー アカウント、権限、ストアド プロシージャ、トランザクション定義などの情報を保存するために使用されます。

最初に言ったことを今でも覚えています。ステートメントの最後にセミコロンを追加することも、追加することもできます。その効果を\g見てみましょう。\g

mysql> show databases \g
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

効果はセミコロンで表示されるものと同じです。\G に置き換えてもう一度見てください。

mysql> show databases \G
*************************** 1. row ***************************
Database: information_schema
*************************** 2. row ***************************
Database: mysql
*************************** 3. row ***************************
Database: performance_schema
*************************** 4. row ***************************
Database: sys
4 rows in set (0.00 sec)

G に変更して表示される結果は、前のフレームがなく、1 行ずつ横線の形式で表示されます。

通常、データベースを作成する場合、この構文を使用してデータベースの情報を表示できます。
コマンド構文

show create database 数据库名称

例:

mysql> show create database book;
+----------+--------------------------------------------------------------------------------------------------------------------------------+
| Database | Create Database                                                                                                                |
+----------+--------------------------------------------------------------------------------------------------------------------------------+
| book     | CREATE DATABASE `book` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */ |
+----------+--------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

表示される情報には、データベースの名前、文字セット情報、暗号化するかどうかなどの情報が含まれます。

2.2 データベースの作成

データベースを作成するための構文

create database 数据库名;

mysql> create database book;
Query OK, 1 row affected (0.00 sec)

出力の Query OK.1 行が影響を受けました (0.00 秒) は、作成が成功したことを示します

作成データベースを作成したいとします。それが正常に作成できるかどうか

mysql> create database create;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'create' at line 1

正常に作成できないことがわかります。これは、create がデータベース内の予約語であるため、正常に作成したい場合は、バッククォート ` を追加する必要があるためです。

mysql> create database `create`;
Query OK, 1 row affected (0.01 sec)

データベースの作成時に一部の特殊文字が含まれるため、作成も失敗します。

mysql> create database student!;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '!' at line 1
mysql> create database `student!`;
Query OK, 1 row affected (0.07 sec)

同様に、解決策はバッククォートを追加して成功したものを作成することです。

2.3 データベースを削除する

データベースを削除するための構文

drop database 数据库名称

例:

mysql> drop database book;
Query OK, 3 rows affected (0.05 sec)

データベースの削除は特に重大な問題であるため、必要がない限り削除することはお勧めできません。

要約する

上記の内容はここまでで、次の記事ではデータベーステーブルの SQL 文について説明します。内容が大丈夫だと思ったら、高評価を押してサポートしてください。ここに画像の説明を挿入

Supongo que te gusta

Origin blog.csdn.net/rhn_111/article/details/129526435
Recomendado
Clasificación