pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。
下载安装
<代码> pip3安装pymysql 代码>
1,执行SQL
进口pymysql #创建连接 康涅狄格州=pymysql.connect(主机=127.0.0.1,端口=3306,用户=?passwd=?23’, db=t1) #创建游标 光标=conn.cursor () #执行SQL,并返回收影响行数 effect_row=游标。执行(“更新主机设置主机=1.1.1.2”) #执行SQL,并返回受影响行数 # effect_row=游标。执行(“更新主机设置主机=1.1.1.2的祝辞,国家免疫日;% s”, (1)) #执行SQL,并返回受影响行数 # effect_row=游标。executemany(“插入主机(主机、color_id)值(% s % s)”,(“1.1.1.11”,1),(“1.1.1.11”,2))) #提交,不然无法保存新建或者修改的数据 conn.commit () #关闭游标 cursor.close () #关闭连接 conn.close ()
2,获取新创建数据自增ID
进口pymysql 康涅狄格州=pymysql.connect(主机=127.0.0.1,端口=3306,用户=?passwd=?23’, db=t1) 光标=conn.cursor () 游标。executemany(“插入主机(主机、color_id)值(% s % s)”,(“1.1.1.11”,1),(“1.1.1.11”,2))) conn.commit () cursor.close () conn.close () #获取最新自增ID new_id=cursor.lastrowid
3,获取查询数据
进口pymysql 康涅狄格州=pymysql.connect(主机=127.0.0.1,端口=3306,用户=?passwd=?23’, db=t1) 光标=conn.cursor () 游标。执行(“select * from主机”) #获取第一行数据 row_1=cursor.fetchone () #获取前n行数据 # row_2=cursor.fetchmany (3) #获取所有数据 # row_3=cursor.fetchall () conn.commit () cursor.close () conn.close ()
注:在取数据时按照顺序进行,可以使用cursor.scroll (num,模式)来移动游标位置,如:
cursor.scroll(1,模式=喽浴?#相对当前位置移动 cursor.scroll(2模式=熬浴?#相对绝对位置移动
4,取数据类型
关于默认获取的数据是元祖类型,如果想要或者字典类型的数据,即:
进口pymysql 康涅狄格州=pymysql.connect(主机=127.0.0.1,端口=3306,用户=?passwd=?23’, db=t1) #游标设置为字典类型 光标=conn.cursor(光标=pymysql.cursors.DictCursor) r=游标。p1()执行(“调用”) 结果=cursor.fetchone () conn.commit () cursor.close () conn.close ()
<>强导出现有数据库数据:强>
, mysqldump - u用户名- p密码数据库名称祝辞导出文件路径,,,,,,,,,,#结构+数据
, mysqldump - u用户名- p密码- d数据库名称祝辞导出文件路径,,,,,,#结构
<>强导入现有数据库数据:强>
, mysqldump -uroot - p密码,数据库名称& lt;文件路径
(1): MyISAM存储引擎:不支持事务,也不支持外键,优势是访问速度快,对事务完整性没有要求或者以选择、插入为主的应用基本上可以用这个引擎来创建表
支持3种不同的存储格式,分别是:静态表;动态表;压缩表
静态表:表中的字段都是非变长字段,这样每个记录都是固定长度的,优点存储非常迅速,容易缓存,出现故障容易恢复;缺点是占用的空间通常比动态表多(因为存储时会按照列的宽度定义补足空格)注:在取数据的时候,默认会把字段后面的空格去掉,如果不注意会把数据本身带的空格也会忽略。
动态表:记录不是固定长度的,这样存储的优点是占用的空间相对较少,缺点:频繁的更新,删除数据容易产生碎片,需要定期执行优化表或者myisamchk-r命令来改善性能
压缩表:因为每个记录是被单独压缩的,所以只有非常小的访问开支
(2) InnoDB存储引擎*
该存储引擎提供了具有提交,回滚和崩溃恢复能力的事务安全。但是对比MyISAM引擎,写的处理效率会差一些,并且会占用更多的磁盘空间以保留数据和索引。
InnoDB存储引擎的特点:支持自动增长列,支持外键约束
(3):内存存储引擎
内存存储引擎使用存在于内存中的内容来创建表。每个内存表只实际对应一个磁盘文件,格式是.frm.memory类型的表访问非常的快,因为它的数据是放在内存中的,并且默认使用哈希索引,但是一旦服务关闭,表中的数据就会丢失掉。