hive导数据到mysql 自增主键出错_python+mysql做一个图书管理系统?
开发一个图书管理系统,首先需要对此项目进行一个简单的需求分析:
主要功能包括:
图书信息
图书分类
用户信息
用户借阅统计
管理员
管理员权限
接下来可以进行数据库的设计,在这里我提供一个简单的数据库表结构,如有不合理以及需要补充的可以下方进行补充。
字段:
自增id(主键)、书名、作者、出版社、简介、缩略图、出版日期、ISBN(国际标准书号(International Standard Book Number),专门为识别图书等文献而设计的国际编号)、图书分类、删除标记。
字段:自增id(主键)、分类名称、分类编号、父级分类编号。
字段:
自增id(主键)、用户名、密码、添加时间、状态、借阅次数、归还次数。
字段:
自增id(主键)、借阅人、借阅书籍编号、借阅时间、归还时间、履约情况记录、备注。
字段:
自增id(主键),用户名,密码,创建时间,状态,所属角色。
字段:
自增id(主键,角色id),角色对应的权限。
字段:
自增id(主键),权限名称,权限所能访问控制器集合。
以上则是对图书管理系统的简要表结构设计。
数据库建立之后接下来就是系统的开发。
题主希望用到技术为 python+myqsl ,pyhon 的 web 框架有:Django、Flask、Tornado。
这里可以推荐 python 的 Flask ,因为非常轻便,学习周期短,效率高。
数据层面的话这里推荐使用原生的 sql 语句,方便简单。题主可以自己封装一个 mysql的操作类,前提是安装好 python 的 myql 驱动。
前端方面可以考虑使用 adminLTE ,是一个开源的后台管理系统,下载即用,非常方便。
下面是 adminLTE 的后台管理界面:
推荐题主把系统设计为前后端分离的模式,即:使用 Flask 写 API 接口,使用 Jquery 请求接口获取数据,然后渲染页面。当然如果希望用到新的技术可以使用 。
题主如果对底层技术比较感兴趣的话可以使用 Tornado 这个异步的服务器框架,此框架采用异步非阻塞IO的方式,性能非常高。包括HTTP服务器、WebSocket服务等,这里只使用其 HTTP 服务即可。当然学习成本也随着提升。
如果对大家有帮助,可以点赞以示支持!
以上则是对图书管理系统的简要设计,以及采用技术推荐,如有不同意见或者需要补充的,欢迎大家评论指正。对IT行业感兴趣的或者想通过自学进入软件开发行业的欢迎关注,可以提供学习上的帮助。
(私信“PHP”,“Python”,“Java”可以免费提供学习资料哦~)
JAVA 与 .NET等 编程语言
它们是业务功能编程实现工具;
处理业务逻辑有先天性优势;
编程语言类库中拥有丰富的系统函数,开发效率高;
尤其是在SOA项目,大型综合系统的开发中处于有利地位;
JAVA 与 .NET都提供了针对数据库的驱动程序,他们操作数据库是通过驱动程序中转操作指令的,反应当然要慢一拍。
SQL编程语言
SQL server 与 MySQL,Oracle,MongoDB, Redis 等数据库
它们是数据库
前三个是关系型数据库,一般用来存储业务数据,提供读写功能;
后2个是非关系型数据库,人称NoSQL数据库,一般用来作为缓存服务器的软件环境, 数据是以 JSON格式存储的;
数据库本质是提供了 增加,修改,删除,查询功能的一个载体,好比是一个智能存储的仓库
SQL脚本是专门针对数据库操作的编程语言,本质上 提供4种操作引擎: 增加,修改,删除,查询
大数据处理
如果有这方面的业务,如果是 java方向,Hadoop, Spark, Hive 将是操作利器;
如果是 .net 方向,则 SSIS, SSRS, SSAS 将是利刃。
总体来说, 第一类 编程语言 好比 SUV,擅长于跑高速, 跑的又快又远;第二类编程语言,好比 挖机,擅长于 挖地基,挖墙角,挖的深打的牢。
当你要去外地娶亲时,少不了 SUV; 当你要回老家做房子时,少不了 挖机。
希望对你有所帮助. 谢谢.
(结束)
从编程语言的层面来说,选择什么数据库并没有什么明显的区别,数据库的选择更应该考虑业务类型和业务规模。如果从学习的角度出发,那么Java数据库最好选择MySql数据库,原因有以下几点:
第一,Java与MySql同属于Oracle公司,在整合程度上MySql更适合Java语言。早在多年前Sun公司还没有被Oracle收购的时候,Sun公司为了打造Java的生态圈而花费巨资收购了MySql数据库,所以MySql与Java的整合是从设计层面就开始考虑的问题,这是一个天然的优势。
第二,MySql数据库应用比较广泛,尤其是在Java开发体系中(Web开发领域)。虽然对于编程语言来说,使用何种数据库的影响并不大,但是在实现层面,不同数据库还是有较大的区别。目前大量的Java平台都采用MySql数据库,这说明使用MySql有很多成熟的方案。目前,很多云计算平台自身就整合了MySql的解决方案,使用起来非常方便,我带的移动互联团队就是采用了MySql的云计算解决方案。
第三,MySql是开源的。MySql的开源特性不仅让使用者节省了大量的费用,同时也可以针对MySql做深层次的性能优化,目前很多大型电商平台都会对MySql做深度优化以满足自身的业务需求。
MySql简单易用,学习起来也非常方便,所以建议Java程序员从学习MySql开始。
我使用Java语言的时间比较久,我在头条上也写了关于Java操作数据库的文章,感兴趣的朋友可以关注我的头条号,并查看相关文章。
如果有Java编程方面的问题,也可以咨询我。
谢谢!
十天时间够了,没接触过面向对象编程也没关系。系统学习肯定是来不及了,建议简单学习一下java语法,面向对象思想,servlet jdbc等基础知识,就可以着手编码了,从网上找几个javaweb开发管理系统的案例或视频教程,跟着做,遇到问题google baidu 就差不多了。
书籍的话,个人觉得没必要。如果有时间系统学习推荐俩本。
java基础:《疯狂java讲义》这是我大学看的一本书,内容比较简单,适合初学者。
java web:《Java Web整合开发 王者归来》也是适合初学者的一本书,知识体系比较完整,也适合学习框架的读者。
目前大部分研发团队都要求业务逻辑用代码来实现,SQL操作往往都是基本操作。用SQL来表现业务逻辑,也就是通过存储过程的方式来表现业务逻辑是比较传统的开发方案。
在C/S时代很多逻辑的实现都是通过SQL来实现的,主要原因是业务规模和部署方式决定的。早期的C/S编程时代往往都是非分布式环境下的开发,而且大多数情况下并不需要考虑移植性问题,此时采用SQL来完成业务逻辑是比较方便的处理方式。
采用存储过程来完成业务逻辑最大的好处是性能会比较好,但是这也取决于业务规模的大小,如果业务规模过大,那么性能会下降的比较厉害。而早期的数据存储规模比较小,所以采用存储过程的方式是比较方便的。
目前的Web开发已经到了大数据时代、云计算时代,业务类型和业务规模都有了较大的变化,尤其是大数据时代下NoSql数据库的广泛采用,使用SQL语句来完成业务逻辑的情景就更少了。而且,目前的程序大部分都是分布式方式,采用Sql存储过程的方式来处理业务逻辑会非常麻烦,而且会导致整个项目的移植性和可读性都严重下降。
目前在传统企业的开发团队中采用Sql来处理业务逻辑的情况比较常见,因为大部分传统企业的数据库还依然是关系型数据库,而且不存在移植性要求,这种固定场景下的开发是完全可以使用Sql来处理业务逻辑的。未来使用Sql处理业务逻辑的情况也有一定的应用场景,所以学习存储过程的编写还是有一定必要的。
我的研究方向是大数据和人工智能,目前也在带大数据方向的研究生,我会陆续在头条上写一些关于大数据方面的文章,感兴趣的朋友可以关注我的头条号,相信一定会有所收获。
如果有大数据方面的问题,也可以咨询我。
谢谢!
转载请注明出处文化教育网 » python+mysql做一个图书管理系统?
hive导数据到mysql 自增主键出错_python+mysql做一个图书管理系统?相关推荐
- hive导数据到mysql 自增主键出错_老大问我:“建表为啥还设置个自增 id ?用流水号当主键不正好么?”...
前言"又要开始新项目了,一顿操作猛如虎,梳理流程加画图.这不,开始对流程及表结构了.我:吧啦吧啦吧啦 --老大:这个建表为啥还设置个自增 id ?直接用流水号(用户号/产品号)当主键不就行 ...
- hive导数据到mysql 自增主键出错_面试官:MySQL表设计要注意什么?
本文公众号来源:孤独烟 作者:孤独烟 引言 这篇文章的很多问题,都是面试中实打实会问到的! 比如 OK,具体有下面这些问题 1.为什么一定要设一个主键? 2.你们主键是用自增还是UUID? 3.主键为 ...
- mybatis mysql自增主键_mybatis 自增主键配置
mybatis 自增主键配置 mybatis自增主键配置(?) mybatis进行插入操作时,如果表的主键是自增的,针对不同的数据库相应的操作也不同.基本上经常会 遇到的就是 Oracle Seque ...
- mysql自增主键和mybatis自增主键不一致问题(已解决):
mysql自增主键和mybatis自增主键不一致问题(已解决): 在插入数据前,先进行查询主键 <insert id="insertSelective"><sel ...
- 美团面试:MySQL 自增主键一定是连续的吗?
美团问数据库比较多,分享一位读者面试美团遇到的关于 MySQL 自增主键的问题. 下面是正文. 众所周知,自增主键可以让聚集索引尽量地保持递增顺序插入,避免了随机查询,从而提高了查询效率 但实际上,M ...
- mysql自增主键设置
mysql自增主键设置 在数据库应用中,经常希望在每次插入新纪录时,系统自动生成字段的主键值.可以通过为表主键添加AUTO_INCREMENT关键字来实现. 默认情况下,在MYSQL中AUTO_INC ...
- mysql自增主键的返回
1.Mybatis的基础配置 https://blog.csdn.net/qq_43163943/article/details/110261144 2.Mybatis自增主键的实现 执行顺序是先插入 ...
- Mysql 自增主键重复的问题
问题描述 MySQL Bugs: #199: Innodb autoincrement stats los on restarthttps://bugs.mysql.com/bug.php?id=19 ...
- mysql自增主键返回---创建成功后返回用户的ID
mysql自增主键返回 查询id的sql SELECT LAST_INSERT_ID() 通过修改User.xml映射文件,可以将mysql自增主键返回: 如下添加selectKey 标签 <! ...
最新文章
- STM32 逐次逼近寄存器型(SAR)模拟数字转换器(ADC)
- Mycat原理、应用场景
- Three.js中使用材质覆盖属性
- vue项目打包到腾讯云服务器全过程
- [POI2002][HAOI2007]反素数
- 【Servlet】response对象给用户返回数据
- netflix 工作原理_Netflix如何在屏幕后面工作?
- Android官方开发文档Training系列课程中文版:网络操作之网络管理
- 蚂蚁集团高级架构师郭援非:分布式数据库是金融机构数字化转型的最佳路径...
- php 导出excel 2007,使用PHPExcel导出Excel表
- 自己动手,在macOS High Sierra中编译一个可debug的JDK
- 【高数】数学符号及读法大全and数学运算符号及含义
- el-menu菜单下划线解决办法
- element-ui时间选择器如何把今日日期改为“至今”
- 纯css实现向上箭头动画显示
- 通过百度人脸对比API进行人脸对比
- 阿里云合作伙伴返点和代理商返点的差异
- 使用数据挖掘软件Rapidminer进行关联规则分析
- sw2urdf使用探索
- Apache-POI 设置excel单元格样式字体等
热门文章
- 求两个数之间的水仙花数.c语言,求水仙花数(C语言/Java)
- php唯一索引,索引唯一性扫描(INDEX UNIQUE SCAN)
- mysql-generator用法_【原创】MyBatis Generator使用小记
- java的robot一直按住某个键_SHIFT键在CAD中使用技巧
- mybatis初始化mysql_SimpleMybatisMysql
- java emmt插件_Emmet缩写语法
- android studio 中使用lambda表达式
- pandas 不要编号 加一行_文科生带你学Python|Pandas读取数据
- jmeter mysql driver_jmeter测试mysql数据库之JDBC请求
- 最新linux 5,Linux 5.5 正式发布