[零基础学python]用Python操作数据库(1)

POST TIME: 2014-10-08 14:24:13

在上一讲中已经连接了数据库。就数据库而言,连接之后就要对其操作。但是,目前那个名字叫做qiwsirtest的数据仅仅是空架子,没有什么可操作的,要操作它,就必须在里面建立“表”,什么是数据库的表呢?下面摘抄字维基百科对数据库表的简要解释,要想详细了解,需要看官在找一些有关数据库的教程和书籍来看看。

在关系数据库中,数据库表是一系列二维数组的集合,用来代表和储存数据对象之间的关系。它由纵向的列和横向的行组成,例如一个有关作者信息的名为 authors 的表中,每个列包含的是所有作者的某个特定类型的信息,比如“姓氏”,而每行则包含了某个特定作者的所有信息:姓、名、住址等等。

对于特定的数据库表,列的数目一般事先固定,各列之间可以由列名来识别。而行的数目可以随时、动态变化,每行通常都可以根据某个(或某几个)列中的数据来识别,称为候选键。

我打算在qiwsirtest中建立一个存储用户名、用户密码、用户邮箱的表,其结构用二维表格表现如下:


username password email
qiwsir 123123 qiwsir@gmail.com

特别说明,这里为了简化细节,突出重点,对密码不加密,直接明文保存,虽然这种方式是很不安全的。但是,有不少网站还都这么做的,这么做的目的是比较可恶的。就让我在这里,仅仅在这里可恶一次。

建数据库表并插入数据

为了在数据库中建立这个表,需要进入到mysql>交互模式中操作。道理在于,如果qiwsirtest这个屋子里面没有类似家具的各种数据库表,即使进了屋子也没有什么好操作的东西,因此需要先到mysql>模式下在屋子里面摆家具。

进入数据库交互模式:



qw@qw-Latitude-E4300:~$ mysql -u root -p
Enter password:



调用已经建立的数据库:qiwsirtest



mysql> use qiwsirtest;
Database changed
mysql> show tables;
Empty set (0.00 sec)



用show tables命令显示这个数据库中是否有数据表了。查询结果显示为空。

下面就用如下命令建立一个数据表,这个数据表的内容就是上面所说明的。



mysql> create table users(id int(2) not null primary key auto_increment,username varchar(40),password text,email text)default charset=utf8;
Query OK, 0 rows affected (0.12 sec)



建立的这个数据表名称是:users,其中包含上述字段,可以用下面的方式看一看这个数据表的结构。



mysql> show tables;
+----------------------+
| Tables_in_qiwsirtest |
+----------------------+
| users                |
+----------------------+
1 row in set (0.00 sec)



查询显示,在qiwsirtest这个数据库中,已经有一个表,它的名字是:users。



mysql> desc users;
+----------+-------------+------+-----+---------+----------------+
| Field    | Type        | Null | Key | Default | Extra          |
+----------+-------------+------+-----+---------+----------------+
| id       | int(2)      | NO   | PRI | NULL    | auto_increment |
| username | varchar(40) | YES  |     | NULL    |                |
| password | text        | YES  |     | NULL    |                |
| email    | text        | YES  |     | NULL    |                |
+----------+-------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)



显示表users的结构:





特别提醒:在这里,我没有对每个字段做注入不得为空等设置,在真正的开发中,或许必须让username和password不得为空。

这个结构和上面所期望的结构是一样的,只不过这个表中还没有任何数据,是一个空表。可以查询一下看看:



mysql> select * from users;
Empty set (0.01 sec)



目前表是空的,为了能够在后面用python操作这个数据表,需要向里面插入点信息,就只插入一条吧。



mysql> insert into users(username,password,email) values("qiwsir","123123","qiwsir@gmail.com");
Query OK, 1 row affected (0.05 sec)

mysql> select * from users;
+----+----------+----------+------------------+
| id | username | password | email            |
+----+----------+----------+------------------+
|  1 | qiwsir   | 123123   | qiwsir@gmail.com |
+----+----------+----------+------------------+
1 row in set (0.00 sec)



到目前为止,在mysql>中的工作已经完成了,接下来就是用python操作了。


3 条记录 1/3 页 下一页 123

文章转载请注明出处:https://www.ynxy999.com/Article/view/id/1688.shtml

分享到:
同步推拟10.7亿元卖身台湾乐升 曾获李开复投资 Twitter起诉FBI 要求披露更多监控信息

告诉我们您的需求

  我们将在一个工作日之内回复您
昆明地址:新闻路429号文化空间25层1055711410
安宁地址:安宁市县街镇麒麟路17号云南经济管理学院图书馆406室、305室ynxy999_com
免费热线:15287195860
售前热线:0871-68034467-999

Copyright 2011-2018,All Rights Reserved ynxy999.com co.ltd.云南炫烨科技有限公司 Powered by ynxy999.com 滇公网安备 53010202000225号  滇ICP备15002943号  [技术支持昆明锦华科技]