mysql基础设置
1.下载
yum install mariadb-server MySQL-python -y
sytemctl start mariadb
mysql_secure_installation
2.utf-8
vim /etc/my.cnf
charset = utf-8
systemctl restart mariadb
python操作mysql
MySQL连接操作
##导入模块
import MySQLdb
##建立数据库连接
conn = MySQLdb.connect(host='localhost',user='root',passwd='westos')
hostname 主机名 user 用户 passwd 密码 charset='utf8' 数据库编码
##创建一个数据库游标
cur = conn.cursor()
##提交操作(在上传数据后使用)
conn.commit()
##关闭游标
cur.close()
##断开连接
conn.close()
游标操作
# cur.execute游标操作
##创建表
In [4]: cur.execute('use python716')
Out[4]: 0L
In [5]: cur.execute('create table userinfo(username varchar(20),passwd varchar(20));')
Out[5]: 0L
##快速插入多条数据
sqli = “insert into userinfo values(%s,%s)”
cur.executemany(sqli,[(),(),…]) ##插入多条数据(以列表插入)
cur.execute(sqli,()) ##插入单条数据
In [8]: cur.execute('use python716') ##进入数据库
Out[8]: 0L
In [9]: sqli = "insert into userinfo values(%s,%s)"
In [10]: cur.executemany(sqli,[('a',1),('b',2)]) ##插入数据
Out[10]: 2L
In [11]: cur.executemany(sqli,[('c',1),('d',2)])
Out[11]: 2L
In [12]: conn.commit() ##提交插入的数据
##查询数据
cur.execute(‘select * from userinfo’)
cur.fetchall(self): 接收全部的返回结果行
cur.fetchmany(size=None): 接收 size 条返回结果行 . 如果 size 的值大于返回的结果行的数量 , 则会返回 cursor.arraysize 条数据 .
cur.fetchone(): 返回一条结果行
##移动游标
scroll(value, mode=’relative’): 移动指针到某一行 .
如果 mode=’relative’, 则表示从当前所在行移动 value 条 ;
如果 mode=’absolute’, 则表示从结果集的第一行移动 value 条;
In [13]: cur.execute('select * from userinfo') ##查看表
Out[13]: 4L
In [14]: cur.fetchall() ##查看所有结果
Out[14]: (('a', '1'), ('b', '2'), ('c', '1'), ('d', '2'))
In [15]: cur.fetchall() ##由于游标已经到结尾,所以返回值为空
Out[15]: ()
In [16]: cur.scroll(0,'absolute') ##移动游标到起点