当前位置:首页 » 编程语言 » python插入

python插入

发布时间: 2022-07-14 19:55:08

Ⅰ 如何使用python连接数据库,插入并查询数据

你可以访问Python数据库接口及API查看详细的支持数据库列表。不同的数据库你需要下载不同的DB API模块,例如你需要访问Oracle数据库和Mysql数据,你需要下载Oracle和MySQL数据库模块。
DB-API 是一个规范. 它定义了一系列必须的对象和数据库存取方式, 以便为各种各样的底层数据库系统和多种多样的数据库接口程序提供一致的访问接口 。
Python的DB-API,为大多数的数据库实现了接口,使用它连接各数据库后,就可以用相同的方式操作各数据库。
Python DB-API使用流程:

引入 API 模块。
获取与数据库的连接。
执行SQL语句和存储过程。
关闭数据库连接。

什么是MySQLdb?

MySQLdb 是用于Python链接Mysql数据库的接口,它实现了 Python 数据库 API 规范 V2.0,基于 MySQL C API 上建立的。

如何安装MySQLdb?

为了用DB-API编写MySQL脚本,必须确保已经安装了MySQL。复制以下代码,并执行:
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import MySQLdb

如果执行后的输出结果如下所示,意味着你没有安装 MySQLdb 模块:
Traceback (most recent call last):
File "test.py", line 3, in <mole>
import MySQLdb
ImportError: No mole named MySQLdb

安装MySQLdb,请访问 ,(Linux平台可以访问:)从这里可选择适合您的平台的安装包,分为预编译的二进制文件和源代码安装包。
如果您选择二进制文件发行版本的话,安装过程基本安装提示即可完成。如果从源代码进行安装的话,则需要切换到MySQLdb发行版本的顶级目录,并键入下列命令:
$ gunzip MySQL-python-1.2.2.tar.gz
$ tar -xvf MySQL-python-1.2.2.tar
$ cd MySQL-python-1.2.2
$ python setup.py build
$ python setup.py install

注意:请确保您有root权限来安装上述模块。

数据库连接

连接数据库前,请先确认以下事项:

您已经创建了数据库 TESTDB.
在TESTDB数据库中您已经创建了表 EMPLOYEE
EMPLOYEE表字段为 FIRST_NAME, LAST_NAME, AGE, SEX 和 INCOME。
连接数据库TESTDB使用的用户名为 "testuser" ,密码为 "test123",你可以可以自己设定或者直接使用root用户名及其密码,Mysql数据库用户授权请使用Grant命令。
在你的机子上已经安装了 Python MySQLdb 模块。
如果您对sql语句不熟悉,可以访问我们的 SQL基础教程

实例:

以下实例链接Mysql的TESTDB数据库:
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import MySQLdb

# 打开数据库连接
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# 使用cursor()方法获取操作游标
cursor = db.cursor()

# 使用execute方法执行SQL语句
cursor.execute("SELECT VERSION()")

# 使用 fetchone() 方法获取一条数据库。
data = cursor.fetchone()

print "Database version : %s " % data

# 关闭数据库连接
db.close()

执行以上脚本输出结果如下:
Database version : 5.0.45

创建数据库表

如果数据库连接存在我们可以使用execute()方法来为数据库创建表,如下所示创建表EMPLOYEE:
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import MySQLdb

# 打开数据库连接
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# 使用cursor()方法获取操作游标
cursor = db.cursor()

# 如果数据表已经存在使用 execute() 方法删除表。
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")

# 创建数据表SQL语句
sql = """CREATE TABLE EMPLOYEE (
FIRST_NAME CHAR(20) NOT NULL,
LAST_NAME CHAR(20),
AGE INT,
SEX CHAR(1),
INCOME FLOAT )"""

cursor.execute(sql)

# 关闭数据库连接
db.close()

数据库插入操作

以下实例使用执行 SQL INSERT 语句向表 EMPLOYEE 插入记录:
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import MySQLdb

# 打开数据库连接
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# 使用cursor()方法获取操作游标
cursor = db.cursor()

# SQL 插入语句
sql = """INSERT INTO EMPLOYEE(FIRST_NAME,
LAST_NAME, AGE, SEX, INCOME)
VALUES ('Mac', 'Mohan', 20, 'M', 2000)"""
try:
# 执行sql语句
cursor.execute(sql)
# 提交到数据库执行
db.commit()
except:
# Rollback in case there is any error
db.rollback()

# 关闭数据库连接
db.close()

以上例子也可以写成如下形式:
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import MySQLdb

