【数据库】python连接数据库(保姆式服务,一口一口喂啊歪)

【数据库】python连接数据库(保姆式服务,一口一口喂啊歪)博主用的是:MySQL、NavicatPremium15(连接数据库开发工具)若想获取NavicatPremium15激活成功教程版,请在评论区留言,博主会私发。(这个真的又好看又好用呜呜呜)在博主在连接数据库彻底疯狂后,终于搭建成功了。(强烈建议用mysql+pycharm+NavicatPremium15)其中:pycharm为python运行的环境,类似于VSCode。一、代码以及运行结果1、python代码如下:importpymysqlimportdateti

大家好,欢迎来到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、运行结果如下:

【数据库】python连接数据库(保姆式服务,一口一口喂啊歪)


 二、操作步骤 

1、先打开mysql服务

前提是已经下好mysql了哦,如果还未下载的话,请自行搜索教程下载。

(1)在电脑桌面左下角搜索框【数据库】python连接数据库(保姆式服务,一口一口喂啊歪)内按“ 【数据库】python连接数据库(保姆式服务,一口一口喂啊歪)【数据库】python连接数据库(保姆式服务,一口一口喂啊歪) ”

(2)弹出页面:【数据库】python连接数据库(保姆式服务,一口一口喂啊歪)

(3)输入“ services.msc ”点击确定

(4)打开服务页面:【数据库】python连接数据库(保姆式服务,一口一口喂啊歪)

 (5)找到mysql(或许你下载的对应的mysql版本)下图为未打开状态

 【数据库】python连接数据库(保姆式服务,一口一口喂啊歪)

 右击该栏,选启动或者重新启动。

 启动成功状态图如下:

【数据库】python连接数据库(保姆式服务,一口一口喂啊歪)

 2、新建数据库并导入数据

(1)打开Navicat Premium 15页面如下

【数据库】python连接数据库(保姆式服务,一口一口喂啊歪)

 (2)建立数据库

右击上图中左列“ MysqlLink ”(可根据自己实际操作情况右击此处对应的即可),选中“ 新建数据库 ”,命名为 “ 练习 ”,点确定。【数据库】python连接数据库(保姆式服务,一口一口喂啊歪)

(3)、上述操作完成后结果如下,数据库“ 练习 ”中一无所有【数据库】python连接数据库(保姆式服务,一口一口喂啊歪)

(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

运行结果如下:

【数据库】python连接数据库(保姆式服务,一口一口喂啊歪)

 (5)、你会发现上图所示的结果,仍没有表。原因是需要刷新

操作:右击“ MySqlLink”(数据库“ 练习 ”所在的上一层列表),点刷新。

结果如下:会发现有了四张表,数据成功导入。然后就可以在python中执行博文开头的代码了。

【数据库】python连接数据库(保姆式服务,一口一口喂啊歪)


三、pycharm搭载链接数据库的环境

博主所用的python软件为:PyCharm Community Edition 2021.3

用python链接数据库需要用:pymysql头文件

导入此头文件库操作如下:

1、打开PyCharm Community Edition 2021.3,结果示意图如下: 

【数据库】python连接数据库(保姆式服务,一口一口喂啊歪)

2、点击最顶部一列的“ File ”,再点击“ Settings ”,再点击如图所示,结果如下

【数据库】python连接数据库(保姆式服务,一口一口喂啊歪)

 3、点击上图所示“ + ”,在输入框内输入“ pymsql ”

【数据库】python连接数据库(保姆式服务,一口一口喂啊歪)

 4、点击左下角的“ Install Package”

等待后,出现如下结果:

【数据库】python连接数据库(保姆式服务,一口一口喂啊歪)

【数据库】python连接数据库(保姆式服务,一口一口喂啊歪)

 5、将该窗口点“ ×”,会看到如下结果(列表中有PyMySQL),即pymysql导入完成。点ok即可。

【数据库】python连接数据库(保姆式服务,一口一口喂啊歪)

 四、结束语

        搭载python连接数据库的环境、建立数据库、python访问数据库步骤及代码如上,登录时所设的用户名密码为最初搭建mysql时所设。

        此详细步骤都已交代完全,各位可以结合自己实际学习进行python访问数据库以及操作啦。

        希望此博文可以有点作用。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/11188.html

(0)
上一篇 2024-03-25 08:45
下一篇 2024-03-25 14:26

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信