线性编程11--读取存放sql语句的文件
2021/11/6 2:12:07
本文主要是介绍线性编程11--读取存放sql语句的文件,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
读取存放sql语句的文件
""" 目的:读取存放sql语句的文件 -- sql文件 将初始化sql语句放到文件中,加注释,加空行区分行,使用代码输出所有行,将sql语句存入列表并查看 提示: sql文件未必放到.sql类型的文件中,txt完全支持 sql语句最好一行写一句,建议分号结尾 sql语句中的表名,建议加上数据库名,以防意外 如果文件中加注释,空行,需要代码中处理 一般数据库中都支持--注释 文件内容如下: -- 注册接口:test02、test03 delete from user where username = 'test02' delete from user where username = 'test03' insert into user(id,username,password) values(3,'test03','123456') --登陆接口:test01 delete from user where username = 'test01'; insert into user(id,username,password) values(2,'test01','123456') """ # 读取sqls01.txt文件 sqlfile = open('sqls01.txt', 'r')#去掉r 也是读取文件 # 创建列表存放所有sql命令 sqls = [] for sql in sqlfile:#sql代表文件中的某一行 #print(sql.strip(),end='')#strip删除首尾的空白符(空格,tab,回车) if len(sql.strip())>0 and not sql.startswith('--'):#startswith以什么开头 # print(sql.strip()) sqls.append(sql.strip())#append追加 print(sqls) sqlfile.close()#关闭文件
读取sql文件并执行sql命令
""" 读取sql文件并执行sql命令 """ import pymysql #打开文件 sqlfile = open('sqls01.txt','r') # 连接数据库 conn = pymysql.connect(host='192.168.139.137',user='root',password='123456',db='exam') # 创建游标 cursor = conn.cursor() for sql in sqlfile:#遍历文件中的行,sql代表一行 if len(sql.strip())>0 and not sql.startswith('--'): sql = sql.strip() cursor.execute(sql) conn.commit()#最后提交数据一次 sqlfile.close()#关闭文件 conn.close()#关闭数据库
自动执行存放sql语句文件中的命令
a)将初始化sql语句写到文件中,.txt就可以,也可以使用.sql文件 注意:sql语句必须符合语法要求 一般会在文件中添加注释(--),也会加空行 b)sqlfile=open(文件名,'r') 文件名为存放sql语句的文件名 文件打开后,文件信息存入sqlfile 要读取文件行或数据,一般需要循环遍历 c)for sql in sqlfile: 处理语句 说明:sql代表文件sqlfile中的一行(从第一行开始,一直到结束) d)sql.strip() 表示去掉sql头尾的空白符(空格,Tab键,回车键),中间的不去 e)sql.startswith('--') 表示判断sql是不是以--开头 f)len(sql.strip()) 表示sql去掉首尾空白符以后,有多少个有效字符 len(sql.strip())>0表示去掉首尾空白符后,是有效行 g)执行sql connect 连接数据库 cursor()创建游标 循环执行sql语句:cursor.execute(sql) commit提交保存数据 close关闭数据库
这篇关于线性编程11--读取存放sql语句的文件的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现
- 2024-05-30我们小公司,哪像华为一样,用得上IPD(集成产品开发)?
- 2024-05-30java excel上传--poi
- 2024-05-30安装笔记本应用商店的pycharm,再安排pandas等模块,说是没有打包工具?
- 2024-05-29java11新特性
- 2024-05-29哪些无用敏捷指标正在破坏敏捷转型?
- 2024-05-29鸿蒙原生应用再新丁!新华社 入局鸿蒙
- 2024-05-29设计模式 之 迭代器模式(Iterator)