一、MySQL
1、下载安装MySQL 5.0
2、mysql操作
- cmd->
-
mysql -h 主机名 -u 用户名 -p
- -h : 该命令用于指定客户端所要登录的MySQL主机名, 登录当前机器该参数可以省略;
- -u : 所要登录的用户名;
- -p : 告诉服务器将会使用一个密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项。
- MySQL command line client
3、具体SQL语言操作
《21分钟 MySQL 入门教程》
二、mysql-connector-python
由于MySQL服务器以独立的进程运行,并通过网络对外服务,所以,需要支持Python的MySQL驱动来连接到MySQL服务器。
pymysql操作步骤:
序号 | 描述 |
1 | 去github上下载pymysql的安装包 pymysql |
2 | 解压到某个盘符下 |
3 | 打开cmd窗口(win环境下),进入pymysql的根目录下执行命令,python setup.py install |
4 | 在程序里,导入pymysql |
5 | 开始连接数据库 |
数据库操作的API文档连接: http://legacy.python.org/dev/peps/pep-0249/
代码如下:
__author__ = 'qindongliang'
#导入pymysql的包
import pymysql
try:
#获取一个数据库连接,注意如果是UTF-8类型的,需要制定数据库
conn=pymysql.connect(host='localhost',user='root',passwd='qin',db='person',port=3306,charset='utf8')
cur=conn.cursor()#获取一个游标
cur.execute('select * from person')
data=cur.fetchall()
for d in data :
#注意int类型需要使用str函数转义
print("ID: "+str(d[0])+' 名字: '+d[1]+" 性别: "+d[2])
cur.close()#关闭游标
conn.close()#释放数据库资源
except Exception :print("发生异常")
结果如下:
D:\python\python.exe D:/pythonide/pythonprojectworkspace/python/mysql.py
ID: 1 名字: 秦天 性别: 男
ID: 2 名字: 王晶 性别: 女
Process finished with exit code 0
示例来自:
《
如何使用Python3.4连接MySQL》
import pymysql
conn=pymysql.connect(host='localhost',user='root',passwd='****',db='learnpy')
cur=conn.cursor()
sqll_ct='create table students(' \
'id int unsigned not null auto_increment primary key,' \
'name char(32) not null,' \
'sex char(4) not null,' \
'age tinyint unsigned not null);'
cur.execute(sqll_ct)
print("create table done!")
sqll_ins=['insert into students values(NULL,"guodegang","M",38);', \
'insert into students values(NULL,"yuqian","M",47);', \
'insert into students values(NULL,"yangmi","F",27);', \
'insert into students values(NULL,"angelababy ","F",26);', \
'insert into students values(NULL,"wangjukai","M",17);', \
'insert into students values(NULL,"yiyangqianxi","M",16);', \
'insert into students values(NULL,"wangyuan","M",16);', \
'insert into students values(NULL,"liuyifei","F",18);']
for lang in sqll_ins:
cur.execute(lang)
print("insert info done!")
sqll_s='select * from students where sex="M" order by age'
cur.execute(sqll_s)
print("select info done!")
data=cur.fetchall()
for x in data:
print("ID: %s Name: %s Age:%d"%(str(x[0]),x[1],x[3]))
cur.close()
conn.close()
另之前一直name那块不能输入为中文,后来改了几个地方才好:
1、数据库的基字符集:改为utf8或gbk
2、数据库连接时候加上“
charset='utf8'”
效果如下: