Mysql 目前支持 Mysql,Postgresql 和Sqlite3 引擎,此类便于不同引擎数据库的统一API操作,提高pandas和数据库的连接性能 预留了 sqlalchemy 的 create_engine方法 扩展
连接 Mysql数据库
x = Mysql(engine = 'm',dbname ='dbname',user='root', password='root', host='127.0.0.1') or x = Mysql(engine = 'mysql')
连接 postgresql 数据库
x = Mysql(engine = 'p',dbname ='dbname',user='root', password='root', host='127.0.0.1') or x = Mysql(engine = 'postgre')
连接 sqlite 数据库
x = Mysql(engine = 's') ## 内存数据库 'sqlite:///:memory:' 形式
x = Mysql(engine = 's', sqlite ='data.db') ## 本地数据库
x.creat_table(tablename,col,perkey = None,foreign = None,auto = False,default = {}))
tablename : 数据表名称 [字符串]
col : 创建表需要的字段配置 [字典] ,key为字段名称,value是 字段类型
perkey : 创建表的主键
[字符串] 可以是单一列
[列表] 多列的列表
foreign : 创建外键 [字典] ,key为字段名称,value是 外链表名(主键)
auto : 设置主键为自增长 [布尔]
default : 设置字段默认值 [字典] ,key为字段名称,value是 字段默认值
return None
x.delete_table(tablename,kind=0)
tablename : 数据表名称 [字符串]
kind: 删除模式 [整形]
0 : 即删除数据表,
1 : 则保留表结构,清空数据
return None
x.list_table()
x.show_schema(tablename)
tablename : 数据表名称 [字符串]
return DataFrame
x.alter_table(ablename,action,col ={})
tablename : 数据表名称 [字符串]
action : 执行动作 [字符串]
add : 为表增加新字段
del : 为表删除字段
update : 为表修改字段类型
col : 字段配置表 [字典] key为字段名称,value是 类型 ,若action为del ,value可为空
return None
x.insert_df(tablename,df)
tablename : 数据表名称 [字符串]
df [一维/二维 向量/列表]:
DataFrame: 要插入的数据DataFrame,df.columns需与数据表的字段配置保持一致
Series: 要插入的数据Series,df.index需与数据表的字段配置保持一致
[[]]: 要插入的数据[[]],df的列数需与数据表的字段个数一致
[]: 要插入的数据[],df的长度需与数据表的字段个数一致
return None
x.show_df(tablename,columns = "*",condition = '',count=-1)
tablename : 数据表名称 [字符串]
columns : 筛选字段名称
默认是 * 全部字段
[] 部分字段列表
[字符串] 单个字段或者部分字段
condition : 条件 [字符串] 默认是 '' 无条件 ,若有筛选条件,输入条件字符串
count : 返回数据行数,默认-1 即全部行
return DataFrame 类型
x.delete_data(tablename,condition)
tablename : 数据表名称 [字符串]
condition : 删除条件 [字典] key为删除条件的字段名称,value是删除条件的字段的值 (=)
各键直接是与的关系
return None
x.update_data(tablename,data,condition)
tablename : 数据表名称 [字符串]
data : 更新数据 [字典] key为要更新的字段名称,value是更新字段的值
condition : 更新条件 [字典] key为更新条件的字段名称,value是更新条件的字段的值 (=)
各键直接是与的关系
return None
x.creat_key(tablename,perkey=[],foreign ={})
tablename : 数据表名称 [字符串]
pperkey : 创建表的主键
[字符串] 可以是单一列
[列表] 多列的列表
foreign : 外键约束 [字典] key为 外键字段,value是关联的其他表 表名(字段)
return None
x.get_count(tablename)
tablename : 数据表名称 [字符串]
return [[]] 类型
x.exec_(sql)
sql : sql语句 [字符串]
return [[]] 类型