大家好,欢迎来到IT知识分享网。
博主用的是:MySQL、Navicat Premium 15(连接数据库开发工具)
博主在连接数据库彻底疯狂后,终于搭建成功了。(强烈建议用mysql+pycharm+Navicat Premium 15)其中:pycharm为python运行的环境,类似于VSCode。
一、代码以及运行结果
1、python代码如下:
import pymysql import datetime def link():#链接数据库 #host=input("请输入主机名:") user=input("请输入用户名:") password=input("请输入密码:") name=input("请输入数据库名称:") global dblink global dbin global dname dblink=pymysql.connect(host='localhost',user=user,password=password,database=name) #host='localhost' 默认为当前主机 dbin=dblink.cursor() #获取游标,游标是系统为用户开设的一个数据缓冲区,存放sql语句的执行结果 def closelink():#关闭链接 dbin.close() dblink.close() if __name__ =="__main__": link() dbin.execute("select * from 接种人员") #查询《接种人员》表的结果 #dblink.commit() 只有当执行插入(insert)、更新(update)、删除(delete)等对数据库修改的语句时,才需要提交事务(commit) u = dbin.fetchall() #获取查询结果 #打印结果 m = [("身份证号", "姓名", "出生日期", "性别", "联系电话", "家庭住址", "不良反应")] for i in u: m.append(i) if len(m) == 1: print("数据库中无相关数据") else: for i in m: for j in i: if type(j) == datetime.date: #所导入的表中有一时间类型,需对此额外对此str()处理 j = str(j) print('|', '%s'.center(10) % j, '|', end=' ') print('\n') closelink()
2、运行结果如下:
二、操作步骤
1、先打开mysql服务
前提是已经下好mysql了哦,如果还未下载的话,请自行搜索教程下载。
(1)在电脑桌面左下角搜索框内按“ + ”
(2)弹出页面:
(3)输入“ services.msc ”点击确定
(4)打开服务页面:
(5)找到mysql(或许你下载的对应的mysql版本)下图为未打开状态
右击该栏,选启动或者重新启动。
启动成功状态图如下:
2、新建数据库并导入数据
(1)打开Navicat Premium 15页面如下
(2)建立数据库
右击上图中左列“ MysqlLink ”(可根据自己实际操作情况右击此处对应的即可),选中“ 新建数据库 ”,命名为 “ 练习 ”,点确定。
(3)、上述操作完成后结果如下,数据库“ 练习 ”中一无所有
(4)、博主已准备好数据库备份供大家练习,与博文开头的代码相一致
右击上图中的数据库“ 练习 ”,点“ 新建查询 ”,将下述代码复制进去,点击运行。
-- MySQL dump 10.13 Distrib 8.0.24, for Win64 (x86_64) -- -- Host: localhost Database: 疫苗接种数据库 -- ------------------------------------------------------ -- Server version 8.0.24 /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!50503 SET NAMES utf8mb4 */; /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; /*!40103 SET TIME_ZONE='+00:00' */; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; -- -- Table structure for table `接种人员` -- DROP TABLE IF EXISTS `接种人员`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `接种人员` ( `身份证号` char(18) NOT NULL, `姓名` varchar(20) DEFAULT NULL, `生日` date DEFAULT NULL, `性别` char(2) DEFAULT NULL, `接种人联系电话` varchar(11) DEFAULT NULL, `家庭住址` varchar(80) DEFAULT NULL, `不良反应` tinyint DEFAULT NULL, PRIMARY KEY (`身份证号`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `接种人员` -- LOCK TABLES `接种人员` WRITE; /*!40000 ALTER TABLE `接种人员` DISABLE KEYS */; INSERT INTO `接种人员` VALUES ('100001','张亮','2000-02-01','男','1234567','幸福路一号',0),('100002','王五','2000-02-25','女','1234568','花园路二号',0),('100003','干将','2002-03-04','女','1234569','开心路四号',1),('100004','源氏','1960-05-03','男','1234570','快乐路三号',0),('100005','亚瑟','1962-01-01','男','1234571','开心路六号',0),('100006','王泽泽','1949-10-01','女','1234572','快乐路五号',0),('100007','李坤坤','1980-10-02','男','1234573','开心路七号',0),('100008','冯明明','1990-02-01','女','1234574','幸福路十一号',1),('100009','熊晨晨','1991-03-05','男','1234575','快乐路二十五号',0),('100010','干成成','2001-02-03','女','1234576','开心路三号',0); /*!40000 ALTER TABLE `接种人员` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `接种信息` -- DROP TABLE IF EXISTS `接种信息`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `接种信息` ( `接种编号` char(20) NOT NULL, `疫苗编号` varchar(10) DEFAULT NULL, `剂次` int DEFAULT NULL, `疫苗品种` varchar(40) DEFAULT NULL, `姓名` varchar(20) DEFAULT NULL, `身份证号` char(18) DEFAULT NULL, `接种时间` datetime DEFAULT NULL, `接种单位` varchar(40) DEFAULT NULL, PRIMARY KEY (`接种编号`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `接种信息` -- LOCK TABLES `接种信息` WRITE; /*!40000 ALTER TABLE `接种信息` DISABLE KEYS */; INSERT INTO `接种信息` VALUES ('400001','200001',1,'HZAU','王泽泽','100006','2021-01-01 00:00:00','华农校医院'),('400002','200002',1,'HZAU','李坤坤','100007','2021-01-05 00:00:00','华农校医院'),('400003','200003',1,'HZAU','冯明明','100008','2021-03-07 00:00:00','华农校医院'),('400004','200004',1,'Tsinghua','熊晨晨','100009','2021-07-20 00:00:00','华农校医院'),('400005','200005',1,'Tsinghua','干成成','100010','2021-05-21 00:00:00','华农校医院'),('400006','200006',2,'Tsinghua','王泽泽','100006','2021-02-01 00:00:00','华农校医院'),('400007','200007',2,'Tsinghua','李坤坤','100007','2021-02-07 00:00:00','华农校医院'),('400008','200008',2,'WHU','熊晨晨','100009','2021-08-20 00:00:00','华农校医院'),('400009','200009',3,'WHU','李坤坤','100007','2021-03-14 00:00:00','华农校医院'),('400010','200010',3,'WHU','王泽泽','100006','2021-03-01 00:00:00','华农校医院'); /*!40000 ALTER TABLE `接种信息` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `生产企业` -- DROP TABLE IF EXISTS `生产企业`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `生产企业` ( `厂家编号` varchar(10) NOT NULL, `厂家名称` varchar(40) DEFAULT NULL, `厂家地址` varchar(80) DEFAULT NULL, `厂家联系电话` varchar(11) DEFAULT NULL, PRIMARY KEY (`厂家编号`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `生产企业` -- LOCK TABLES `生产企业` WRITE; /*!40000 ALTER TABLE `生产企业` DISABLE KEYS */; INSERT INTO `生产企业` VALUES ('300001','一教有限公司','华农荟园','987654321'),('300002','二教有限公司','华农桃园','987654322'),('300003','三教有限公司','华农桃园','987654323'); /*!40000 ALTER TABLE `生产企业` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `疫苗` -- DROP TABLE IF EXISTS `疫苗`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `疫苗` ( `疫苗编号` varchar(10) NOT NULL, `疫苗品种` varchar(40) DEFAULT NULL, `疫苗厂家` varchar(40) DEFAULT NULL, `厂家编号` varchar(10) DEFAULT NULL, `生产日期` date DEFAULT NULL, `过期时间` date DEFAULT NULL, PRIMARY KEY (`疫苗编号`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `疫苗` -- LOCK TABLES `疫苗` WRITE; /*!40000 ALTER TABLE `疫苗` DISABLE KEYS */; INSERT INTO `疫苗` VALUES ('200001','HZAU','三教有限公司','300003','2020-01-01','2023-01-01'),('200002','HZAU','一教有限公司','300001','2020-02-02','2023-02-02'),('200003','HZAU','二教有限公司','300002','2020-03-05','2023-03-06'),('200004','Tsinghua','一教有限公司','300001','2020-04-06','2023-04-07'),('200005','Tsinghua','二教有限公司','300002','2020-05-08','2023-05-09'),('200006','Tsinghua','一教有限公司','300001','2020-06-09','2023-06-10'),('200007','Tsinghua','二教有限公司','300002','2020-07-11','2023-07-12'),('200008','WHU','三教有限公司','300003','2020-08-12','2023-08-13'),('200009','WHU','二教有限公司','300002','2020-09-13','2023-09-14'),('200010','WHU','一教有限公司','300001','2020-10-15','2023-10-16'); /*!40000 ALTER TABLE `疫苗` ENABLE KEYS */; UNLOCK TABLES; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; -- Dump completed on 2021-12-07 17:19:08
运行结果如下:
(5)、你会发现上图所示的结果,仍没有表。原因是需要刷新。
操作:右击“ MySqlLink”(数据库“ 练习 ”所在的上一层列表),点刷新。
结果如下:会发现有了四张表,数据成功导入。然后就可以在python中执行博文开头的代码了。
三、pycharm搭载链接数据库的环境
博主所用的python软件为:PyCharm Community Edition 2021.3
用python链接数据库需要用:pymysql头文件
导入此头文件库操作如下:
1、打开PyCharm Community Edition 2021.3,结果示意图如下:
2、点击最顶部一列的“ File ”,再点击“ Settings ”,再点击如图所示,结果如下
3、点击上图所示“ + ”,在输入框内输入“ pymsql ”
4、点击左下角的“ Install Package”
等待后,出现如下结果:
5、将该窗口点“ ×”,会看到如下结果(列表中有PyMySQL),即pymysql导入完成。点ok即可。
四、结束语
搭载python连接数据库的环境、建立数据库、python访问数据库步骤及代码如上,登录时所设的用户名密码为最初搭建mysql时所设。
此详细步骤都已交代完全,各位可以结合自己实际学习进行python访问数据库以及操作啦。
希望此博文可以有点作用。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/11188.html