一次做業過程及其問題的記錄:mysql創建數據庫、建表、查詢和插入等

前言

此次的做業須要我創建一個小的數據庫。html

此次做業我使用了mysql,進行了建庫、建表、查詢、插入等操做。前端

本文是對本次做業相關的mysql操做過程及過程當中出現的問題的記錄。mysql

另外一篇文章(詳情請點擊)介紹瞭如何使用pymysql鏈接該數據庫並使用Flask搭建後端接口,響應前端的GET和POST請求。git

正文

做業中對數據庫的要求是:github

  • 創建一個用戶信息表,其包括用戶名、密碼、手機號、郵箱和手機號等屬性,並向其中插入幾條測試數據。

登陸數據庫

由於挺久沒用數據庫,就先測試下本身以前裝的mysql還能不能用,因而打開CMD運行以下指令:sql

mysql

出現以下錯誤:shell

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','7746@qq.com'),
	('user2','0000','zstu','13777860001','7747@qq.com'),
	('user3','0000','zstu','13777860002','7748@qq.com');

執行後,獲得以下信息:

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 | 7746@qq.com  |
| user2      | 0000     | zstu    | 13777860001 | 7747@qq.com  |
| user3      | 0000     | zstu    | 13777860002 | 7748@qq.com  |
| 232222     | 0000     | 城站    | 12306       | 12306@qq.com |
+------------+----------+---------+-------------+--------------+
9 rows in set (0.00 sec)

做者:@臭鹹魚

轉載請註明出處:https://www.cnblogs.com/chouxianyu/

歡迎討論和交流!

相關文章
相關標籤/搜索