此次的做業須要我創建一個小的數據庫。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表的結構。
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條數據。
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/
歡迎討論和交流!