数据库开发
数据库
白墨石
生物信息学在读博士,主要研究生信软件开发及数据库搭建,涉及机器学习,组学流程自动化,序列分析。
联系方式在左栏,欢迎学习交流,咨询提问 ^.^
展开
-
git commit 规范及自动化
commit message需要包括两部分内容:header和body。原创 2023-10-06 11:00:28 · 850 阅读 · 0 评论 -
数据库涉及大量数据查询时的注意事项
避免频繁连接和关闭数据库,这样会导致IO访问次数太频繁。设计表时要建立适当的索引,尤其要在 where 及 order by 涉及的列上建立索引避免全表扫描,以下情况会导致放弃索引直接进行全部扫描避免在 where 子句中使用!=或<>操作符避免在 where 子句中对字段进行 null 值判断select id from table where num is null解决方法:建表时设置默认值0,也就是将null用0填充,然后查询:select id fr..原创 2022-05-16 11:44:30 · 1544 阅读 · 0 评论 -
白墨的生物信息自学之路
进入21世纪后,组学数据井喷式产出,随之而来的问题是如何处理这些数据,挖掘背后隐藏的价值。人们想到利用包括计算机,物理学,数学,统计学在内学科的优势去解析这些大数据,随之催生出一门新的交叉学科,这就是生物信息学。这门学科为生物进化,物种分类,育种技术,药物设计等领域起到巨大的推动作用。不仅使我们更加全面的认识生命,而且随之带来了丰厚的社会效益。这里记录了我学习生物信息时,在平坦道路上曲折前行的步伐。可以为打算学,正在学生物信息的同学提供一些参考,少走一些弯路。让我们一起披荆斩棘,乘风破浪。这.原创 2020-12-16 10:50:05 · 7864 阅读 · 20 评论 -
Django 使用 ORM 操作数据库详解
ORM 是个啥?在python中的一个默认的编写规范是一切皆对象,这样做使得代码简洁,结构清晰,便于维护和重用代码,同时极大的提升开发效率。同样在操作数据库时,一般我们用SQL语句来实现操作,但是放在Python中是一串冗长的字符串,不利于调试和修改,更不符合上面提到的规范。所以,有大佬就提出ORM来替代原生的SQL语句,说白了ORM 就是要给缩写,代表着 对象-关系-映射简写全称中文OObject对象RRelational关系MMapping映射原创 2020-07-27 10:06:11 · 3851 阅读 · 0 评论 -
MySQL报错解决:Error:1294–Invalid ON UPDATE clause for “time” column
报错:解决:可以为Null默认为Null长度为0设置根据当前时间戳更新原因:因为timestamp类型默认有字段长度,指定长度会于之前的冲突原创 2020-07-14 09:15:39 · 5549 阅读 · 0 评论 -
在 Pycharm 中玩转 GitHub(图文详解)
文章目录一、Git 的诞生二、GitHub 的出生三、GitHub和Git 对我们来说有什么用?四、安装 Git五、本地 Git 关联 GitHub 远程仓库六、推送本地仓库到 GitHub七、将 GitHub 仓库克隆到本地八、参与 GitHub 项目一、Git 的诞生在1991年,大佬 Linus 构建了开源操作系统,并命名为 Linux,随后带领全世界计算机爱好者逐渐完善系统 。这个系统可能有人陌生,有人熟系。Linux 几乎渗透到我们生活的方方面面,比如是大部分网站应用数据与服务的载体。包括手原创 2020-06-03 22:01:58 · 6028 阅读 · 5 评论 -
Django REST框架 | 封装 Respose 类
文章目录一、封装二、调用三、测试接口一、封装可以发现在给客户端返回数据都有固定的格式,比如 json。我们为了减少重复代码,重写Response 类utils/response.pyfrom rest_framework.response import Responseclass APIResponse(Response): def __init__(self, data_status=0, data_msg='ok', results=None, http_status=None,原创 2020-05-23 18:05:35 · 1068 阅读 · 0 评论 -
Django REST 框架详解 10 | 频率认证组件
文章目录一、频率组件二、自定义频率类1. 代码实现2. 接口测试一、频率组件通过分析源码了解频率认证组件的方法调用过程APIView 的 dispatch 中使用 initial 方法实现初始化并进行三大认证,第三步进行权限组件调用rest_framework/views.pyclass APIView(View): # ... # 定义默认频率类 throttle_classes = api_settings.DEFAULT_THROTTLE_CLASSES de原创 2020-05-21 19:35:28 · 600 阅读 · 0 评论 -
Django REST 框架详解 09 | 权限组件
文章目录一、权限组件1. 分析源码2. 全局配置权限3. 局部配置权限4. 接口测试二、自定义权限类1. 代码实现2. 测试接口一、权限组件1. 分析源码通过分析源码了解权限组件的方法调用过程APIView 的 dispatch 中使用 initial 方法实现初始化并进行三大认证,第二步进行权限组件调用rest_framework/views.pyclass APIView(View): # ... # 定义默认权限类 permission_classes = api_原创 2020-05-21 19:34:45 · 1139 阅读 · 0 评论 -
Django REST 框架详解 08 | 认证组件
文章目录一、认证组件1. 分析源码2. 全局配置认证二、自定义认证类1. 代码实现2. 接口测试一、认证组件1. 分析源码通过分析源码了解认证组件的方法调用过程APIView 的 dispatch 中使用 initial 方法实现初始化并进行三大认证,第一步就是认证组件rest_framework/views.pyclass APIView(View): # ... def initial(self, request, *args, **kwargs): # ..原创 2020-05-21 19:34:01 · 1165 阅读 · 0 评论 -
Django REST 框架详解 07 | 三大认证与权限六表
文章目录一、三大认证1. 认证组件:校验用户2. 权限组件:校验用户权限3. 频率组件:限制视图接口被访问次数4. 分析源码二、权限六表1. RBAC 认证2. 权限三表3. 权限五表4. 权限六表三、六表间访问1. 分析源码2. 六表间访问方法3. 代码实现4. 脚本化启动查看表一、三大认证1. 认证组件:校验用户游客:无认证信息,校验通过,直接进入下一步权限认证校验合法用户:带正确认证信息,校验通过,将用户存储在 request.user 中,再下一步权限认证校验非法用户:带错误认证信息,校原创 2020-05-21 19:33:11 · 1208 阅读 · 2 评论 -
Django REST 框架详解 06 | 视图家族 Generics 与 Viewsets
文章目录一、Generics:工具视图1.群查与单增:ListCreateAPIView查看源码代码实现测试接口2.添加其他接口代码实现接口测试![mark](https://imgconvert.csdnimg.cn/aHR0cDovL2JhaW1vYy56aXB0b3AudG9wL2Jsb2cvMjAyMDA1MTkvZ0EwTld0eEthUGI1LnBuZw?x-oss-process=image/format,png)3.后续问题二、Viewsets:视图集1.简单使用查看源码![mark](ht原创 2020-05-19 19:22:27 · 986 阅读 · 0 评论 -
Django REST 框架详解 05 | 视图家族 Mixins
文章目录零、视图家族一、GenericAPIView:视图家族的基类二、Mixins:视图工具集1.群查查看源码代码实现测试接口2.单查查看源码代码实现测试接口3.单增查看源码代码实现测试接口4.单改查看源码代码实现测试接口零、视图家族Django REST framework 为了方便视图类的操作,构建了包括以下几种视图类和工具集:views:API视图generics:工具视图mixins:视图工具集viewsets:视图集一、GenericAPIView:视图家族的基原创 2020-05-19 19:20:36 · 922 阅读 · 0 评论 -
Django REST 框架的 FBV 与 CBV 选择
一、什么是 FBV与CBVFBV: function base viewviews.pyfrom django.shortcuts import render,HttpResponseimport jsondef users(request): user_list = { "name": "tom", "age":27 } return HttpResponse(json.dumps(user_list))urls.pyfro原创 2020-05-17 17:49:27 · 1443 阅读 · 0 评论 -
Django REST 框架详解 03 | 模型建立与表设计
文章目录一、设计表二、表关系1.表关系设置2.断开表关联三、级联操作1.CASCADE2.SET_NULL3.SET_DEFAULT4.DO_NOTHING四、Admin一、设计表假设需求,图书管理系统:Book: name, price, img, authors, publish, is_delete, create_timePublish: name, address, is_delete, create_timeAuthor: name, age, is_delete, create_ti原创 2020-05-17 16:53:19 · 707 阅读 · 0 评论 -
Django REST 框架详解 04 | 序列化与反序列化及二者整合
文章目录一、序列化1.步骤2.模拟场景3.模型构建4.序列化5.视图6.路由7.测试接口二、反序列化与验证1.反序列化2.视图3.测试接口三、序列化与反序列的整合1.视图2.路由3.接口测试一、序列化1.步骤model s.py,定义表与字段,及表关系serializes.py 中序列化与反序列化views.py 中写 get,post 等操作urls.py 定义路由2.模拟场景建立图书管理系统:表Book: name, price, img, authors, publish, is原创 2020-05-17 16:47:29 · 641 阅读 · 0 评论 -
Django REST 框架详解 02 | 设置与模块
一、设置setting.pyimport os# Build paths inside the project like this: os.path.join(BASE_DIR, ...)BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))# Quick-start development settings - unsuitable for production# See https://docs.dj原创 2020-05-17 16:38:59 · 597 阅读 · 0 评论 -
Django 的脚本化启动
一、脚本在项目中,新建script.py# django 脚本化启动import os, djangoos.environ.setdefault('DJANGO_SETTINGS_MODULE', 'def_proj01.settings')django.setup()二、使用示例一般用来做外部调用或者测试使用# django 脚本化启动import os, djangoos.environ.setdefault('DJANGO_SETTINGS_MODULE', 'def_pro原创 2020-05-17 16:35:19 · 888 阅读 · 0 评论 -
Django REST 框架详解 01 | 安装与数据库配置
Django REST 详解 01 | 安装与数据库配置一、介绍Django Rest Framework (DRF)是基于 Django 框架,用于构建 Web API 的工具集。提供 REST 接口开发规范验证策略,包括 OAuth1a 和 OAuth2支持ORM 和 非 ORM 数据源的序列化与反序列化操作基于函数的视图操作目前 Red Hat,Mozilla,Heroku等知名公司在使用。生物信息数据库开发中,EBI也使用 Django REST framework 作为开发工具原创 2020-05-17 16:25:49 · 910 阅读 · 0 评论 -
Windows 与 Linux 安装 sqlite3 数据库(图文详解)
文章目录Windows1.下载2.解压3.设置环境变量4.验证安装是否成功LinuxWindows1.下载https://www.sqlite.org/download.html2.解压3.设置环境变量右键此电脑 -> 属性新建环境变量4.验证安装是否成功打开命令行,win+R输入sqlite3安装完成Linuxwget http://www.sqlite.org/sqlite-3.7.1.tar.gztar -xzvf sqli原创 2020-05-17 16:16:59 · 879 阅读 · 0 评论 -
MySQL 初始化密码,修改密码,重置忘记的密码
初始化密码1.进入mysql命令行mysql -uroot2.执行ALTER USER'root'@'localhost'IDENTIFIED BY 'your_password';3.提交flush privileges;4.退出quit;修改密码1.进入mysql命令行mysql -uroot -p2.执行set password for root@localhost = password('your_password');3.退出quit;忘记密码Windows下1原创 2020-05-11 21:06:42 · 19864 阅读 · 3 评论 -
一文读懂数据库的文本数据类型:CHAR,VARCHAR,TEXT,BLOG,NCHAR、NVARCHAR、NTEXT
文章目录一、CHAR与 VARCHAR二、TEXT 与 BLOG三、NCHAR、NVARCHAR、NTEXT一、CHAR与 VARCHARCHAR 用于存储固定长度的数据,CHAR字段上的索引效率级高,但是不适用于字符长度不确定的数据。比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间。VARCHAR 为了解决上面提到问题,SQL设计了专门存储可变长...原创 2020-04-17 20:05:23 · 23075 阅读 · 0 评论 -
查询Mysql中表大小,数据大小,索引大小
使用进入mysql命令行或者Navicat的查询界面输入如下select * from information_schema.TABLES where information_schema.TABLES.TABLE_SCHEMA='your_database_name'and information_schema.TABLES.TABLE_NAME='your_table_name'...原创 2019-12-31 10:45:02 · 862 阅读 · 0 评论 -
MySQL报错解决:MySQL server has gone away
报错信息[Err] 2006 - MySQL server has gone away原因及解决原因一: 在数据库应用中执行长时间执行MySQL语句解决:1.1 打开 my.ini (my.cnf) 文件修改以下变量:wait_timeout=2880000 interactive_timeout = 2880000 原因二:在导入数据库或数据库应用执行较...原创 2018-07-25 16:53:00 · 602 阅读 · 0 评论 -
数据库设计-范式
范式范式就是数据库的构建规则,目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)和第六范式(6NF)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多要求的称为第二范式(2NF),其余范式以次类推。一般说来,数据库只需满足第三范式(3NF)就行了。1NF(第一范式)特征:无重复列官...原创 2018-03-16 10:41:52 · 8370 阅读 · 0 评论 -
MySQL 基本语句记录
-- 查询select column1,column2 from tableselect column1,column2 from table where id = 1-- 查询:去掉某字段重复项,结果为这个字段SELECT DISTINCT (column) FROM table-- 查询:去掉某字段重复项,结果可指定字段select * from table原创 2016-05-06 11:23:19 · 459 阅读 · 0 评论 -
Spring Boot 之 MySQL数据库使用
引入依赖dependency> groupId>mysqlgroupId> artifactId>mysql-connector-javaartifactId> scope>runtimescope>dependency>dependency> groupId>org.springframework.bootgroupId> artifactId原创 2018-01-19 12:01:04 · 584 阅读 · 0 评论 -
MySQL 数据库的导入导出
目录目录导出数据库导出数据和表结构只导出表结构导入数据库首先建空数据库导入数据库导出数据库:导出数据和表结构:格式: mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql 举例: /usr/local/mysql/bin/ mysqldump -uroot -p abc > abc.sql 敲回车后会提示输入密码只导出表结构格式:mysqldump -u用原创 2017-10-23 15:32:15 · 617 阅读 · 0 评论 -
网站搭建,远程操作,文件上传,问题汇总
一、系统安装:http://jingyan.baidu.com/article/a3761b2b66fe141577f9aa51.html二、安装xampp:1. 下载xampp:https://www.apachefriends.org/download.html2. 赋权限:sudo chmod 777xampp-linux-x64-7.0.15-原创 2017-04-27 20:34:12 · 1257 阅读 · 0 评论 -
xampp-MySQL-重置密码
1、停止mysql服务器sudo /opt/lampp/lampp stopmysql2、使用`--skip-grant-tables' 参数来启动 mysqldsudo /opt/lampp/sbin/mysqld --skip-grant-tables3、再开一个终端(在终端中直接右键+B) 进入mysqlsudo /opt/lampp/bi转载 2017-05-15 15:26:12 · 818 阅读 · 0 评论 -
深入理解 MySQL 用户和权限
一. 用户1 创建用户(这里的用户不可使用,在分配权限后可正常登陆)只创建用户CREATE USER username IDENTIFIED BY 'password';创建用户的同时授予权限GRANT ALL ON databasename.* TO username@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTI...原创 2018-08-28 11:20:41 · 486 阅读 · 0 评论 -
MySQL 报错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket
一、错误现场还原:下面我们通过三种方式来连接,然后观察提示的错误信息:1、直接使用“mysql”命令,不带主机名参数;2、使用带了主机名“localhost”参数的“mysql -h localhost”命令;3、使用带了主机名“127.0.0.1”参数的“mysql -h 127.0.0.1”命令。1、[root@lam7 opt]# mysqlERROR 2002 ...转载 2018-09-21 15:35:26 · 57248 阅读 · 11 评论 -
MySQL 远程连接及错误的解决
设置可远程连接账户mysql -uroot -pgrant all on *.* to baimoc@'%' identified by '123456' with grant option;flush privileges;baimoc这个用户不一定要存在(可以按需要去取名),%表示可任意ip访问查看设置是否成功use mysql;select user, host from ...原创 2019-03-04 21:49:40 · 1564 阅读 · 0 评论 -
MySQL 大数据量导入时:MySQL server has gone away
问题导入大数据量的 sql 文件时,出现MySQL server has gone away配置文件对导入文件大小有限制解决修改配置文件(my.ini 或者 my.cnf)max_allowed_packet = 100000后面数值因需求而定...原创 2019-03-05 11:29:54 · 462 阅读 · 0 评论 -
查询mysql数据库中表的所有字段名
select COLUMN_NAME,DATA_TYPE,COLUMN_COMMENT from information_schema.COLUMNS where table_name = '表名' and table_schema = '数据库名称';得到结果:原创 2019-02-26 22:31:29 · 10049 阅读 · 1 评论 -
mysql 将查询结果创建表 插入表
创建表create table new_table_name as select * from (your_sql) as sql_table;new_table_name替换为创建表名your_sql替换为sql语句插入表insert into old_table_name select * from (your_sql) as sql_table;old_table_name替换...原创 2019-02-26 22:47:02 · 14644 阅读 · 0 评论 -
MySQL datatime与timestamp设置自动更新
datetime 的自动更新增加一列并设置自动更新ALTER TABLE 'table_name' ADD COLUMN 'date' datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT create time' ;修改已有列为自动更新ALTER TABLE 'table_name' MODIFY COLUMN 'date' datetime N...原创 2019-03-09 14:06:00 · 1271 阅读 · 0 评论 -
Mysql报错:1030 Got error 28 from storage engine
原因磁盘临时存储不够解决方法一:清空/tmprm -rf /tmp/*方法二:修改my.cnf中的tmpdir参数,指向具有新的暂存目录原创 2019-06-20 09:42:22 · 2599 阅读 · 0 评论 -
MySQL 技巧合集 (更新)
统计每列不同值出现的频数SELECT COLUMN_NAME,count(*) num FROM gse70116 GROUP BY COLUMN_NAME查询所有字段名select COLUMN_NAME,DATA_TYPE,COLUMN_COMMENT from information_schema.COLUMNS where table_name = '表名' and table_s...原创 2019-06-20 10:09:35 · 358 阅读 · 0 评论 -
Linux下导入与导出SQL文件
一、导入数据库1、建空数据库格式:mysql>create database 数据库名;举例:mysql>create database database_name;2、导入数据库2.1 方法一:终端命令行直接导入(常用): 格式:mysql -u用户名 -p 数据库名 < 数据库名.sql举例:mysql -uuser_name -p da...原创 2016-06-03 16:21:22 · 13303 阅读 · 0 评论