Python 操作数据库(1)

  • 时间:
  • 浏览:0

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

调用不可能 建立的数据库:mytest

下面就用如下命令建立三个 数据表,什儿 数据表的内容假如有一天中间所说明的。

在到"mysql>"中运行"select * from users"试一试:

到"mysql>"中间看结果:

进入数据库交互模式:

连接成功时候,时候开始英文英文英文操作。注意:MySQLdb用游标(指针)cursor的法子操作数据库,假如有一天没办法 :

咦,奇怪呀。缘何没办法 看一遍增加的那二根呢?哪里错了?没办法 中间也没办法 报错呀。

在这里,特别请列位看官注意,通过"cur.execute()"对数据库进行操作时候,没办法 报错,删剪正确,或者 不等于数据就不可能 提交到数据库中了,还不需要 要用到"MySQLdb.connect"的三个 属性:commit(),将数据提交上去,也假如有一天进行了"cur.execute()"操作,要将数据提交,不需要 执行:

下面用cursor()提供的法子来进行操作,法子主假如有一天:

到目前为止,在mysql>中的工作不可能 完成了,接下来假如有一天用python操作了。

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

什儿 结构和中间所期望的结构是一样的,只不过什儿 表中还没办法 任何数据,是三个 空表。还不需要 查询一下看看:

查询显示,在mytest什儿 数据库中,不可能 三个 表,它的名字是:users。

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

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

再尝试一下插入多条的那个命令"executemany(query,args)".

为了在数据库中建立什儿 表,不需要 进入到mysql>交互模式中操作。道理在于,不可能 mytest什儿 屋子中间没办法 类式 家具的各种数据库表,即使进了屋子也没哪些好操作的东西,或者 不需要 先到mysql>模式下在屋子中间摆家具。

特别说明,这里为了错综复杂细节,突出重点,对密码不加密,直接明文保存,嘴笨 什儿 法子是很不安全的。

完成连接的过程,嘴笨 是建立了三个 MySQLdb.connect()的实例对象conn,没办法 什儿 对象哪些属性呢?

建立的什儿 数据表名称是:users,其暗含有上述字段,还不需要 用下面的法子看一看什儿 数据表的结构。

目前表是空的,为了不需要 在中间用python操作什儿 数据表,不需要 向中间插入点信息,就只插入二根吧。

类式 ,要在数据表users中插入二根记录,使得:username="python",password="123456",email="python@gmail.com",没办法 做:

不可能 会插入了,或者 就还不需要 有更多动作。

因该模块底层嘴笨 是调用CAPI的,可是我 ,不需要 先得到当前指向数据库的指针。这也就提醒亲戚我们我们我们 ,在操作数据库的时候,指针会移动,不可能 移动到数据库最后二根了,再查,就查没得哪些来了。看一遍面的例子就明白了。

要对数据库进行操作,不需要 先连接它。中间就会讲解怎样才能在任务管理器池池中自动完成了。

成功插入了多条记录。特别请注意的是,在"executemany(query,args)"中,query还是二根sql话语,或者 args这时候是三个 tuple,什儿 tuple中间的元素也是tuple,每个tuple分别对应sql话语中的字段列表。这句话嘴笨 被执行多次。只不过执行过程不显示给亲戚我们我们我们 看罢了。

显示表users的结构:

没办法 报错,或者 返回三个 "1L"结果,说明有一行记录操作成功。不妨用"mysql>"交互法子查看一下:

good,very good。简直没办法 。这就如同编写三个 文本一样,将文字写到文本上,何必 等于文字不可能 保留在文本文件中了,不需要 执行"CTRL-S"不需要 保存。也假如有一天在通过python操作数据库的时候,以"execute()"执行各种sql话语时候,要让不可能 执行的效果保存,不需要 运行"commit()",不需要 提醒,什儿 属性是"MySQLdb.connect()"实例的。

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