Python 操作数据库(1)

  • 时间:
  • 浏览:0
  • 来源:uu快三_uu快三直播_uu快三官网开奖平台

成功插入了多条记录。有点硬请注意的是,在"executemany(query,args)"中,query还是三根sql语录,或者args这随后 是一个tuple,什儿 tuple里面的元素也是tuple,每个tuple分别对应sql语录中的字段列表。这句话随便说说被执行多次。只不过执行过程不显示给我们 看罢了。

或者会插入了,或者就可不都可以有更多动作。

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

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

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

相似,要在数据表users中插入三根记录,使得:username="python",password="123456",email="python@gmail.com",那我做:

连接成功随后 ,随后开使 操作。注意:MySQLdb用游标(指针)cursor的办法操作数据库,可是我那我:

为了在数据库中建立什儿 表,需用进入到mysql>交互模式中操作。道理在于,或者mytest什儿 屋子里面没人相似家具的各种数据库表,即使进了屋子也没人哪此好操作的东西,或者需用先到mysql>模式下在屋子里面摆家具。

什儿 特征和里面所期望的特征是一样的,只不过什儿 表中还没人任何数据,是一个空表。可不都可以查询一下看看:

因该模块底层随便说说是调用CAPI的,可是我,需用先得到当前指向数据库的指针。这也就提醒我们 ,在操作数据库的随后 ,指针会移动,或者移动到数据库最后三根了,再查,就查没人了哪此来了。想看 面的例子就明白了。

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

显示表users的特征:

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

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

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

进入数据库交互模式:

到目前为止,在mysql>中的工作或者完成了,接下来可是我用python操作了。

咦,奇怪呀。为什会么会没人想看 增加的那三根呢?哪里错了?那我里面也没人报错呀。

有点硬说明,这里为了复杂性细节,突出重点,对密码不加密,直接明文保存,随便说说什儿 办法是很不安全的。

good,very good。你以为没人。这就如同编写一个文本一样,将文字写到文本上,何必 等于文字或者保留在文本文件中了,需用执行"CTRL-S"也能保存。也可是我在通过python操作数据库的随后 ,以"execute()"执行各种sql语录随后 ,要让或者执行的效果保存,需用运行"commit()",需用提醒,什儿 属性是"MySQLdb.connect()"实例的。

调用或者建立的数据库:mytest

建立的什儿 数据表名称是:users,其中饱含上述字段,可不都可以用下面的办法看一看什儿 数据表的特征。

下面就用如下命令建立一个数据表,什儿 数据表的内容可是我里面所说明的。

查询显示,在mytest什儿 数据库中,或者一个表,它的名字是:users。

要对数据库进行操作,需用先连接它。里面就会讲解怎么在应用应用程序中自动完成了。

完成连接的过程,随便说说是建立了一个MySQLdb.connect()的实例对象conn,没人什儿 对象有哪此属性呢?

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

到"mysql>"里面看结果:

目前表是空的,为了也能在里面用python操作什儿 数据表,需用向里面插入点信息,就只插入三根吧。

下面用cursor()提供的办法来进行操作,办法主可是我:

在这里,有点硬请列位看官注意,通过"cur.execute()"对数据库进行操作随后 ,没人报错,删改正确,或者不等于数据就或者提交到数据库中了,还需用要用到"MySQLdb.connect"的一个属性:commit(),将数据提交上去,也可是我进行了"cur.execute()"操作,要将数据提交,需用执行: