1. 安装pymysql
pip install pymysql
Requirement already satisfied: pymysql in d:\programfiles\anaconda3\lib\site-packages (1.0.2)
Note: you may need to restart the kernel to use updated packages.
2. 导入pymysql
import pymysql
3. 创建数据库
3.1 打开连接
config = {
'host' : 'localhost' ,
'port' : 3306 ,
'user' : 'root' ,
'password' : '123456'
}
conn = pymysql. connect( ** config)
cursor= conn. cursor( )
3.2 创建数据库
sql = """
CREATE DATABASE IF NOT EXISTS yggl2
DEFAULT CHARACTER SET gb2312
DEFAULT COLLATE gb2312_chinese_ci;
"""
try :
cursor. execute( sql)
conn. commit( )
print ( "创建数据库yggl2提交成功!" )
except :
conn. rollback( )
print ( "创建数据库yggl2发生错误,回滚..." )
创建数据库yggl2提交成功!
3.3 创建数据表
conn. select_db( 'yggl2' )
sql= """
CREATE TABLE IF NOT EXISTS Employees(
员工编号 char(6) NOT NULL PRIMARY KEY,
姓名 char(10) NOT NULL,
学历 char(4) NOT NULL,
出生日期 date NOT NULL,
性别 char NOT NULL,
工作年限 tinyint(2) NULL,
地址 varchar(20) NULL,
电话号码 char(12) NULL,
员工部门号 char(3) NULL
)ENGINE=INNODB;
"""
try :
cursor. execute( sql)
conn. commit( )
print ( "创建数据表Employees提交成功!" )
except :
conn. rollback( )
print ( "创建数据表Employees发生错误,回滚..." )
创建数据表Employees提交成功!
3.4 插入数据–增
sql= """
INSERT INTO Employees(员工编号, 姓名,学历,出生日期,性别,工作年限)
VALUES
('001','张三','大专','1991-01-01','男',2),
('002','李四','本科','1988-02-01','男',3),
('003','王五','硕士','1986-12-01','男',5),
('004','赵六','博士','1984-12-01','男',5),
('005','钱七','中专','1995-06-06','女',1);
"""
try :
cursor. execute( sql)
conn. commit( )
print ( "插入数据到数据表Employees提交成功!" )
except :
conn. rollback( )
print ( "插入数据到数据表Employees发生错误,回滚..." )
插入数据到数据表Employees提交成功!
3.5 删除数据–删
table = "Employees"
where = "员工编号='005'"
sql = "DELETE FROM " + table + " WHERE " + where
try :
cursor. execute( sql)
conn. commit( )
print ( f"删除数据表Employees中 { where} 数据提交成功!" )
except :
conn. rollback( )
print ( f"删除数据表Employees中 { where} 数据发生错误,回滚..." )
删除数据表Employees中员工编号='005'数据提交成功!
3.6 修改数据–改
sql= """
UPDATE Employees
SET 性别="女"
WHERE 员工编号="004";
"""
try :
cursor. execute( sql)
conn. commit( )
print ( "修改数据表Employees中数据提交成功!" )
except :
conn. rollback( )
print ( "修改数据表Employees中数据发生错误,回滚..." )
修改数据表Employees中数据提交成功!
3.7 获取数据–查
import pandas as pd
column_list = "员工编号,姓名,性别"
table = "Employees"
sql = "SELECT " + "*" + " FROM " + table
try :
cursor. execute( sql)
conn. commit( )
des = cursor. description
columnNames = [ item[ 0 ] for item in des]
data = cursor. fetchall( )
print ( "查询数据表Employees中数据提交成功!" )
df_data = pd. DataFrame( data, columns= columnNames)
df_data. set_index( [ "员工编号" ] , inplace= True )
display( df_data)
except :
conn. rollback( )
print ( "查询数据表Employees中数据发生错误,回滚..." )
查询数据表Employees中数据提交成功!
姓名 学历 出生日期 性别 工作年限 地址 电话号码 员工部门号 员工编号 001 张三 大专 1991-01-01 男 2 None None None 002 李四 本科 1988-02-01 男 3 None None None 003 王五 硕士 1986-12-01 男 5 None None None 004 赵六 博士 1984-12-01 女 5 None None None
column_list = "员工编号,姓名,性别,出生日期,学历,工作年限"
table = "Employees"
where = "性别='男'"
sql = "SELECT " + column_list + " FROM " + table + " WHERE " + where
try :
cursor. execute( sql)
conn. commit( )
des = cursor. description
columnNames = [ item[ 0 ] for item in des]
data = cursor. fetchall( )
print ( "查询数据表Employees中数据提交成功!" )
df_data = pd. DataFrame( data, columns= columnNames)
df_data. set_index( [ "员工编号" ] , inplace= True )
display( df_data)
except :
conn. rollback( )
print ( "查询数据表Employees中数据发生错误,回滚..." )
查询数据表Employees中数据提交成功!
姓名 性别 出生日期 学历 工作年限 员工编号 001 张三 男 1991-01-01 大专 2 002 李四 男 1988-02-01 本科 3 003 王五 男 1986-12-01 硕士 5
3.8 关闭连接与游标
后开先关
cursor. close( )
conn. close( )