# 打开数据库连接
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# 使用cursor()方法获取操作游标
cursor = db.cursor()

# SQL 插入语句
sql = "INSERT INTO EMPLOYEE(FIRST_NAME, \
LAST_NAME, AGE, SEX, INCOME) \
VALUES ('%s', '%s', '%d', '%c', '%d' )" % \
('Mac', 'Mohan', 20, 'M', 2000)
try:
# 执行sql语句
cursor.execute(sql)
# 提交到数据库执行
db.commit()
except:
# 发生错误时回滚
db.rollback()

# 关闭数据库连接
db.close()

实例:

以下代码使用变量向SQL语句中传递参数:
..................................
user_id = "test123"
password = "password"

con.execute('insert into Login values("%s", "%s")' % \
(user_id, password))
..................................

数据库查询操作

Python查询Mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取多条数据。

fetchone(): 该方法获取下一个查询结果集。结果集是一个对象
fetchall():接收全部的返回结果行.
rowcount: 这是一个只读属性,并返回执行execute()方法后影响的行数。

实例:

查询EMPLOYEE表中salary(工资)字段大于1000的所有数据:
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import MySQLdb

# 打开数据库连接
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# 使用cursor()方法获取操作游标
cursor = db.cursor()

# SQL 查询语句
sql = "SELECT * FROM EMPLOYEE \
WHERE INCOME > '%d'" % (1000)
try:
# 执行SQL语句
cursor.execute(sql)
# 获取所有记录列表
results = cursor.fetchall()
for row in results:
fname = row[0]
lname = row[1]
age = row[2]
sex = row[3]
income = row[4]
# 打印结果
print "fname=%s,lname=%s,age=%d,sex=%s,income=%d" % \
(fname, lname, age, sex, income )
except:
print "Error: unable to fecth data"

# 关闭数据库连接
db.close()

以上脚本执行结果如下:
fname=Mac, lname=Mohan, age=20, sex=M, income=2000

数据库更新操作

更新操作用于更新数据表的的数据,以下实例将 TESTDB表中的 SEX 字段全部修改为 'M',AGE 字段递增1:
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import MySQLdb

# 打开数据库连接
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# 使用cursor()方法获取操作游标
cursor = db.cursor()

# SQL 更新语句
sql = "UPDATE EMPLOYEE SET AGE = AGE + 1
WHERE SEX = '%c'" % ('M')
try:
# 执行SQL语句
cursor.execute(sql)
# 提交到数据库执行
db.commit()
except:
# 发生错误时回滚
db.rollback()

# 关闭数据库连接
db.close()

删除操作

删除操作用于删除数据表中的数据,以下实例演示了删除数据表 EMPLOYEE 中 AGE 大于 20 的所有数据:
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import MySQLdb

# 打开数据库连接
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# 使用cursor()方法获取操作游标
cursor = db.cursor()

# SQL 删除语句
sql = "DELETE FROM EMPLOYEE WHERE AGE > '%d'" % (20)
try:
# 执行SQL语句
cursor.execute(sql)
# 提交修改
db.commit()
except:
# 发生错误时回滚
db.rollback()

# 关闭连接
db.close()

执行事务

事务机制可以确保数据一致性。

事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。

原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。
一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
持久性(rability)。持续性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。

Python DB API 2.0 的事务提供了两个方法 commit 或 rollback。

Ⅱ python怎么在word表中插图片

# -*- coding: UTF8 -*-from docx import Documentfrom docx.shared import Pt doc = Document() # 文件存储路径path = "C:\\Users\\Administrator\\Desktop\\word文档\\" # 读取文档# doc = Document(path + "hello.docx") # 添加图片,后面的参数设置图片尺寸,可以选填doc.add_picture(path + 'cat.jpg', width=Pt(300))

Ⅲ Python如何一次插入多行数据

你学习过数据库吗?

方法是多种的,这里以mysql为例!

1、用phpmyadmin,登录进去,然后查看你的数据库,插入数值,很快你就会录入完成了

2、用python操作数据库,这里也是mysql, 首先要安装pymsql模块,这样你就可以读取数据库了

连接数据库,查看,插入,确认完成

具体

conn=pymysql.Connect(user=username,passwd=password,database=database,charset=charset)
cur=conn.cursor()
cur.execute('select*fromtable')
cur.executemany(......)
conn.commit()
##username,password,dtabase,都是你自己数据库的设置,命令自己去学下,5分钟就会,特别是executemany可以批量执行插入,其实execute也可以

