Linux の MariaDB データベースについて1. データベースとは何ですか?データを保存および処理するための効率的なメディア(ディスクとメモリ) 2. データベースの分類記憶媒体に応じて、リレーショナルデータベース(SQL)、非リレーショナルデータベース(NOSQL)に分類されます。 1. リレーショナルデータベース (sql)リレーショナル モデルを使用してデータを整理するデータベースを指します。行と列の形式でデータを格納し、ユーザーの理解を容易にします。リレーショナル データベースのこの一連の行と列はテーブルと呼ばれ、テーブルのグループがデータベースを構成します。ユーザーは、データベースの特定の領域を制限するために使用される実行可能コードであるクエリを通じてデータベースからデータを取得します。リレーショナル モデルは、簡単に言えば 2 次元テーブル モデルとして理解でき、リレーショナル データベースは 2 次元テーブルとそれらの間の関係で構成されるデータ構成です。 アドバンテージ:
2. 非リレーショナルデータベース(nosql)NoSQL の最も一般的な説明は「非リレーショナル」であり、「SQL だけではない」という考えも多くの人に受け入れられています。 NoSQL は単なる概念であり、非リレーショナル データベースを指します。リレーショナル データベースとは異なり、リレーショナル データの ACID プロパティは保証されません。 NoSQL は、データベースにおける新しい革命的な動きです。その支持者は、非リレーショナル データ ストレージの使用を提唱しています。リレーショナル データベースの圧倒的な使用と比較すると、この概念は間違いなく新しい考え方の注入です。 アドバンテージ:
3. DML(データ操作言語)データベースデータに対する主な操作は以下のとおりです。 アップデート 入れる 消去 4. DDL(データ定義言語)データベース定義言語DDL は主に、テーブル構造、データ型、テーブル間のリンクと制約、その他の初期化タスクを定義または変更するために使用されます。
5. DCL (データ制御言語) データベース制御言語これは、(許可、取り消しなどの) ステートメントを含む、データベース ユーザーまたはロールの権限を設定または変更するために使用されます。これはめったに使用されません。 1. マリアDBMariaDB データベース管理システムは MySQL のブランチであり、主にオープンソース コミュニティによって管理されています。GPL ライセンスを使用しています。MariaDB の目的は、API やコマンド ラインを含め、MySQL と完全に互換性を持たせ、MySQL の代替として簡単に使用できるようにすることです。ストレージエンジンに関しては、MySQL の InnoDB の代わりに XtraDB が使用されます。 MariaDB は、MySQL の創設者である Michael Widenius によって開発されました。彼は以前、自身の会社 MySQL AB を 10 億ドルで SUN に売却していました。SUN が Oracle に買収された後、MySQL の所有権も Oracle の手に渡りました。 MariaDB は Michael Widenius 氏の娘 Maria にちなんで名付けられました。 2. ユーザー管理とアクセス制御データベースログインユーザーを作成する MariaDB [openlab]> 'xixi' で識別されるユーザー xixi@localhost を作成します。 クエリは正常、影響を受けた行は 0 行 (0.001 秒) 現在データベースにログインしているユーザーを表示する MariaDB [openlab]> ユーザーを選択します(); +----------------+ | ユーザー() | +----------------+ | ルート@ローカルホスト | +----------------+ セット内の 1 行 (0.000 秒) 現在のユーザーのデータベースを表示する MariaDB [openlab]> データベースを選択します(); +------------+ | データベース() | +------------+ | オープンラボ | +------------+ セット内の 1 行 (0.000 秒) 終了し、ユーザー xixi を使用してデータベースにログインします。 [root@redhat ~]# mysql -uxixi -pxixi データベースを表示 MariaDB [(なし)]> データベースを表示します。 +--------------------+ | データベース | +--------------------+ | 情報スキーマ | +--------------------+ セット内の1行(0.001秒) ログアウトして、rootユーザーとしてデータベースにログインし、ユーザーxixiの権限を設定します。 [root@redhat ~]# mysql -uroot -proot MariaDB [(なし)]> openlab.student に対する select、update、insert、delete 権限を xixi@localhost に付与します。 クエリは正常、影響を受けた行は 0 行 (0.001 秒) ユーザーxixiが再度データベースにログインする [root@redhat ~]# mysql -uxixi -pxixi チェック MariaDB [(なし)]> データベースを表示します。 +--------------------+ | データベース | +--------------------+ | 情報スキーマ | | オープンラボ | +--------------------+ セット内の行数は 2 です (0.000 秒) MariaDB [(なし)]> openlab を使用します。 テーブル名と列名の補完のためのテーブル情報の読み取り -Aでこの機能をオフにすると起動が速くなります。 データベースが変更されました MariaDB [openlab]> 学生から * を選択します。 +--------+---------+------+------+-----------+ | 番号 | 名前 | 年齢 | 性別 | 生年月日 | +--------+---------+------+------+-----------+ | 1 | 王凱 | 22 | nan | 1996-02-02 | | 2 | リリ | 21 | nv | 1997-03-03 | | 3 | カイリ | 21 | nv | 1997-04-04 | | 5 | マボ | 20 | ナン | 1998-07-07 | +--------+---------+------+------+-----------+ セット内の行は 4 行です (0.000 秒) 挿入権限のテスト MariaDB [openlab]> 学生に(番号、名前、年齢、性別、生年月日)の値(4、"zhangsan"、100、"nan"、"100-01-01")を挿入します。 クエリは正常、1 行が影響を受けました (0.001 秒) MariaDB [openlab]> 学生から * を選択します。 +--------+----------+------+------+-----------+ | 番号 | 名前 | 年齢 | 性別 | 生年月日 | +--------+----------+------+------+-----------+ | 1 | 王凱 | 22 | nan | 1996-02-02 | | 2 | リリ | 21 | nv | 1997-03-03 | | 3 | カイリ | 21 | nv | 1997-04-04 | | 5 | マボ | 20 | ナン | 1998-07-07 | | 4 | 張三 | 100 | nan | 0100-01-01 | +--------+----------+------+------+-----------+ セット内の行数は 5 です (0.000 秒) 更新権限のテスト MariaDB [openlab]> 学生を更新します。年齢を 19 に設定し、番号を 4 にします。 クエリは正常、1 行が影響を受けました (0.001 秒) 一致した行: 1 変更された行: 1 警告: 0 MariaDB [openlab]> 学生から * を選択します。 +--------+----------+------+------+-----------+ | 番号 | 名前 | 年齢 | 性別 | 生年月日 | +--------+----------+------+------+-----------+ | 1 | 王凱 | 22 | nan | 1996-02-02 | | 2 | リリ | 21 | nv | 1997-03-03 | | 3 | カイリ | 21 | nv | 1997-04-04 | | 5 | マボ | 20 | ナン | 1998-07-07 | | 4 | 張三 | 19 | nan | 0100-01-01 | +--------+----------+------+------+-----------+ セット内の行数は 5 です (0.000 秒) 削除権限をテストする MariaDB [openlab]> number=4 の学生から削除します。 クエリは正常、1 行が影響を受けました (0.001 秒) MariaDB [openlab]> 学生から * を選択します。 +--------+---------+------+------+-----------+ | 番号 | 名前 | 年齢 | 性別 | 生年月日 | +--------+---------+------+------+-----------+ | 1 | 王凱 | 22 | nan | 1996-02-02 | | 2 | リリ | 21 | nv | 1997-03-03 | | 3 | カイリ | 21 | nv | 1997-04-04 | | 5 | マボ | 20 | ナン | 1998-07-07 | +--------+---------+------+------+-----------+ セット内の行は 4 行です (0.000 秒) 6. バックアップと復元データをバックアップする [root@redhat ~]# mysqldump -u root -p openlab > /openlab_backup_20210904.dump パスワードを入力してください: ルートユーザーとしてデータベースにログインし、テーブルを削除します [root@redhat ~]# mysql -uroot -proot MariaDB モニターへようこそ。コマンドは ; または \g で終わります。 MariaDB接続IDは25です サーバーバージョン: 10.3.28-MariaDB MariaDB サーバー Copyright (c) 2000、2018、Oracle、MariaDB Corporation Ab およびその他。 ヘルプを表示するには、「help;」または「\h」と入力します。現在の入力ステートメントをクリアするには、「\c」と入力します。 MariaDB [(なし)]> openlab を使用します。 テーブル名と列名の補完のためのテーブル情報の読み取り -Aでこの機能をオフにすると起動が速くなります。 データベースが変更されました MariaDB [openlab]> テーブル student を削除します。 クエリは正常、影響を受けた行は 0 行 (0.112 秒) MariaDB [openlab]> 学生から * を選択します。 エラー 1146 (42S02): テーブル 'openlab.student' が存在しません 終了して復元 [root@redhat ~]# mysql -u root -p openlab < /openlab_backup_20210904.dump パスワードを入力してください: 再度 root としてデータベースにログインし、テーブルが復元されているかどうかを確認します。 [root@redhat ~]# mysql -uroot -proot MariaDB モニターへようこそ。コマンドは ; または \g で終わります。 MariaDB接続IDは27です サーバーバージョン: 10.3.28-MariaDB MariaDB サーバー Copyright (c) 2000、2018、Oracle、MariaDB Corporation Ab およびその他。 ヘルプを表示するには、「help;」または「\h」と入力します。現在の入力ステートメントをクリアするには、「\c」と入力します。 MariaDB [(なし)]> openlab を使用します。 テーブル名と列名の補完のためのテーブル情報の読み取り -Aでこの機能をオフにすると起動が速くなります。 データベースが変更されました MariaDB [openlab]> 学生から * を選択します。 +--------+---------+------+------+-----------+ | 番号 | 名前 | 年齢 | 性別 | 生年月日 | +--------+---------+------+------+-----------+ | 1 | 王凱 | 22 | nan | 1996-02-02 | | 2 | リリ | 21 | nv | 1997-03-03 | | 3 | カイリ | 21 | nv | 1997-04-04 | | 5 | マボ | 20 | ナン | 1998-07-07 | +--------+---------+------+------+-----------+ セット内の行は 4 行です (0.000 秒) 7. 文字セットを設定する
1.作成時に文字セットを指定するライブラリを作成するときに文字セットを指定します。 テーブルを作成するときに文字セットを指定します。 mysql> テーブル test(id int(6),name char(10)) を作成します。デフォルトの文字セットは 'gbk' です。 クエリは正常、影響を受けた行は 0 行 (0.39 秒) 2. 文字セットを変更するグローバル文字セットを変更する /接続を確立するために使用されるエンコーディング/ character_set_connection=utf8 を設定します。 /データベースエンコーディング/ 文字セットデータベースをutf8に設定します。 /結果セットのエンコード/ character_set_results=utf8 を設定します。 /データベース サーバー コード/ character_set_server=utf8 を設定します。 文字セットシステムをutf8に設定します。 collation_connection=utf8 を設定します。 collation_database=utf8 を設定します。 collation_server=utf8 を設定します。 ライブラリの文字セットを変更する
mysql> データベース shiyan\G の作成を表示 ************************** 1. 行 **************************** データベース: shiyan データベースの作成: CREATE DATABASE `shiyan` /*!40100 DEFAULT CHARACTER SET utf8 */ セット内の 1 行 (0.00 秒) mysql> データベース shiyan のデフォルト文字セット gbk を変更します。 クエリは正常、1 行が影響を受けました (0.00 秒) mysql> データベース shiyan\G の作成を表示 ************************** 1. 行 **************************** データベース: shiyan データベースの作成: CREATE DATABASE `shiyan` /*!40100 DEFAULT CHARACTER SET gbk */ セット内の 1 行 (0.00 秒) テーブルの文字セットを変更する
mysql> テーブル test1\G の作成を表示します ************************** 1. 行 **************************** 表: test1 テーブルの作成: CREATE TABLE `test1` ( `id` int(6) デフォルト NULL, `name` char(10) デフォルト NULL ) ENGINE=InnoDB DEFAULT CHARSET=gbk #元の文字セット セット内の 1 行 (0.00 秒) mysql> テーブル test1 を変更し、文字セットを utf8 に変換します。 クエリは正常、影響を受けた行は 0 行 (0.58 秒) レコード: 0 重複: 0 警告: 0 mysql> テーブル test1\G の作成を表示します ************************** 1. 行 **************************** 表: test1 テーブルの作成: CREATE TABLE `test1` ( `id` int(6) デフォルト NULL, `name` char(10) デフォルト NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 #変更された文字セット セット内の 1 行 (0.00 秒) フィールドの文字セットを変更する
mysql> test1 の完全な列を表示します。 +-------+----------+-----------------+------+------+--------+-------+--------------------------------+----------+ | フィールド | タイプ | 照合 | Null | キー | デフォルト | 追加 | 権限 | コメント | +-------+----------+-----------------+------+------+--------+-------+--------------------------------+----------+ | id | int(6) | NULL | YES | | NULL | | 選択、挿入、更新、参照 | | | 名前 | char(10) | utf8_general_ci | YES | | NULL | | 選択、挿入、更新、参照 | | +-------+----------+-----------------+------+------+--------+-------+--------------------------------+----------+ セットに2行(0.01秒) mysql> alter table test1 名前 char(10) 文字セット gbk を変更します。 クエリは正常、影響を受けた行は 0 行 (0.58 秒) レコード: 0 重複: 0 警告: 0 mysql> test1 の完全な列を表示します。 +-------+----------+----------------+------+--------+--------+--------+---------------------------------+---------+ | フィールド | タイプ | 照合 | Null | キー | デフォルト | 追加 | 権限 | コメント | +-------+----------+----------------+------+--------+--------+--------+---------------------------------+---------+ | id | int(6) | NULL | YES | | NULL | | 選択、挿入、更新、参照 | | | 名前 | char(10) | gbk_chinese_ci | YES | | NULL | | 選択、挿入、更新、参照 | | +-------+----------+----------------+------+--------+--------+--------+---------------------------------+---------+ セットに2行(0.01秒) 8. ケース1. テーブルを作成する データベースをインストールします(システムはデフォルトでインストールされています。インストールされていない場合は、コマンドは次のとおりです)
データベースサービスを開始する
データベースを初期化し、ルートパスワードを設定する
データベースにログイン
データベースを作成する
オープンラボデータベースに入る
学生テーブルを作成する
表を見る MariaDB [openlab]> テーブルを表示します。 +-------------------+ | OpenLab 内のテーブル | +-------------------+ | 学生 | +-------------------+ セット内の1行(0.001秒) MariaDB [openlab]> desc 学生; +--------+-------------+------+------+--------+-------+ | フィールド | タイプ | Null | キー | デフォルト | 追加 | +--------+-------------+------+------+--------+-------+ | 数値 | int(11) | はい | | NULL | | | 名前 | varchar(20) | はい | | NULL | | | 年齢 | int(11) | はい | | NULL | | | 性別 | varchar(3) | はい | | NULL | | | 生年月日 | はい | | NULL | | +--------+-------------+------+------+--------+-------+ セット内の行数は 5 行 (0.001 秒) テーブルにデータを挿入する MariaDB [openlab]> 学生に(番号、名前、年齢、性別、生年月日)の値(1、"wangkai"、22、"nan"、"1996-02-02")を挿入します。 クエリは正常、1 行が影響を受けました (0.003 秒) MariaDB [openlab]> 学生に(番号、名前、年齢、性別、生年月日)の値(2、"lili"、21、"nv"、"1997-03-03")を挿入します。 クエリは正常、1 行が影響を受けました (0.001 秒) MariaDB [openlab]> 学生に(番号、名前、年齢、性別、生年月日)の値を挿入します (3、"kaili"、21、"nv"、"1997-04-04"); クエリは正常、1 行が影響を受けました (0.001 秒) MariaDB [openlab]> 学生に(番号、名前、年齢、性別、生年月日)の値(4、「wangkai」、「20」、「nv」、「1998-05-05」)を挿入します。 クエリは正常、1 行が影響を受けました (0.001 秒) MariaDB [openlab]> 学生に(番号、名前、年齢、性別、生年月日)の値(5、「mabo」、「20」、「nan」、「1998-02-02」)を挿入します。 クエリは正常、1 行が影響を受けました (0.001 秒) 表の内容を表示する MariaDB [openlab]> テーブルから * を選択します。 エラー 1064 (42000): SQL 構文にエラーがあります。1 行目の「table」付近で使用する正しい構文については、MariaDB サーバーのバージョンに対応するマニュアルを確認してください。 MariaDB [openlab]> 学生から * を選択します。 +--------+---------+------+------+-----------+ | 番号 | 名前 | 年齢 | 性別 | 生年月日 | +--------+---------+------+------+-----------+ | 1 | 王凱 | 22 | nan | 1996-02-02 | | 2 | リリ | 21 | nv | 1997-03-03 | | 3 | カイリ | 21 | nv | 1997-04-04 | | 4 | 王凱 | 20 | nv | 1998-05-05 | | 5 | マボ | 20 | ナン | 1998-02-02 | +--------+---------+------+------+-----------+ セット内の行数は 5 行 (0.001 秒) 2. 年齢が20歳の学生全員を検索するMariaDB [openlab]> age=20 の学生から * を選択します。 +--------+---------+------+------+-----------+ | 番号 | 名前 | 年齢 | 性別 | 生年月日 | +--------+---------+------+------+-----------+ | 4 | 王凱 | 20 | nv | 1998-05-05 | | 5 | マボ | 20 | ナン | 1998-02-02 | +--------+---------+------+------+-----------+ セット内の 2 行 (0.001 秒) 3. クラスの王凱という男の子についての情報を問い合わせるMariaDB [openlab]> name="wangkai" で student から * を選択します。 +--------+---------+------+------+-----------+ | 番号 | 名前 | 年齢 | 性別 | 生年月日 | +--------+---------+------+------+-----------+ | 1 | 王凱 | 22 | nan | 1996-02-02 | | 4 | 王凱 | 20 | nv | 1998-05-05 | +--------+---------+------+------+-----------+ セット内の行数は 2 です (0.000 秒) 4. 馬波の誕生日を1998-7-7に変更するMariaDB [openlab]> update student set birth="1998-07-07" where name="mabo"; クエリは正常、1 行が影響を受けました (0.002 秒) 一致した行: 1 変更された行: 1 警告: 0 MariaDB [openlab]> name="mabo" で student から * を選択します。 +--------+------+------+------+-----------+ | 番号 | 名前 | 年齢 | 性別 | 生年月日 | +--------+------+------+------+-----------+ | 5 | マボ | 20 | ナン | 1998-07-07 | +--------+------+------+------+-----------+ セット内の 1 行 (0.000 秒) 5. 生徒番号4を削除するMariaDB [openlab]> number=4 の学生から削除します。 クエリは正常、1 行が影響を受けました (0.001 秒) MariaDB [openlab]> 学生から * を選択します。 +--------+---------+------+------+-----------+ | 番号 | 名前 | 年齢 | 性別 | 生年月日 | +--------+---------+------+------+-----------+ | 1 | 王凱 | 22 | nan | 1996-02-02 | | 2 | リリ | 21 | nv | 1997-03-03 | | 3 | カイリ | 21 | nv | 1997-04-04 | | 5 | マボ | 20 | ナン | 1998-07-07 | +--------+---------+------+------+-----------+ セット内の行は 4 行です (0.000 秒) 6. 表に生徒全員の名前を記入するMariaDB [openlab]> 学生から名前を選択します。 +---------+ | 名前 | +---------+ | 王凱 | | リリ | | カイリ | |マボ| +---------+ セット内の 4 行 (0.001 秒) 7. 生徒番号3の名前と年齢を記入してください。MariaDB [openlab]> number=3 の学生から番号、名前、年齢を選択します。 +--------+-------+------+ | 番号 | 名前 | 年齢 | +--------+-------+------+ | 3 | カイリ | 21 | +--------+-------+------+ セット内の1行(0.001秒) Linux の mariadb データベースに関するこの記事はこれで終わりです。Linux mariadb データベースの詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Vue+elementuiはドロップダウンテーブルの複数選択と検索機能を実現します
>>: HTML ボディタグと HTML でよく使われる制御タグの詳細な説明
目次1. 遅いクエリSQLを見つけて最適化する方法a. スローログに基づいてスロークエリSQLを見つ...
この記事の例では、カスケードセレクターを実装するためのelementUIの具体的なコードを参考までに...
目次1. 基本2. ノード、ツリー、仮想DOM 1. 仮想DOM 3. createElementパ...
1. Apacheをインストールする # yum インストール -y httpd httpd-de...
目次圧縮ファイルをダウンロードするアドレス: https://dev.mysql.com/downl...
クリックして画像を切り替えることは、日常生活で非常によく行われることです。今日の練習は、画像を切り替...
html、アドレス、引用ブロック、本文、dd、div、 dl、dt、フィールドセット、フォーム、フレ...
Microsoft IE 5.0 がリリースされる前は、Web プログラミングにおける最大の課題は、...
実行プロセスを分析します。マウスをノードに移動して、ノードにツールチップ実装を開くための識別子 (...
目次情事の概念取引の状態取引の役割取引の特徴トランザクション構文トランザクション対応ストレージエンジ...
1. モバイル端末がリストスライドを処理するとき、WeChat には下部にページに戻るボタンが組み...
目次前述のVARCHAR型VARCHAR適用可能な状況CHAR型テストVARCHAR(5)とVARC...
目次パーティション分割メカニズムSELECTクエリINSERT操作DELETE操作更新操作パーティシ...
この記事では、ExcelファイルをMySQLデータベースにインポートする方法を参考までに紹介します。...
前のこれは古くからある古典的な質問です。以前読者から質問があったので、ここでお答えします。簡単な例か...