python16Mysql数据库

本文介绍如何安装MySQL并进行基本操作,包括连接数据库、执行SQL语句、插入及查询数据等。涵盖MySQL配置、Python驱动安装及常见游标操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用 MySQL
MySQL
Web世界中使用最广泛的数据库服务器。MySQL内部有多种数据库引擎,最常用的引擎是支持数据库事务的InnoDB
1.
安装MySQL
一定要进行设置密码,确保数据库安全;
配置文件为/etc/my.cnf;
修改数据库默认的编码全部改为 UTF­8;
查看编码格式:show variables like '%char%';
安装MySQL­python,封装了 MySQL C 驱动的 Python驱动。
2.
建立MySQL连接
conn = MySQLdb.connect(host='localhost', \
    user='root',passwd='123456', \
    db='testpython', \
    port=3306,charset='utf8')
host : MySQL
数据库地址
user:
数据库登陆用户名
passwd:
数据库登陆密码
db:
登陆数据库后,需要操作的库名
port:
数据库监听端口,默认为 3306
charset:
数据库编码
3.MySQL
连接操作
• commit()
如果数据库表进行了修改,提交保存当前的数据。
• rollback()
如果有权限,就取消当前的操作,否则报错
• cursor()
游标指针。

4.
游标操作
#
创建一个数据库游标
In [3]: cur = conn.cursor()
cursor()
提供的方法来进行操作,方法主要是:
1).
执行命令
2).
接收结果
cursor
执行命令的方法:
•execute(query, args):
执行单条 sql语句。 query sql语句
本身, args为参数值的列表。执行后返回值为受影响的行数。
•executemany(query, args):
执行单条 sql语句 ,但是重复执行
参数列表里的参数 ,返回值为受影响的行数
conn.commit()  #
提交事务
5.
插入数据
日常工作中,大多数会先拼接一个 SQL 语句 然后再执行,实现插入数据的操作
sql = "INSERT INTO member (username,password,email)
values ('%s','%s','%s')" % ('walter.liu','123456','zheshiz2@163.com')
cur.execute(sql)
conn.commit()
6.
查询数据
• fetchall(self):
接收全部的返回结果行 .
• fetchmany(size=None):
接收 size条返回结果行 .如果 size的值大于返
回的结果行的数量 ,则会返回cursor.arraysize条数据 .
• fetchone():
返回一条结果行 .
• scroll(value, mode='relative'):
移动指针到某一行 .
如果 mode='relative',则表示从当前所在行移动value ;
如果 mode='absolute',则表示从结果集的第一行移动 value;
#
一个完整的数据库操作
conn =MySQLdb.connect(host='localhost',user='root',passwd='westos',charset="utf8")
cur = conn.cursor()
cur.execute('create database redhat;')
cur.execute('use redhat;')
try:
   sqli = "insert into userinfovalues(%s,%s)"
   cur.executemany(sqli,[('a',1),('b','2','3')])
except BaseException,e:
   print 'Error:%s' % e
conn.commit()
cur.close()
conn.close()

#
快速插入多条数据
sqli = "insert into userinfo values(%s,%s)"
cur.executemany(sqli, [('a',1),('b','2')])


#
查看表的内容
cur.execute('select * from userinfo;')
cur.fetchone()
cur.fetchall()
cur.fetchmany()


#
移动游标
cur.scroll(0,'absolute')
   # cur.scroll(value,mode)
   #    mode= 'relative',
表示从当前游标向后移动value条数据;
   #    mode= 'absolute',
表示从结果集的第一行向后移动value条数据;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值