1回のジョブ・プロシージャとその問題の記録:mysqlデータベースの構築、テーブルの構築、クエリーと挿入など

4778 ワード

前言
今度の宿題は私が小さなデータベースを作る必要があります.
今回の宿題はmysqlを使って、ライブラリの構築、テーブルの構築、クエリー、挿入などの操作を行いました.
本稿では,今回の作業に関連するmysqlの操作過程および過程で発生した問題の記録である.
別の記事(詳細はクリックしてください)では、pymysqlを使用してデータベースに接続し、Flaskを使用してバックエンドインタフェースを構築し、フロントエンドのGETとPOSTリクエストに応答する方法について説明しています.
本文
ジョブのデータベースに対する要求は次のとおりです.
  • は、ユーザー名、パスワード、携帯電話番号、メールボックス、携帯電話番号などの属性を含むユーザー情報テーブルを構築し、いくつかのテストデータを挿入します.

  • データベースへのログイン
    長い間データベースを使用していないので、自分が前にインストールしたmysqlがまだ使用できるかどうかをテストし、CMDを開いて次のコマンドを実行します.
    mysql
    

    次のエラーが発生しました.
    ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)
    

    コードに負けていないように見えます
    パスワードを入力し、次のコマンドを実行します.
    mysql -u root -p
    
  • -uパラメータはusername、userなどの、すなわちユーザー名を指し、私のユーザー名はrootである.
  • -pパラメータはpasswordを指し、次のコマンドを実行すると、パスワードの入力が要求され、正しいパスワードを入力すると正常にログインします.

  • 私のmysql環境はまあまあで、直接ログインに成功しました.
    ライブラリの作成
    shopdataという名前のデータベースを作成すると、Query OK, 1 row affected (x.xx sec)が得られます.
    create database shopdata;
    

    データベースへのアクセス/選択
    次のコマンドを実行すると、Database changedのメッセージが表示されます.
    use shopdata;
    

    表を作る
    次のコマンドを実行してuserinfoというテーブルを作成します.
    ここでuserinfoの定義は次のとおりです.
  • プライマリ・キーはユーザー名userid
  • です.
  • password非NULLの
  • phoneとemailはuniqueの
  • です
  • この5つの属性のタイプはvarchar(15)が最も長く15であり,emailでは
  • では不十分である.
    create table userinfo (
        'userid' varchar(15) primary key,
        'password' varchar(15) not null,
        'company' varchar(15),
        'phone' varchar(15) unique,
        'email' varchar(15) unique
    );
    

    上のコマンドを実行すると、エラーが発生しました.
    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 ''userid' varchar(15) primary key,
        'password' varchar(15) not null,
        'comp' at line 2
    

    クエリーを実行すると、属性名は単一引用符ではなく逆引用符`を使用する必要があることがわかります.したがって、単一引用符を逆引用符に変更し、次のコマンドを実行します.
    create table userinfo (
        `userid` varchar(15) primary key,
        `password` varchar(15) not null,
        `company` varchar(15),
        `phone` varchar(15) unique,
        `email` varchar(15) unique
    );
    

    このコマンドは実行に成功し、Query OK, 0 rows affected (x.xx sec)を得た.
    userinfoテーブルの表示
    次のコマンドを実行して、userinfoテーブルの構造を表示します.
    describe userinfo;
    

    実行すると、次の結果が得られます.
    +----------+-------------+------+-----+---------+-------+
    | Field    | Type        | Null | Key | Default | Extra |
    +----------+-------------+------+-----+---------+-------+
    | userid   | varchar(15) | NO   | PRI | NULL    |       |
    | password | varchar(15) | NO   |     | NULL    |       |
    | company  | varchar(15) | YES  |     | NULL    |       |
    | phone    | varchar(15) | YES  | UNI | NULL    |       |
    | email    | varchar(15) | YES  | UNI | NULL    |       |
    +----------+-------------+------+-----+---------+-------+
    5 rows in set (0.57 sec)
    

    3つのデータを挿入
    次のコマンドを実行して、3つのデータを挿入します.
    insert into userinfo values
    	('user1','0000','zstu','13777860000','[email protected]'),
    	('user2','0000','zstu','13777860001','[email protected]'),
    	('user3','0000','zstu','13777860002','[email protected]');
    

    実行後、次の情報が得られます.
    Query OK, 3 rows affected (0.11 sec)
    Records: 3  Duplicates: 0  Warnings: 0
    

    データの問合せ
    次の文を実行して、すべてのメタグループをクエリーします.
    select * from userinfo;
    

    実行後、以下の結果が得られました(宿題が終わった後、このブログを書く前に、他のデータをいくつか挿入したので、9つの記録があります).
    +------------+----------+---------+-------------+--------------+
    | userid     | password | company | phone       | email        |
    +------------+----------+---------+-------------+--------------+
    | 111        | 111      | 111     | 111         | 111          |
    | 112        | 000      | 111     | 000         | 000          |
    | aa         | 111      | 11      | 11          | 11           |
    | test_1     | 00       | NULL    | NULL        | NULL         |
    | user_test2 | 0000     | NULL    | NULL        | NULL         |
    | user1      | 0000     | zstu    | 13777860000 | [email protected]  |
    | user2      | 0000     | zstu    | 13777860001 | [email protected]  |
    | user3      | 0000     | zstu    | 13777860002 | [email protected]  |
    | 232222     | 0000     |       | 12306       | [email protected] |
    +------------+----------+---------+-------------+--------------+
    9 rows in set (0.00 sec)
    

    作者:@臭塩魚
    転載は出典を明記してください.https://www.cnblogs.com/chouxianyu/
    討論と交流を歓迎します!