pymysql 安装介绍及pycharm内基础操作介绍
以下,均在pycharm里面实现,
介绍分为
1、pymysql的基本介绍,
2、在pycharm里面创建database以及基本操作
================================================================
PyMySQL含义:
PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。
安装:
1、Git下载地址:https://github.com/PyMySQL/PyMySQL。(下载.zip包进行解压安装)
或者 手动git命令行操作方式安装:
git clone https://github.com/PyMySQL/PyMySQL
cd PyMySQL/
python setup.py install
2、pip 命令安装 PyMySQL: pip install PyMySQL(推荐:简单方便快捷)
pymysql模块说明:-------------------------------------------------------
▌Connection对象
表示:conn=connect(参数列表)
作用:用于建立与数据库的连接;
创建对象:调用connect()方法;
参数列表:
host:连接的mysql主机,如本机是'localhost';
port:连接的mysql主机的端口,默认是3306;
database:数据库的名称;
user:连接的用户名;
password:连接的密码;
charset:通信采用的编码方式,推荐使用utf8;
▌对象的方法
对象方法如下:
close():关闭连接;
commit():提交;
cursor():返回Cursor对象,用于执行sql语句并获得结果;
execute(operation [, parameters ]):执行语句,返回受影响的行数,主要用于执行insert、update、delete语句,也可以执行create、alter、drop等语句;
fetchone():执行查询语句时,获取查询结果集的第一个行数据,返回一个元组;
fetchall():执行查询时,获取结果集的所有行,一行构成一个元组,再将这些元组装入一个元组返回;
关于pymysql防注入,字符串拼接查询,容易造成注入,为了避免注入,使用pymysql提供的参数化语句;
▌Cursor对象
游标(cursor)就是游动的标识,通俗的说,一条sql取出对应n条结果资源的接口/句柄,就是游标,沿着游标可以一次取出一行。
用于执行sql语句,使用频度最高的语句为select、insert、update、delete;
获取Cursor对象:调用Connection对象的cursor()方法:cs1=conn.cursor()
▌对象的属性
rowcount只读属性,表示最近一次execute()执行后受影响的行数;
connection获得当前连接对象;
创建实例:--------------------------------------------------------------------
1、安装好pymysql之后进行创建database(同mysql一样:例:CREATE DATABASE TEST_DB)
2、例:
创建user表:
# 导入pymysql模块 import pymysql # 连接database conn = pymysql.connect( host=“你的数据库地址”, user=“用户名”,password=“密码”, database=“数据库名”, charset=“utf8”) # 获取一个光标(用于执行sql) cursor = conn.cursor() # 执行完毕返回的结果 默认以元组显示 # 得到一个可以执行SQL语句并且将结果作为字典返回的游标 #cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) # 定义要执行的SQL语句 sql = """ CREATE TABLE USER ( id INT auto_increment PRIMARY KEY , name CHAR(10) NOT NULL UNIQUE, age TINYINT NOT NULL )ENGINE=innodb DEFAULT CHARSET=utf8; #注意:charset='utf8' 不能写成utf-8 """ # 执行SQL语句 cursor.execute(sql) #----------执行完毕一定要关闭光标和链接-------------- # 关闭游标 cursor.close() # 关闭数据库连接 conn.close()