开发常用方法

admin / 文章 / ... / Reads: 1117

#1 Git常用方法

查看标签

git tag

添加标签

git tag -a v0.0.11 -m "project message“

提交标签

git push --tags

#2 MySQL

查看表的注释

SELECT TABLE_NAME,TABLE_COMMENT FROM information_schema.TABLES WHERE table_schema='{数据库名}'

SELECT TABLE_NAME,TABLE_COMMENT FROM information_schema.TABLES WHERE table_schema='szhsjpt_ss'

查询表列的注释

 SELECT column_name, column_comment FROM information_schema.columns where table_schema='udit_tool_ss' and table_name='ab_permission'

修改表的注释

ALTER TABLE `ab_permission` COMMENT '权限111';

修改表列的注释

ALTER TABLE `student` MODIFY COLUMN `id` COMMENT '学号';

查看字段的信息,代码如下:


ALTER TABLE 'dk_table_metadata_modify' MODIFY COLUMN 'database_name' COMMENT '数据库名称111';

select * from dk_table_metadata_modify limit 5;


查看字段的方法

show full columns from ab_permission;

alter table udit_tool_ss.ab_permission comment 'aaabbb' 

查看表的注释
ALTER TABLE `ab_permission` COMMENT '权限111';

SELECT TABLE_NAME,TABLE_COMMENT FROM information_schema.TABLES WHERE table_schema='udit_tool_ss';

查看列的注释
 SELECT column_name, column_comment FROM information_schema.columns where table_schema='udit_tool_ss' and table_name='ab_permission'

3 sqlalchemy 执行原生sql语句

1、方式一

# 查询
cursor = session.execute('select * from users')
result = cursor.fetchall()

# 添加
cursor = session.execute('insert into users(name) values(:value)', params={"value": 'abc'})
session.commit()
print(cursor.lastrowid)

2、方式二

conn = engine.raw_connection()
cursor = conn.cursor()
cursor.execute(
    "select * from t1"
)
result = cursor.fetchall()
cursor.close()
conn.close()

4 切换数据源

在Windows下的pip.ini位置

c:\Users{用户名}\AppData\Roaming\pip\pip.ini

pip.ini 的内容

[global]
timeout = 6000
index-url = http://mirrors.aliyun.com/pypi/simple/
trusted-host = mirrors.aliyun.com

5 mysql 一条语句 执行查询与更新

INSERT INTO t_member (id, name, email) VALUES

(1, 'nick', 'nick@126.com'),

(4, 'angel','angel@163.com'),

(7, 'brank','ba198@126.com')

ON DUPLICATE KEY UPDATE name=VALUES(name), email=VALUES(email);

注意:ON DUPLICATE KEY UPDATE只是MySQL的特有语法,并不是SQL标准语法!

6 工作心得

开局一把烂牌并不能决定未来,坚持走下去,你会有不一样的经历,也能看到更精彩的风景;

迷茫或面临挑战时,扪心自问,你现在的能力是否可以承担风险并且获得更好的平台或者机会;

职场中能遇到一位好领导,是很珍贵的一件事。它能告诉你如何避免走弯路,如何做正确的事情。也会给你学习成长实践的机会,甚至以身作则培养你养成好的工作习惯;

大公司的好处是显而易见的,履历镀金、项目经验、复杂度更高的业务和系统以及更多更优秀的人,能从他们身上看到并学到很多受用终生的能力;

优秀的工程师不仅需要好的技术能力,项目组织、沟通协调、抗压等软能力更重要;

优秀的技术管理者,除了管理能力,技术能力以及对业务的理解,依然是很重要的;

及时复盘,不放过每一个细节,不断寻求问题的本质,在更高的维度寻求更优解,才能避免再次犯错;

知识不是你知道多少,而是你坚持学习并且大量实践后才能成为你自身的核心竞争力;

不要放弃尝试新的可能性,要跳出舒适区,过程中要努力思考自己未来的发展路径和规划;

长期坚持做一件事,阅读、时间、思考、复盘、交流,是必不可少且一定有所得的成长方式;

#7 django

django之表多对多查询

class Boy(models.Model):
    name = models.CharField(max_length=32)

class Girl(models.Model):
    nick = models.CharField(max_length=32)

class Love(models.Model):
    b = models.ForeignKey('Boy')
    g = models.ForeignKey('Girl')

# 多对多连表查询  普通查询
love_list = Love.objects.filter(b__name='方少伟')
for row in love_list:
    print(row.g.nick) # 在这还再需要连表

# 多对多连表查询  直接连表查询完成
love_list = Love.objects.filter(b__name='方少伟').values('g__nick')  # love_list里面全是字典
for row in love_list:
    print(row['g__nick']) # 在这不再需要连表

# 多对多连表查询  直接连表查询完成
love_list = Love.objects.filter(b__name='方少伟').select_related('g') # love_list里面全是queryset对象
for row in love_list:
    print(row.g.nick) # 在这不再需要连表

kill 进程

如果父进程不是"进程组",但您想与子进程一起杀死它,则可以使用psutil(https://pythonhosted.org/psutil/#processes)。 os.killpg无法识别非进程组的pid。


import psutil

parent_pid = 30437   # my example
parent = psutil.Process(parent_pid)
for child in parent.children(recursive=True):  # or parent.children() for recursive=False
    child.kill()
parent.kill()

hive

转换时间格式

from_unixtime(unix_timestamp(to_date(create_date),'yyyy-MM-dd'),'yyyyMM')

Comments

Make a comment

Author: admin

Publish at: ...

关于作者

王硕,网名信平,十多年软件开发经验,架构师,熟悉 Java/Python/Go 等,喜欢研究技术,读书,音乐和宅在家里。
专注于研究互联网产品和技术,提供中文精品教程。 本网站与其它任何公司及/或商标无任何形式关联或合作。
Email: xujieiata@163.com

www.ultrapower.com ,王硕的博客,专注于研究互联网产品和技术,提供中文精品教程。 本网站与其它任何公司及/或商标无任何形式关联或合作。