实战经验分享,Python 连接 Oracle 踩坑实录,2024Python常见面试题

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Python全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img



既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Python知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024c (备注Python)
img

正文

下面就开始创建表了,我是直接把 MySQL 创建表的语句直接拿了过来,结果就不出意外的出了意外。

报错信息:

ORA-00907: missing right parenthesis,报错位置在创建表语句。因为是用 MySQL的建表语句,所以只好找 oracle 相关建表语句,发现和 MySQL 语句还是有区别的。首先,表名和字段名上的小引号要去掉;其次,字段类型不同,得改(oracle与MySQL对应请网上自查);最后,oracle不支持自增,主键在字段定义中声明。

MySQL建表语句:

creat_table_sql="""CREATETABLE `testtable`(
  `id` bigintNOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL COMMENT '字典名称',
  `remark` varchar(255) DEFAULTNULL COMMENT '描述',
  `testC01umn1` varchar(128) DEFAULTNULL,
  `testC01umn2` datetimeDEFAULTNULL,
  `testC01umn3` intDEFAULTNULL,
  `testC01umn4` varchar(128) DEFAULTNULL,
  `testC01umn5` varchar(128) DEFAULTNULL,
  `testC01umn6` varchar(128) DEFAULTNULL,
  `testC01umn7` varchar(128) DEFAULTNULL,
  `testC01umn8` varchar(128) DEFAULTNULL,
  `testC01umn9` intDEFAULTNULL,
  `testC01umn10` datetimeDEFAULTNULL,
  `testC01umn11` varchar(128) DEFAULTNULL,
  `testC01umn12` varchar(128) DEFAULTNULL,
  `testC01umn13` varchar(128) DEFAULTNULL,
  `testC01umn14` varchar(128) DEFAULTNULL,
  `testC01umn15` varchar(128) DEFAULTNULL,
  PRIMARYKEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=Utf8mb4_0900_ai_ci COMMENT='测试表'"""


Oracle建表语句:

creat_table_sql="""CREATETABLE testtable (
  id NUMBER(38,0) NOT NULLPRIMARY KEY,
  nameVARCHAR2(255) NOT NULL,
  remark VARCHAR2(255) DEFAULTNULL,
  testColumn1 VARCHAR2(128) DEFAULTNULL,
  testColumn2 DATEDEFAULTNULL,
  testColumn3 NUMBER(10) DEFAULTNULL,
  testColumn4 VARCHAR2(128) DEFAULTNULL,
  testColumn5 VARCHAR2(128) DEFAULTNULL,
  testColumn6 VARCHAR2(128) DEFAULTNULL,
  testColumn7 VARCHAR2(128) DEFAULTNULL,
  testColumn8 VARCHAR2(128) DEFAULTNULL,
  testColumn9 NUMBER(10) DEFAULTNULL,
  testColumn10 DATEDEFAULTNULL,
  testColumn11 VARCHAR2(128) DEFAULTNULL,
  testColumn12 VARCHAR2(128) DEFAULTNULL,
  testColumn13 VARCHAR2(128) DEFAULTNULL,
  testColumn14 VARCHAR2(128) DEFAULTNULL,
  testColumn15 VARCHAR2(128) DEFAULTNULL
"""


建表语句的问题解决了,后面就要插入数据,问题更是一大堆。

最先出现的错误是:ORA-00928: missing SELECT keyword,这个错误主要是因为插入的数据字段名含有关键字,我试了好几种办法都无法避免(主要是懒的再从新建表或修改字段名)

最后插入数据的语句干脆就不填写字段名,只要位置正确就可以了,还有就是插入的数据不能使用python的格式化符号‘%s’来替换,只能使用占位符。所以这时的插入语句就变成了这样:

insert_sql="""INSERT INTO TESTTABLE VALUES(:1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11,:12, 13 ,:14,:15)"""

我把字段名都不要了,这回总没错了吧,结果还是报错!

报错信息:ORA-01861: literal does not match format string。再一次全网搜索,发现是因为我有日期格式的字段,在插入数据时需要转换一下才可以,所以最终我的插入语句变成了这样:

insert_sql="""INSERT INTO TESTTABLE VALUES(:1,:2,:3,:4,to_data(:5,'yyyy-MM-DD hh24:mi:ss'),:6,:7,:8,:9,:10,:11,:12,to_data(:13,'yyyy-MM-DD hh24:mi:ss'),:14,:15)"""

在转换了日期格式后,顺利插入数据没有再报错。这次本来觉得很简单的测试数据注入费时费力,还好我把踩过的坑都帮同学们踩了一遍。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

最后

Python崛起并且风靡,因为优点多、应用领域广、被大牛们认可。学习 Python 门槛很低,但它的晋级路线很多,通过它你能进入机器学习、数据挖掘、大数据,CS等更加高级的领域。Python可以做网络应用,可以做科学计算,数据分析,可以做网络爬虫,可以做机器学习、自然语言处理、可以写游戏、可以做桌面应用…Python可以做的很多,你需要学好基础,再选择明确的方向。这里给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

👉Python所有方向的学习路线👈

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

👉Python必备开发工具👈

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

👉Python全套学习视频👈

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

👉实战案例👈

学python就与学数学一样,是不能只看书不做题的,直接看步骤和答案会让人误以为自己全都掌握了,但是碰到生题的时候还是会一筹莫展。

因此在学习python的过程中一定要记得多动手写代码,教程只需要看一两遍即可。

👉大厂面试真题👈

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注python)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
朋友,可以添加V获取:vip1024c (备注python)**
[外链图片转存中…(img-DsTp0UrO-1713247657234)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值