Ⅳ python 插入行

加了一行,i要加2,不然空行会参加对比

Ⅳ python中列表的这种插入怎么理解

LZ,列表是python数据结构之一,而切片处理是列表常见的数据处理方法,,,
列表中的每个元素都分配一个数字(索引),第一个是0,第二个是1,元素倒数时则以1开始,,,
L[2]为读取第三个元素: L[2] = 2
L[2:]为从第三个元素开始截取列表: L[2:] = [2,3,4]
L[:2]为截取第三个元素之前的列表: L[:2] = [0,1]
L[2:2]=[8,9]即:以第三个元素前开始,第三个之前结束,,,就是说在第三个元素之前插入[8,9]: L=[0, 1, 8, 9, 2, 3, 4]
另外插入赋值时必须用列表操作符“[ ]”,,
Python的灵活多变,有时候需要多动手操作才能理解囖,,科科,,,

Ⅵ python怎么在字符串中插入字符

1、添加字符实现

添加字符或字符串

如果想在字符串 土堆 后面或者前面添加 碎念 字符串。
可以使用 + 号实现字符串的连接,或者使用方法 .join() 来连接字符串。
.join() 方法

官方是这样介绍的:
S.join(iterable) -> str Return a string which is the concatenation of the strings in the iterable. The separator between elements is S.
.join() 方法中传递的参数需要是可迭代的,另外,是使用S作为可迭代参数的分割。
通过以上几点,我们可以这样理解:
a.join(b) ,比如 b=123456,是可以迭代的。这个方法的作用就是把a插入到b中每个字符中。1a2a3a4a5a6就是输出。
''.join([a, b]) 是比较常见的用法。 '' 是空字符,意味着在a, b之间加入空字符,也就是将a, b进行了连接。
实现添加
a = '撒旦士大试试夫'
b = '土堆试夫'
print(a + b)print(''.join([a, b]))
2、插入字符实现

首先将字符串转换为列表,然后使用列表的 .insert() 方法来插入字符。
.insert() 用法

L.insert(index, object) -- insert object before index

注意: .insert() 方法不返回参数,直接在对 L 进行修改。
将对象插入到指定位置的前面。比如 ['a', 'b'].insert(1, 'c') ,那么最后的输出就是`['a', 'c', 'b']。
这个方法是属于列表的方法。
实现插入

a = '撒旦士大试试夫'
b = '土堆'str_list = list(a)str_list.insert(4, b)a_b = ''.join(str_list)

Ⅶ python怎么用insert函数插入多个值

a=[1,2,3,9,10]
b=[4,5,6,7,8]
c=a[:3]+b+a[3:]
print(c)
#[1,2,3,4,5,6,7,8,9,10]


#Solution2:uselist.insert(index,element)
a=[1,2,3,9,10]
b=[4,5,6,7,8]
index=3
foriinb[::-1]:
a.insert(index,i)
print(a)
#[1,2,3,4,5,6,7,8,9,10]

Ⅷ python列表中依次插入不同元素

可以使用append()方法,或者extend()方法,还可使用insert()方法。insert()主要用来插入元素,当向列表末尾添加元素时,还是应该使用append()方法。
通过使用“+”运算符可以将多个序列进行连接,列表也不例外。
使用“+”运算符,确实可以像列表中添加元素。但是这种方式的执行效率并不高,大家可以使用列表提供的append()方法。Pythonappend()方法添加元素,append()方法用于在列表的末尾追加元素。

Ⅸ 急求大神指教:怎样用python在指定文件中的指定行插入一句话呢

1、打开pycharm开发工具,在python项目中,定义列表变量b1并赋值。

热点内容
安卓系统怎么注册不了ins 发布:2024-05-19 14:01:00 浏览:960
买服务器后怎么搭建功能 发布:2024-05-19 14:00:03 浏览:207
windows文件夹图标下载 发布:2024-05-19 13:25:44 浏览:689
数据库存储数据类型 发布:2024-05-19 13:25:28 浏览:584
电脑开机密码忘记了如何解锁没有管理员窗口 发布:2024-05-19 13:24:50 浏览:277
畅捷支付刷脸机如何设置密码 发布:2024-05-19 13:03:10 浏览:764
java麻将 发布:2024-05-19 13:03:00 浏览:433
存储过程大数据游标 发布:2024-05-19 13:00:50 浏览:515
内存存储价格 发布:2024-05-19 13:00:48 浏览:389
隔离期的算法 发布:2024-05-19 12:55:13 浏览:530