#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')