# -*- coding: utf-8 -*-
import unittest
from sqlalchemy import create_engine
from sqlalchemy.engine import reflection
class TestMySQL(unittest.TestCase):
def setUp(self):
# 创建连接
self.engine = create_engine("mysql+pymysql://root:123456@10.168.3.2:3307/book_portal?charset=utf8")
# 创建inspector对象
self.insp = reflection.Inspector.from_engine(self.engine)
# 打印表结构
columns = self.insp.get_columns('user_log')
# for i in columns:
# print(i)
# print("---------------------------TABLE:user_log-----------------------------")
def test_table_name(self):
# 判断login_log表是否在mysql这个实例库中
self.assertIn("login_log", self.insp.get_table_names())
def test_column(self):
# login_log表中是否有desc字段
Desc = None
columns = self.insp.get_columns("user_log")
for col in columns:
if "desc" == col["name"]:
Desc = col["name"]
self.assertIsNotNone(Desc)
def test_keyprimary(self):
# 验证login_log表中id字段是否为主键
k = self.insp.get_pk_constraint("user_log")
self.assertIn("id", k["constrained_columns"])
if __name__ == "__main__":
unittest.main()
python脚本连接数据库
于 2022-02-24 15:26:51 首次发布