创建MySQL数据库和表Flask教程
在本教程中,我们将创建我们的用户数据库,我们需要这些数据库来存储用户实际注册时的用户名和密码。
如果你一直跟随这个系列,那么你已经安装了MySQL服务器和MySQL客户端。如果没有,你需要得到那些。当你得到那些,你还将设置根MySQL用户和密码。再次,如果你一直跟着,那么你已经设置了。MySQL root用户和服务器root用户是分开的,他们可以有不同的密码。他们是不同的用户。您可以将它们作为相同的密码,但这不建议用于安全性。
现在,让我们登录,创建一个数据库,并创建我们的表!
mysql –user=root -p
在这里,我们调用mysql作为root用户登录。在输入后,系统将提示您输入密码。
现在我们在MySQL客户端,由领先的mysql>指定。尝试输入以下内容:
SHOW DATABASES;
这将输出您拥有的所有现有MySQL数据库。
一个常见的误解是数据库是什么,与表相比。大多数人对数据库的概念实际上更准确一个表。所以一个数据库是什么存储表。表存储数据。数据库可以只包含一个表,但底线是它实际上是包含信息的表。一个表,对于你的典型数据库非常像一个电子表格,具有简单的列和行。有更多高级版本的表和数据库,它们提供更多的维度和更多的选择,尽管典型的数据库只是逐行的。
SHOW DATABASES;
这将输出您拥有的所有现有MySQL数据库。
CREATE DATABASE pythonprogramming;
这将创建一个新的数据库,称为pythonprogramming。
将所有SQL语言放在ALL-CAPS中是惯例。这是因为你打算在你的Python中键入SQL。即使是训练有素的眼睛,也很难辨别什么是Python和什么是SQL。这在所有包含SQL的编程语言中都是如此。
在您键入CREATE DATABASE pythonprogramming; (首先注意和记住,你将总是用分号完成你的线)注意输出: Query OK, 1 row affected (0.00 sec)
这是相当标准的输出语法,你会看到,它是有用的,总是阅读它。如果有错误,你会得到一个错误,但有时你认为你可能只是影响一行,而是影响了数百万。我们会很快谈到更多,但永远记住,MySQL没有’撤销’。木已成舟,覆水难收。我们将在后面讨论一些关于如何做的想法的“最佳实践”
现在我们有了我们的数据库,我们想要一个表,我们要称它为用户。
首先,我们需要输入我们想要使用的数据库,所以我们需要做:
USE pythonprogramming;
很容易忘记这个步骤,特别是因为你将主要通过你的程序与SQL交互,而不是手。
CREATE TABLE users (uid INT(11) AUTO_INCREMENT PRIMARY KEY, username VARCHAR(20), password VARCHAR(100), email VARCHAR(50), settings VARCHAR(32500), tracking VARCHAR(32500), rank INT(3));
现在这可能不是最有效的表,我们可能会更好地使用不同类型的数据比VARCHAR的设置和跟踪,但VARCHAR应该是我们的用途。如果您希望数据库具有可能同时访问的数百万行数据,那么您将需要测试许多数据类型。有许多形式的数字数据,如FLOAT,INT,BIG-INT …等,许多文本,如BLOB。
如果您曾经忘记了表中的列或数据类型,则可以执行以下操作:
DESCRIBE users;
这将输出表结构。
你也可以在这里运行SQL查询,如INSERT,SELECT,UPDATE,DELETE和所有有趣的东西,但我们更感兴趣,通过我们的程序这样做。您还可以在Flask应用程序中创建数据库和表。您可以通过检查表是否存在来执行此操作,如果不存在,则创建它。我发现更容易手工做,但是如果你正在为用户系统创建某种模块,那么你想包括为下载你的模块的人创建初始表。如果你发现自己是一个自由的Web开发人员,一遍又一遍地,你可能想要一个自己的脚本,它也是!
所有这些,我们现在更感兴趣的是让我们的程序连接到MySQL数据库用于插入目的。现在,键入QUIT以退出您的服务器中的MySQL客户端。