Python 安装数据库
MySQL pip install mysqlclient
Oracle pip install cx_Oracle https://cx-oracle.readthedocs.io/en/latest/installation.html#install-cx-oracle
若MySQL 安装失败,去下载对应版本的包 https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient到\Python\Scripts目录下
注意使用 pip install XX.whl安装前需要保证已安装wheel
以MySQL为例 ,导入并创建MySQLdb对象
import MySQLdb
#创建一个Connent对象
connention = MySQLdb.connect(
host='xxx.xxx.xxx.xxx', #数据库ip
user='xxx',
passwd='xxx',
db='xxx', #数据库名
charset='xxx' #数据编码方式
# show variables like 'character_set_database' 可查看编码方式
)
对MySQLdb对象进行查询和处理
c=Connection.cursor() #返回一个cursor对象,游标
c.execute("select * from table") #执行查询语句
print(c.rowcount) #打印查询语句的返回行
row1 = c.fetchone() #获取单个查询结果内容信息
rows = c.fetchall() #获取所有的查询结果内容信息,返回的是每一行列表的信息
for row in rows:
print(row)
插入数据
c.execute("insert into sq_course (name, `desc`,display_idx) values('JAVA04','JAVA04的描述',1)")
Connection.commit()
注意,对数据库有修改的时候如插、修改、删除等,需要加上commit()
插入多条数据
# 直接插入数据
c.execute('''insert into sq_course (name, `desc`,display_idx) values
('Test00001','Test00001的描述',1),
('Test00002','Test00002的描述',1),
('Test00003','Test00003的描述',1),
('Test00004','Test00004的描述',1),
('Test00005','Test00005的描述',1),
('Test00006','Test00006的描述',1),
('Test00007','Test00007的描述',1),
('Test00008','Test00008的描述',1),
('Test00009','Test00009的描述',1),
('Test000010','Test000010的描述',1),
('Test000011','Test000011的描述',1),
('Test000012','Test000012的描述',1)
''')
c.commit()
读取文件后,插入数据
idx = 0
with open('filename',encoding='utf8') as f:
lines = f.read().splitlines()
for line in lines:
idx += 1
if line: # line不为空
sql = "insert into sq_course (name, `desc`,display_idx) values(%s)" % line
c.execute(sql)
print(idx) #当前执行的条数
c.commit()
Connention.close() 关闭数据库连接