普通的安装连接数据库,在dos里面,用pip工具,pip install pymysql,等待成功就行了。
pycharm,应该是java开发工具idea一个公司,风格很像,用pycharm做数据库连接,相当简单,因为它本身是一个集成工具,pip等工具都有。
首先点击这里的file->setting->project->project interperter,双击右侧出现的pip,弹出安装包选择页面,我们在搜索里面,输入pysql
,这里选择pyMysql,可也以根据使用喜好选择其他数据库工具。右侧会出现该安装包的介绍信息,在左侧浏览包列表中,单机下方的install
package,然后等待30秒,安装成功。
首先条件,你电脑上要有已经安装好的mysql,建议用5.5以及以上版本,并且打开数据库,数据库可视化工具随便,本人用的navacate(习惯了),然后之后如何创建连接以及创建数据库等,不做介绍。
最后,在你的测试py中,可以输入以下代码,然后运行测试。
建表语句:CREATE TABLE `login` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_name` varchar(22) DEFAULT NULL,
`pass_word` varchar(22) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;
插入6条测试数据:
INSERT INTO `login` VALUES ('1', '222', '333');
INSERT INTO `login` VALUES ('2', '333', '44');
INSERT INTO `login` VALUES ('3', 'hhh', '555');
INSERT INTO `login` VALUES ('4', '234', '4333');
INSERT INTO `login` VALUES ('5', 'err', 'eee');
INSERT INTO `login` VALUES ('7', '中兴', '123');
pycharm的py文件中,测试连接代码;
import pymysql
##connection 用于数据库连接,获取数据库对象,cursor,数据库交互对象,exception数据库异常类
##流程:创建connection,创建数据库连接对象,然后调用cursor方法,返回cursor对象,对数据库进行操作,cursor调用##方法,执行命令,获取数据处理出数据,然后关闭cursor,关闭cnnection(否则占用资源),结束。
##connection对象的方法:cursor():使用该链接并返回游标,commit()提交当前事务,rollback()回滚当前事务,##close()关闭连接 。
##游标对象,由于执行查询和获取结果。excute(),执行数据库查询和命令,将数据库语句送到数据库执行,数据库将对象##返回客户端缓冲池。fetchone()去的结果集的下一行。##fetchmany(size)获取结果集的下几行,fetchall():获取结果##集中的剩下所有行,rowcount():最近一次execute返回数##据的行数或者影响的行数。close():关闭是游标对象。##fetch*()方法,通过rownumber指针返回数据,比如开始时候,rownumber=0,调用fetchone,ruwnumber+1,返回第一条数据。
# 建立数据库连接 conn = pymysql.Connect( host='localhost',##mysql服务器地址 port=3306,##mysql服务器端口号 user='root',##用户名 passwd='',##密码 db='python',##数据库名 charset='utf8'##连接编码 ) # 获取游标 cursor = conn.cursor() # print(conn) # print(cursor) # 1、从数据库中查询 # sql="INSERT INTO login(user_name,pass_word)" sql = "SELECT *FROM login" # cursor执行sql语句 cursor.execute(sql) # 打印执行结果的条数 print(cursor.rowcount) # 使用fetch方法进行遍历结果 总共有三条数据 # rs=cursor.fetchone()#将第一条结果放入rs中 # re=cursor.fetchmany(3)#将多个结果放入re中 rr = cursor.fetchall() # 将所有的结果放入rr中 # 对结果进行处理 for row in rr: print("ID是:=%s, 姓名是:=%s, 密码是:=%s" % row) # print(re)#输出两条数据,因为fetch()方法是建立在上一次fetch()方法基础上的 # 2数据库中插入数据 sql_insert = "INSERT INTO login(user_name,pass_word) values('中兴','123')" # 执行语句 cursor.execute(sql_insert) # 事务提交,否则数据库得不到更新 conn.commit() print(cursor.rowcount) #数据库插入多条数据
sql_many="insert into login(user_name,pass_word)values(%s,%s)"
data=[('admin3','admin3'),('admin3','admin3'),('admin3','admin3')]cursor.executemany(sql,data)//插入多条数据,批量操作。
# 修改数据库中的内容 sql_update = "UPDATE login SET user_name='hhh' WHERE id=3" cursor.execute(sql_update) conn.commit() # 删除数据库中的内容,并利用try catch语句进行事务回滚 try: sql_delete = "DELETE FROM login WHERE id=6" cursor.execute(sql_delete) conn.commit() except Exception as e: print(e) # 事务回滚,即出现错误后,不会继续执行,而是回到程序未执行的状态,原先执行的也不算了 conn.rollback() # 数据库连接和游标的关闭 conn.close() cursor.close()特别感谢
具体可以参考该博客,博主just_so_so_fnc
http://blog.youkuaiyun.com/just_so_so_fnc/article/details/72995731