Python基础学习-MySQL与Python结合

一、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服务器。
  • 官网下载 只有2.7、3.2、3.3版本的
  • PyMySQL    在github上找了个支持3.4的版本
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'

效果如下:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值