sql >> データベース >  >> RDS >> Mysql

MySQLの基本的なデータベース管理コマンド–パートI

    データベース 電子的に保存されたデータの構造化されたセットです。データベースの概念は、コンピューターがなくても先祖に知られていましたが、そのようなデータベースの作成と保守は非常に面倒な作業でした。手動データベースでは、 100と言います ページ、給与が 10,000未満のすべての従業員を検索する必要がある場合 、それならどれだけ難しいか考えてみてください。

    今日の世界では、データベースから逃れることはできません。 。現在、世界中で何百万ものデータベースが機能しており、戦略的データ、従業員の記録、ウェブテクノロジーなど、あらゆる種類のデータを保存および取得しています。

    データベースは、エンドユーザーにもエンドユーザーにも表示されないため、バックエンドプロセスと呼ばれることがよくあります。 データベースと直接対話します。フロントエンドプロセス、つまり PHPで動作します 、 VB ASP.NET など、フロントエンドにバックエンドでデータベースを処理するように依頼します。

    Oracleのように利用可能なデータベースサーバーとクライアントがいくつかあります。 、 MySQL MySQLi 、MariaDB、MongoDBなど。これらすべての構文はほぼ同じです。 1つを習得するということは、それらのほとんどを制御できることを意味し、データベースのクエリを学ぶことは非常に簡単で楽しいことです。

    データベースに対する簡単なクエリから始めましょう。 MySQLを使用します ほとんどのLinuxにバンドルされています ディストリビューションのデフォルトでは、デフォルトでインストールされていない場合は、リポジトリから手動でインストールできます。

    データベースクエリは、必要に応じてカスタムの洗練された結果を取得するためにデータベースに送信される単純なコードです。

    MySQLデータベースのインストール

    yum」を使用します 」または「aptMySQLをインストールするパッケージマネージャー データベース。

    # 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>

    それは魔法に他なりませんでした。とにかく、宣言の種類とその意味についてお話します。

    1. 統合 整数です
    2. 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を使用する 記事の次の部分のスクリプト。

    教えてくださいことを忘れないでください 、記事を読んでいる間、あなたはどのように感じましたか。コメントをいただければ幸いです。 健康を維持する および調整済みテクミントへの接続を維持 。


    1. SQLServerのOracle外部テーブルに相当します

    2. MariaDBで値に少なくとも1桁の数字が含まれているかどうかを検出する方法

    3. SQLServerのインストール方法

    4. Python、PyQt、SQLiteでコンタクトブックを作成する