データベース 電子的に保存されたデータの構造化されたセットです。データベースの概念は、コンピューターがなくても先祖に知られていましたが、そのようなデータベースの作成と保守は非常に面倒な作業でした。手動データベースでは、 100と言います ページ、給与が 10,000未満のすべての従業員を検索する必要がある場合 、それならどれだけ難しいか考えてみてください。
今日の世界では、データベースから逃れることはできません。 。現在、世界中で何百万ものデータベースが機能しており、戦略的データ、従業員の記録、ウェブテクノロジーなど、あらゆる種類のデータを保存および取得しています。
データベースは、エンドユーザーにもエンドユーザーにも表示されないため、バックエンドプロセスと呼ばれることがよくあります。 データベースと直接対話します。フロントエンドプロセス、つまり PHPで動作します 、 VB 、 ASP.NET など、フロントエンドにバックエンドでデータベースを処理するように依頼します。
Oracleのように利用可能なデータベースサーバーとクライアントがいくつかあります。 、 MySQL 、 MySQLi 、MariaDB、MongoDBなど。これらすべての構文はほぼ同じです。 1つを習得するということは、それらのほとんどを制御できることを意味し、データベースのクエリを学ぶことは非常に簡単で楽しいことです。
データベースに対する簡単なクエリから始めましょう。 MySQLを使用します ほとんどのLinuxにバンドルされています ディストリビューションのデフォルトでは、デフォルトでインストールされていない場合は、リポジトリから手動でインストールできます。
データベースクエリは、必要に応じてカスタムの洗練された結果を取得するためにデータベースに送信される単純なコードです。
MySQLデータベースのインストール
「yum」を使用します 」または「apt 」MySQLをインストールするパッケージマネージャー データベース。
# yum install mysql mysql-client mysql-server (on Yum based Systems) # apt-get install mysql mysql-client mysql-server (on Apt based Systems)
MySQLを起動
MySQLを起動します データベースサービス:
# service mysqld start or # service mysql start
MySQLを適切にインストールする データベースは、 adminをセットアップするように求められる構成に移動します パスワードなど。サーバーのインストールと起動が完了したら、 MySQLに移動します。 プロンプト。
# mysql -u root -p
ルートを置き換えます 構成済みのユーザー名 パスワードを入力します プロンプトが表示されたら、ログインクレデンシャルが正しければ、 MySQLに移動します。 まばたきでプロンプトを表示します。
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 195 Server version: 5.5.31-0+wheezy1 (Debian) Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
現在、このプロンプトでクエリを実行することは、非常に教育的で楽しいものです。
データベーステクミントを作成する
mysql> create database tecmint ; Query OK, 1 row affected (0.02 sec) mysql>
注 :クエリが正しかったことを報告します。つまり、データベースが作成されます。新しく作成したデータベースを次のように確認できます。
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | tecmint | | test | +--------------------+ 9 rows in set (0.00 sec) mysql>
注 :上記の出力でデータベースに注目してください。
データベースの選択
次に、データベースを選択して作業する必要があります。
mysql> use tecmint; Database changed mysql>
MySQLでテーブルを作成する
ここでは、「 minttec」というテーブルを作成します 」の3つのフィールド:
mysql> CREATE TABLE minttec ( -> id Int(3), -> first_name Varchar (15), -> email Varchar(20) -> ); Query OK, 0 rows affected (0.08 sec) mysql>
注 :上記のクエリは OK これは、テーブルがエラーなしで作成されたことを意味します。テーブルを確認するには、以下のクエリを実行します。
mysql> show tables; +-------------------+ | Tables_in_tecmint | +-------------------+ | minttec | +-------------------+ 1 row in set (0.00 sec) mysql>
今まで順調に進んでいます。うん!テーブル「minttec」で作成した列を表示できます 」として:
mysql> show columns from minttec; +------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+-------------+------+-----+---------+-------+ | id | int(3) | YES | | NULL | | | first_name | varchar(15) | YES | | NULL | | | email | varchar(20) | YES | | NULL | | +------------+-------------+------+-----+---------+-------+ 3 rows in set (0.00 sec) mysql>
それは魔法に他なりませんでした。とにかく、宣言の種類とその意味についてお話します。
- 統合 整数です
- Varchar 定義された可変長のcharです。 Typeの後の値は、データを格納できるフィールドの長さです。
では、「 last_name」という列を追加する必要があります。 ‘列‘ first_nameの後 ‘。
mysql> ALTER TABLE minttec ADD last_name varchar (20) AFTER first_name; Query OK, 0 rows affected (0.16 sec) Records: 0 Duplicates: 0 Warnings: 0
次に、テーブルで確認します。
mysql> show columns from minttec; +------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+-------------+------+-----+---------+-------+ | id | int(3) | YES | | NULL | | | first_name | varchar(15) | YES | | NULL | | | last_name | varchar(20) | YES | | NULL | | | email | varchar(20) | YES | | NULL | | +------------+-------------+------+-----+---------+-------+ 4 rows in set (0.00 sec) mysql>
MySQLに列を追加
次に、右側に「国」という列を追加します。 ‘メールの右側 。
mysql> ALTER TABLE minttec ADD country varchar (15) AFTER email; Query OK, 0 rows affected (0.16 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql>
上記の列挿入クエリを確認してください。
mysql> show columns from minttec; +------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+-------------+------+-----+---------+-------+ | id | int(3) | YES | | NULL | | | first_name | varchar(15) | YES | | NULL | | | last_name | varchar(20) | YES | | NULL | | | email | varchar(20) | YES | | NULL | | | country | varchar(15) | YES | | NULL | | +------------+-------------+------+-----+---------+-------+ 5 rows in set (0.00 sec) mysql>
フィールドに値を挿入
フィールドに値を挿入するのはどうですか?
mysql> INSERT INTO minttec VALUES ('1' , 'Ravi' , 'Saive' , '[email protected]' , 'India' ); Query OK, 1 row affected (0.02 sec) mysql>>
1以上挿入してみてはいかがでしょうか 上記の表で一度に値を入力してください。
mysql> INSERT INTO minttec VALUES ('2' , 'Narad' , 'Shrestha' , '[email protected]' , 'India' ), ('3' , 'user' , 'singh' , '[email protected]' , 'Aus' ), ('4' , 'tecmint' , '[dot]com' , '[email protected]' , 'India' ); Query OK, 3 rows affected (0.05 sec) Records: 3 Duplicates: 0 Warnings: 0
上記の挿入を確認してください。
mysql> select * from minttec; +------+------------+-----------+-------------------+---------+ | id | first_name | last_name | email | country | +------+------------+-----------+-------------------+---------+ | 1 | Ravi | Saive | [email protected] | India | | 2 | Narad | Shrestha | [email protected] | India | | 3 | user | singh | [email protected] | Aus | | 4 | tecmint | [dot]com | [email protected] | India | +------+------------+-----------+-------------------+---------+ 4 rows in set (0.00 sec) mysql>
フィールドの値を削除
上記の出力の3番目のエントリが無効であり、3番目のエントリを削除する必要があるとします。
mysql> DELETE FROM minttec WHERE id = 3; Query OK, 1 row affected (0.02 sec)
上記の操作を確認してください。
mysql> select * from minttec; +------+------------+-----------+-------------------+---------+ | id | first_name | last_name | email | country | +------+------------+-----------+-------------------+---------+ | 1 | Ravi | Saive | [email protected] | India | | 2 | Narad | Shrestha | [email protected] | India | | 4 | tecmint | [dot]com | [email protected] | India | +------+------------+-----------+-------------------+---------+ 3 rows in set (0.00 sec)
フィールドの値を更新
ID(=4)を編集する必要があります。
mysql> UPDATE minttec SET id = 3 WHERE first_name = 'tecmint'; Query OK, 1 row affected (0.02 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql>
上記のクエリを確認してください。
mysql> UPDATE minttec SET id = 3 WHERE first_name = 'tecmint'; Query OK, 1 row affected (0.02 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql>
注 :実行された上記のクエリはお勧めできません。 IDが「4」に変更されます ‘名が‘ tecmint’である場合 。次のように、エラーを最小限に抑えるために、where句を含む複数の列を使用することをお勧めします。
mysql> UPDATE minttec SET id = 6 WHERE first_name = 'tecmint'AND last_name = '[dot]com'; Query OK, 1 row affected (0.03 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql>
MySQLの列を削除
「国」と言っても重要ではないと思う列を削除(削除)する必要があります 「ここ。
mysql> ALTER TABLE minttec drop country; Query OK, 3 rows affected (0.15 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql>
テーブルを確認します。
mysql> select * from minttec; +------+------------+-----------+-------------------+ | id | first_name | last_name | email | +------+------------+-----------+-------------------+ | 1 | Ravi | Saive | [email protected] | | 2 | Narad | Shrestha | [email protected] | | 6 | tecmint | [dot]com | [email protected] | +------+------------+-----------+-------------------+ 3 rows in set (0.00 sec) mysql>
MySQLでテーブルの名前を変更
私たちのテーブル名は「ミントテック」だと思いませんか 」はあまり関連性がありません。 tecmint_tableに変更してみませんか 。
mysql> RENAME TABLE minttec TO tecmint_table; Query OK, 0 rows affected (0.03 sec) mysql>
すべてのテーブルを一覧表示
現在のデータベースの下にあるすべてのテーブルを参照してください。
mysql> show tables; +-------------------+ | Tables_in_tecmint | +-------------------+ | tecmint_table | +-------------------+ 1 row in set (0.00 sec) mysql>
テーブルの名前が変更されました。次に、上記の MySQLのバックアップを取ります データベース、高度なツールを使用せずに1行のコマンドで。 mysqlプロンプトではなく、ターミナルで以下のコードを実行します。
# mysqldump -u root -p tecmint > tecmint.sql check the dumped file on your desktop which would have contents something like -- MySQL dump 10.13 Distrib 5.5.31, for debian-linux-gnu (i686) -- -- Server version 5.5.31-0+wheezy1 -- Dump completed on 2013-09-02 12:55:37
MySQLデータベースのバックアップを維持することは常に良い考えです。バックアップされたMySQLの復元 データは、mysqlプロンプトではなく、ターミナルプロンプトで実行する必要のある単純なコード行です。
ただし、最初にデータベースを削除して、復元が完全かどうかを確認します。
データベースを削除する
mysql> drop database tecmint; Query OK, 1 row affected (0.02 sec)
データベースサーバーでデータベース「tecmint」を確認します。
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | my_database | | mysql | | performance_schema | | phpmyadmin | | sisso | | test | +--------------------+ 7 rows in set (0.00 sec) mysql>
素晴らしい!データベースは失われますが、心配する必要はありません。バックアップがあります。
データベースを復元する
失われたデータベースを復元するには、次のコマンドを実行します。
# mysql -u root -p tecmint < tecmint.sql Enter password: ERROR 1049 (42000): Unknown database 'tecmint'
おっと !エラー、データベースを作成していません tecmint 。したがって、mysqlプロンプトに移動して、データベース「 tecmint」を作成します。 ‘。
mysql> create database tecmint; Query OK, 1 row affected (0.00 sec) mysql>
次に、シェルプロンプトで復元コマンドを実行します(厳密に)。
# mysql -u root -p tecmint < tecmint.sql Enter password:
データベースを確認します。
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | tecmint | | test | +--------------------+ 8 rows in set (0.00 sec)
データベースの内容を確認します。
mysql> show tables from tecmint; +-------------------+ | Tables_in_tecmint | +-------------------+ | tecmint_table | +-------------------+ 1 row in set (0.00 sec) mysql>
復元したテーブルの内容を確認します。
mysql> select * from tecmint_table; +------+------------+-----------+-------------------+ | id | first_name | last_name | email | +------+------------+-----------+-------------------+ | 1 | Ravi | Saive | [email protected] | | 2 | Narad | Shrestha | [email protected] | | 6 | tecmint | [dot]com | [email protected] | +------+------------+-----------+-------------------+ 3 rows in set (0.00 sec)
これで終わりではありません。主キーの概念について説明します。 、外部キー 、複数のテーブル およびクエリの実行 単純なPHPを使用する 記事の次の部分のスクリプト。
教えてくださいことを忘れないでください 、記事を読んでいる間、あなたはどのように感じましたか。コメントをいただければ幸いです。 健康を維持する および調整済み 、テクミントへの接続を維持 。