医院管理系统数据库,课程设计,SQLserver,纯代码设计

Posted 做一道光

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了医院管理系统数据库,课程设计,SQLserver,纯代码设计相关的知识,希望对你有一定的参考价值。

首先创建数据库,并建立各个表之间的主外键约束等,并插入数据。

create database 医院信息管理系统
on(
 name=医院信息管理系统,
 filename='D:\\数据库课程设计\\医院信息管理系统\\医院信息管理系统.mdf',
 size=5,
 filegrowth=1
 )
 log on
 ( name=医院信息管理系统_log,
  filename='D:\\数据库课程设计\\医院信息管理系统\\医院信息管理系统_log.ldf',
  size=2,
  maxsize=30,
  filegrowth=10%
  )
  use 医院信息管理系统
  go
  create table 医生表
  (医生编号 char(15) not null primary key,
   姓名 char(10) not null unique,
   性别 char(5) null,
   年龄 int null,
   职称 char(11) null,
   科室号 char(20) null)
   go
   alter table 医生表
   add constraint ys_zc default '医师' for 职称
   go
   alter table 医生表
   add constraint fk_ks foreign key(科室号) references 科室表(科室号)
   go
   create table 科室表
   (科室号 char(20) not null primary key,
    科室名 char(10)  not null ,
    科室地址 char(20) null,
    科室电话 char(10) null,
    科室主任 char(10) null)
    go
    create table 病人表
    (病历号 char(15) not null primary key,
     姓名  char(10) not null,
     性别 char(5) null,
     年龄 int null,
     病房号 char(15) null,
     医生姓名 char(10) null,
     血型 char(4) null,
     确诊结果 char(10)null,
     科室号 char(20) null)
    go
    alter table 病人表
    add constraint fk_ksh foreign key(科室号) references 科室表(科室号)
    go
    create table 病房表
    (病房号 char(15)  not null primary key,
     床位数 int null, 
     病房地址 char(20) null,
     科室号 char(20) null)
    go
    alter table 病人表
    add constraint fk_bfh foreign key(病房号) references 病房表(病房号)
    go
    alter table 病房表
    add constraint fk_sk foreign key(科室号) references 科室表(科室号)
    go
    create table 护士表
    (护士编号 char(15) not null primary key,
     姓名  char(10) not null,
     性别 char(5) null,
     年龄 int null,
     科室号 char(20) null)
     go
     alter table 护士表
     add constraint fk_skh foreign key(科室号) references 科室表(科室号)
     go
     create table 分配表
     ( 病房号 char(15) not null,
       护士编号 char(15) not null,
       primary key (病房号,护士编号),
       foreign key(病房号) references 病房表(病房号),
       foreign key(护士编号) references 护士表(护士编号)) 
      go
insert into 科室表(科室号,科室名,科室地址,科室电话,科室主任)
values('101','内科','A1101','10001','高飞'),
('102','外科','A1102','10002','李想'),
('103','儿科','A1103','10003','邓杨'),
('104','妇科','A1104','10004','刘宇'),
('105','神经科','A1105','10005','白皓'),
('201','脑外科','A1201','20001','宋思琪'),
('202','泌尿科','A1202','20002','孙怡'),
('203','骨科','A1203','20003','杨子龙'),
('204','内分泌科','A1204','20004','张子怡'),
('205','口腔科','A1205','20005','郭易曼'),
('301','眼科','A1301','30001','王陆明'),
('302','耳喉鼻科','A1302','30002','韩子琦'),
('303','皮肤科','A1303','30003','徐若鸿'),
('304','心脏外科','A1304','30004','李丽'),
('305','胸外科','A1305','30005','陈若玉')
go
insert into 医生表(医生编号,姓名,性别,年龄,职称,科室号)
values('101001','高飞','男','30','主任医师','101'),
('101002','杨蕾','女','24','住院医师','101'),
('101003','齐风','男','27','主治医师','101'),
('101004','李想','女','45','主任医师','102'),
('101005','朱珠','女','30','主治医师','102'),
('101006','陆风','男','35','主治医师','102'),
('101007','邓杨','男','30','主治医师','103'),
('101008','程悦','女','28','副主治医师','103'),
('101009','刘宇','女','40','副主任医师','104'),
('101010','刘子怡','女','34','主治医师','104'),
('101011','白皓','男','58','主任医师','105'),
('101012','苏楠','女','32','主治医师','105'),
('101013','宋思琪','女','50','主任医师','201'),
('101014','陆大明','男','24','住院医师','201'),
('101015','孙怡','女','33','主治医师','202'),
('101016','刘楠','男','33','主治医师','202'),
('101017','杨子龙','男','35','主治医师','203'),
('101018','焦丹','女','23','住院医师','203'),
('101019','张子怡','女','38','副主任医师','204'),
('101020','李娟','女','32','主治医师','204'),
('101021','郭易曼','女','35','主治医师','205'),
('101022','刘晓','男','22','住院医师','205'),
('101023','王陆明','男','36','主治医师','301'),
('101024','张珍','女','29','副主治医师','301'),
('101025','韩子琦','男','31','主治医师','302'),
('101026','乔芳','女','31','主治医师','302'),
('101027','徐若鸿','男','49','主任医师','303'),
('101028','陆磊','男','31','主治医师','303'),
('101029','李丽','女','51','主任医师','304'),
('101030','高涛','男','31','主治医师','304'),
('101031','陈若玉','女','39','副主任医师','305'),
('101032','刘思雨','女','30','主治医师','305')
go
insert into 病房表(病房号,床位数,病房地址,科室号)
values('001','4','B1001','101'),
('002','5','B1002','101'),
('003','1','B1003','102'),
('004','2','B1004','102'),
('005','0','B1005','103'),
('006','3','B1006','103'),
('007','2','B1007','104'),
('008','3','B1008','105'),
('009','1','B1009','105'),
('010','2','B1010','201'),
('011','1','B1011','201'),
('012','3','B1012','202'),
('013','2','B1013','203'),
('014','2','B1014','204'),
('015','1','B1015','204'),
('016','5','B1016','205'),
('017','2','B1017','301'),
('018','1','B1018','302'),
('019','3','B1019','303'),
('020','1','B1020','303'),
('021','2','B1021','304'),
('022','1','B1022','304'),
('023','3','B1023','305'),
('024','2','B1024','305')
go
select *
from 科室表
go
select *
from 医生表
go
select 医生表.姓名 , 科室名
from 医生表 join 科室表
on 医生表.科室号=科室表.科室号
go



use 医院信息管理系统
go
insert into 病人表(病历号,姓名,性别,年龄,病房号,医生姓名,血型,确诊结果,科室号)
values('21101','王胜安','男','31','001','齐风','A','肺炎','101'),
('21102','蔡壮保','男','54','002','高飞','B','慢性气管炎','101'),
('21103','易江伟','男','28','003','陆风','O','自发性气胸','102'),
('21104','张顺谷','男','32','004','朱珠','AB','胆道结石','102'),
('21105','李鑫灏','男','8','006','邓杨','A','细菌性痢疾','103'),
('21106','梁澄静','女','8','006','程悦','A','诺如腹泻','103'),
('21107','时党舒','女','26','007','刘宇','B','宫颈炎','104'),
('21108','何刚名','男','66','008','白皓','O','脑梗塞','105'),
('21109','严席华','男','58','008','苏楠','B','脑出血','105'),
('21110','刘鲜发','男','32','010','宋思琪','A','脑积水','201'),
('21111','何毅','男','35','010','陆大明','O','脑脓肿','201'),
('21112','唐宸禹','男','38','011','宋思琪','B','颅脑外伤','201'),
('21113','张顺联','男','50','012','刘楠','A','泌尿结石','202'),
('21114','汤青','女','29','012','孙怡','B','急性肾炎','202'),
('21115','柯纤栩','女','34','013','焦丹','AB','腰间盘突出','203'),
('21116','夏莱','女','30','014','张子怡','B','电解质紊乱','204'),
('21117','杜鹃','女','28','015','李娟','A','内分泌紊乱','204'),
('21118','张洪赫','男','25','016','郭易曼','B','慢性牙周炎','205'),
('21119','池慕颖','女','26','016','刘晓','AB','口腔白斑','205'),
('21120','齐芬霞','女','69','017','王陆明','O','白内障','301'),
('21121','卢全旭','男','66','017','张珍','A','青光眼','301'),
('21122','卓互知','男','45','018','韩子琦','AB','中耳炎','302'),
('21123','元感奇','男','16','019','徐若鸿','O','扁平疣','303'),
('21124','秦长乐','男','32','020','陆磊','B','皮肤癣','303'),
('21125','丘寸心','男','48','021','李丽','O','血胸','304'),
('21126','路从风','男','18','022','高涛','B','漏斗胸','304'),
('21127','王浩','男','29','023','陈若玉','A','胸部异物','305'),
('21128','潘奕','女','30','024','刘思雨','AB','胸腔积液','305')
go
insert into 护士表(护士编号,姓名,性别,年龄,科室号)
values('110101','夏一柳','女','25','101'),
('110102','席梦荣','女','28','101'),
('110103','李文倩','女','22','102'),
('110104','绕詹林','男','24','102'),
('110105','吴申萌','女','29','103'),
('110106','田甜','女','23','103'),
('110107','高悦然','女','25','104'),
('110108','刘子诺','女','21','104'),
('110109','张以诺','女','22','105'),
('110110','赵佳宇','女','22','105'),
('110111','张怡铭','女','35','201'),
('110112','蒋欣芹','女','26','201'),
('110113','马航钰','女','30','202'),
('110114','苏芷璇','女','25','202'),
('110115','王晓甜','女','24','203'),
('110116','陈子媛','女','26','203'),
('110117','董璇','女','21','204'),
('110118','孙玉','女','23','204'),
('110119','李婉婷','女','28','205'),
('110120','宋雨涵','女','31','205'),
('110121','邓梦琪','女','24','301'),
('110122','崔佳玉','女','26','301'),
('110123','郭星瞳','女','24','302'),
('110124','郭思羽','女','23','302'),
('110125','王雨橙','女','28','303'),
('110126','刘子琳','女','27','303'),
('110127','李雨霏','女','29','304'),
('110128','陆嘉晨','女','24','304'),
('110129','张馨予','女','23','305'),
('110130','刘欣悦','女','27','305')
go
insert into 分配表(病房号,护士编号)
values('001','110101'),
('002','110102'),
('003','110103'),
('004','110104'),
('005','110105'),
('006','110106'),
('007','110107'),
('007','110108'),
('008','110109'),
('009','110110'),
('010','110111'),
('011','110112'),
('012','110113'),
('012','110114'),
('013','110115'),
('013','110116'),
('014','110117'),
('015','110118'),
('016','110119'),
('016','110120'),
('017','110121'),
('017','110122'),
('018','110123'),
('018','110124'),
('019','110125'),
('020','110126'),
('021','110127'),
('022','110128'),
('023','110129'),
('024','110130')
go

此时数据库已经建立好了,下面进行数据库的基本操作。

use 医院信息管理系统
insert into 病人表(病历号,姓名,性别,年龄,病房号,医生姓名,血型,确诊结果)
values('21129','张淦','男','25','024','刘思雨','O','胸腔积液')
go
delete
from 病人表
where 病历号='21129'
go
update 护士表
set 年龄='26'
where 姓名='夏一柳'
go
select 病历号,病人表.姓名,病人表.性别,病人表.年龄,病房号,血型,医生姓名,职称,医生表.科室号
from 病人表 join 医生表
on 病人表.医生姓名=医生表.姓名
where 确诊结果='脑积水'
go
select 科室号,COUNT(护士编号) as '护士人数'
from 护士表
group by 科室号
go
select 科室号,COUNT(病房号) as '病房数'
from 病房表
group by 科室号
having(COUNT(病房号))>1
go
select AVG(年龄) as '全体医生平均年龄'
from 医生表
go
select  姓名,年龄
from 病人表
order by 年龄 desc
go
select 护士编号,姓名,YEAR(GETDATE())-年龄 as '出生日期'
from 护士表
go
select 护士表.护士编号,病房号,姓名
from 护士表 join 分配表
on 护士表.护士编号=分配表.护士编号
go
select  病历号,病人表.姓名,病人表.性别,血型,病房号,医生姓名,职称,医生表.科室号,科室表.科室名,科室表.科室地址
from 病人表 join 医生表
on 病人表.医生姓名=医生表.姓名
join 科室表
on 医生表.科室号=科室表.科室号
go
create view v_pyk
as
select  病历号,病人表.姓名,病人表.性别,血型,病房号,医生姓名,职称,医生表.科室号,科室表.科室名,科室表.科室地址
from 病人表 join 医生表
on 病人表.医生姓名=医生表.姓名
join 科室表
on 医生表.科室号=科室表.科室号
go
select *
from v_pyk
go
update v_pyk
set 病房号='021'
where 病历号='21126'
go
create proc pr_inf @pr varchar(20)
as
select 病人表.姓名,病人表.性别,血型,医生姓名,医生编号,确诊结果
from 病人表 join 医生表
on 病人表.医生姓名=医生表.姓名
where 病人表.姓名 like @pr 
go
exec pr_inf '张%'
use 医院信息管理系统
go
alter proc hs_bf @hno char(6),@bno char(10) output ,@bed varchar(10) output 
as
select @bno=分配表.病房号,@bed=床位数
from 分配表 join 病房表
on 病房表.病房号=分配表.病房号
where 护士编号 =@hno
set @bed=convert(varchar,@bed)
go
declare @bno1 char(10),@bed1 varchar(10)
exec hs_bf '110101',@bno1 output ,@bed1 output
print '病房号'+@bno1
print '床位数'+@bed1
go
use 医院信息管理系统
go
alter trigger tri_br 
on 病人表
after delete,update
as
declare @sno char(10) ,@cno char (10)
select @sno =病历号 from deleted
select @cno=病房号 from deleted
delete from 病人表 where 病历号=@sno
update  病房表
set 床位数=床位数+1
where @cno = 病房表.病房号
go
delete from 病人表 where 病历号='21102'
go



下面是各个表的实体图

 

 

 

 下面是数据流图

 下面是医院管理E-R图

下面是医院功能结构图

1.设计任务 

1.1系统开发背景概述

随着计算机技术的飞速发展,计算机在医院管理中应用的普及,利用计算机实现医院管理势在必行。对于大中型医院来说,利用计算机支持医院高效率完成劳动医院管理的日常事务,就是适应现代医院管理制度要求、推动医院管理走向科学化、规范化的必要条件。

目前市面上流行的信息管理系统不少。但就是,对于中型医院的医院管理系统来说,不需要大型的数据库系统。只需要一个操作方便,功能实用,能满足本中心对数据的管理及需求的系统。我们的目标就就是在于开发一个功能实用、操作方便,简单明了的医院管理系统。能够录入医院的基本资料,在操作上能够完成诸如添加、修改、删除、按各种条件进行查询、新用户的设置及密码修改等方面的工作,基本满足人事日常业务的需要。团队完成了此课题的研究与开发,包括分析、设计、编码、测试、文档编写等内容。

1.2系统开发的目的与意义

随着现代化社会的发展,为了抓住机遇,在竞争中占得先机,作为管理企业的一个必不可少的重要环节—在线管理的信息化、计算机化也就迫在眉捷了。开发在线管理信息系统即有宏观上的意义,那就就是顺应时代信息化、现代化潮流,提高效益,促进国民经济管理的结构优化;也有微观上的意义,那就就是可以提高管理的现代化程序,加强管理的信息化手段,提高工作效率,增加单位效益。

电子计算机与通信技术的快速发展使人类已经逐渐地进入信息化社会。信息与材料、能源一样成为一种社会的基本生产资料,在人类的社会生产活动中发挥着重要的作用。当前,医院还面临着越来越激烈的市场竞争、要想在竞争中取胜,也必须采用先进的管理方法与手段。一个规划周详、设计先进的计算机信息管理网络系统就是取得竞争胜利的必备手段。通过实现先进的计算机网络化管理,能为领导层的管理与决策及时提供可靠的数字依据,使管理更合理、更先进;减少人力、物力资源的浪费,降低成本;提高工作效率,提高管理效率;提高经济效益,从而提高医院的整体竞争力。建立以人事管理为中心的医院信息网络管理系统,以适应医院长期快速发展的需要,更重要的就是能使患者在医院得到更加满意的治疗。

2 需求分析

2.1信息要求

 图2-1医院信息系统的功能模块图

本课程设计模拟一般医院的信息管理情况,方便对医院信息的查询。经过充分的调研,确定本系统应对病人基本信息、科室基本信息、医生基本信息、病房基本信息、护士基本信息、护士的分配情况进行管理,本系统主要要求为:

  • 能够全面的管理病人基本信息、科室基本信息、医生基本信息、病房基本信息、护士基本信息以及护士分配信息。
  • 本系统可以方便维护各种信息。
  • 本系统能够方便查询各个信息表的基本信息。
  • 能够方便实现多个信息表的连接查询、嵌套查询。
  • 本系统能够实现有用信息的查询统计。
  • 本系统能够实现有用信息的输出。

2.2数据流图

 

    图2-2医院信息管理数据流图

2.3数据字典

数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等五个部分进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。本次实验主要对数据字典的数据项进行分析。如表2所示:

表2数据项

序号

数据项

数据类型

长度

备注

1

医生编号

CHAR

6

医生的工作编号

2

姓名

VARCHAR

20

医生的姓名

3

性别

CHAR

2

医生的性别

4

年龄

INT

医生的年龄

5

职称

VARCHAR

20

医生的职称

6

科室号

CHAR

3

医生的科室号

7

病历号

CHAR

5

病人的病历号

8

姓名

VARCHAR

20

病人的姓名

9

性别

CHAR

2

病人的性别

10

年龄

INT

病人的年龄

11

病房号

CHAR

3

病人的病房号

13

血型

VARCHAR

2

病人的血型

14

科室号

CHAR

3

病人的所属科室

15

确诊结果

VARCHAR

20

病人的诊断报告

16

科室号

CHAR

3

科室的编号

17

科室名

VARCHAR

20

科室的名字

18

科室地址

VARCHAR

20

科室的地址

19

科室电话

VARCHAR

10

科室的电话

20

科室主任

VARCHAR

20

科室的主任

21

病房号

CHAR

3

病房的编号

22

床位数

INT

病房的床位数

23

科室号

CHAR

3

病房的所属科室

24

病房地址

VARCHAR

20

病房的地址

25

护士编号

CHAR

6

护士的编号

26

姓名

VARCHAR

20

护士的姓名

27

性别

CHAR

2

护士的性别

28

年龄

INT

护士的年龄

29

科室号

CHAR

3

护士的所属科室

3 概念结构设计

3.1医院信息系统实体属性

医院医生的实体属性,主要包括医生的医生编号,姓名,性别,年龄,科室号,职称。如图3-1医生实体属性图所示:

  图3-1医生实体属性图

医院科室的实体属性,主要包括科室的科室号,科室名,科室地址,科室电话,科室主任;如图3-2科室实体属性图所示:

 图3-3病房实体属性图

医院护士的实体属性,主要包括护士编号,姓名,性别,年龄,科室号。如图3-4护士实体属性图所示: 

医院病人的实体属性图,主要包括病历号,姓名,性别,年龄,确诊结果,医生姓名,病房号,血型,科室号。如图3-5病人实体属性图所示: 

3.2总E-R图

医院信息管理总E-R图,如图3-6总E-R图所示:

4 逻辑结构设计

4.1关系模式:

医生(医生编号、姓名、性别、年龄、职称、所属科室号)

病人(病历号、姓名、性别、年龄、病房号、医生姓名、血型、所属科室号、诊断)

科室(科室号、科室名、科室地址、科室电话、科室主任)

病房(病房号、床位号、所属科室号、病房地址)

护士(护士编号、姓名、性别、年龄、所属病房号)

5 物理结构设计

5.1数据关系模式的优化:

对于1对N关系的挂号,可以在病人模式中加入科室号属性。

对于1对N关系的属于,可以在医生模式中加入科室号属性。

对于1对N关系的拥有,可以在病房模式中加入科室号属性。

这样得到优化的关系模式:

病人(病历号、姓名、性别、年龄、病房号、医生姓名、血型、确诊结果、科室号

医生(医生编号、姓名、性别、年龄、职称、科室号

病房(病房号床位号、病房地址、科室号

对于N对M的关系模式,可以生成一个新的模式:

分配(病房号护士编号

对于优化后的关系模式:

医生(医生编号、姓名、性别、年龄、职称、科室号

病人(病历号、姓名、性别、年龄、病房号、医生姓名、血型、确诊结果、科室号

科室(科室号、科室名、科室地址、科室电话、科室主任)

病房(病房号、床位号、病房地址、科室号

护士(护士编号、姓名、性别、年龄、科室号

分配(病房号护士编号

分析,关系模式的每个关系都是不可再分的原子值,即为第一范式,又因为每个非主属性都不传递依赖于模式的候选键,因此该模式集为第三范式。

通过优化后关系模式得出医生表:

表4.1医生基本信息表

列名

数据类型

字段大小

是否为空

备注

医生编号

CHAR

6

NOT

主键

姓名

VARCHAR

20

NOT

性别

CHAR

2

NOT

年龄

INT

NOT

职称

VARCHAR

20

YES

科室号

CHAR

3

YES

外键

通过优化后关系模式得出病人表:

表4.2病人基本信息表

列名

数据类型

字段大小

是否为空

备注

病历号

CHAR

5

NOT

主键

姓名

VARCHAR

20

NOT

性别

CHAR

2

NOT

年龄

INT

NOT

病房号

CHAR

3

YES

医生姓名

VARCHAR

      20

YES

血型

CHAR

2

YES

确诊结果

VARCHAR

20

YES

科室号

CHAR

3

YES

外键

通过优化后关系模式得出科室表:

表4.3科室基本信息表

列名

数据类型

字段大小

是否为空

备注

科室号

CHAR

3

NOT

主键

科室名

VARCHAR

20

NOT

科室地址

VARCHAR

20

YES

科室电话

VARCHAR

10

YES

Python+MySQL开发医院网上预约系统(课程设计)一

一:开发环境的配置

1:桌面环境为cnetos+python2.7

2:MySQL的安装与配置

  1)MySQL的安装

wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm
  • 安装软件源:
sudo rpm -Uvh mysql57-community-release-el7-10.noarch.rpm
  •  安装MySQL服务端
yum install  -y  mysql-community-server
  • 启动MySQL
service mysqld start
systemctl start mysqld.service
  •  检查MySQL状态
service mysqld status

systemctl status mysqld.service

技术分享图片

这样就表示MySQL运行成功。

  • 修改临时密码:
    •   获取MySQL的临时密码

为了加强安全性,MySQL5.7为root用户随机生成了一个密码,在error log中,关于error log的位置,如果安装的是RPM包,则默认是/var/log/mysqld.log。只有启动过一次mysql才可以查看临时密码

grep temporary password /var/log/mysqld.log

(如果之前安装过MySQL则这里可能会有多个密码,用最后一个,注意这个密码输入时是可以粘贴的)

技术分享图片

此密码加密过,可以复制,后面直接用

  • 登陆并修改密码
mysql -uroot -p

(这是一个MySQL的以密码登录root用户的命令)

用该密码登录到服务端后,必须马上修改密码再执行一些数据库操作,不然会报如下错误:

mysql> select @@log_error;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql>
    •   修改密码(注意,登录后的操作后面都最好要有;结尾)
ALTER USER root@localhost IDENTIFIED BY root123;
    •   如果密码设置太简单出现以下的提示

       ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

        如何解决ERROR 1819 (HY000): Your password does not satisfy the current policy requirements呢?

        必须修改两个全局参数:
        首先,修改validate_password_policy参数的值

mysql> set global validate_password_policy=0;

        再修改密码的长度

set global validate_password_length=1;

        再次执行修改密码就可以了

ALTER USER root@localhost IDENTIFIED BY root123;

(ALTER等可以写成小写)

3:python操作MySQL数据库

  • Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口。

    Python 数据库接口支持非常多的数据库,你可以选择适合你项目的数据库:

    • GadFly
    • mSQL
    • MySQL
    • PostgreSQL
    • Microsoft SQL Server 2000
    • Informix
    • Interbase
    • Oracle
    • Sybase
  • 什么是MySQLdb?

  MySQLdb 是用于Python链接Mysql数据库的接口,它实现了 Python 数据库 API 规范 V2.0,基于 MySQL C API 上建立的。

  python2.*版本可以使用MySQLdb,不过不支持python3,python3中有一个pymysql,详细安装方法见这里

  • 安装MySQL:
yum install MySQL-python

一定要注意这蛋疼的大小写

  • 安装完成后,在python中
import MySQLdb

不报错就证明模块安装完成

4:数据库连接

连接数据库前,请先确认以下事项:

  • 您已经创建了数据库 TESTDB.
  • 在TESTDB数据库中您已经创建了表 EMPLOYEE
  • EMPLOYEE表字段为 FIRST_NAME, LAST_NAME, AGE, SEX 和 INCOME。
  • 连接数据库TESTDB使用的用户名为 "testuser" ,密码为 "test123",你可以可以自己设定或者直接使用root用户名及其密码,Mysql数据库用户授权请使用Grant命令。
  • 在你的机子上已经安装了 Python MySQLdb 模块。
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import MySQLdb

# 打开数据库连接
db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB", charset=utf8 )

# 使用cursor()方法获取操作游标 
cursor = db.cursor()

# 使用execute方法执行SQL语句
cursor.execute("SELECT VERSION()")

# 使用 fetchone() 方法获取一条数据
data = cursor.fetchone()

print "Database version : %s " % data

# 关闭数据库连接
db.close()

执行以下脚本输出结果:

Database version : 5.0.45

 



以上是关于医院管理系统数据库,课程设计,SQLserver,纯代码设计的主要内容,如果未能解决你的问题,请参考以下文章

Python+MySQL开发医院网上预约系统(课程设计)一

数据库课程设计SQLServer数据库课程设计(学生宿舍管理),课设报告+源码+数据库关系图

SQLServer课程设计(百货批发管理系统)

第一次课程设计的感受

书店管理系统课程设计( sql server+python)

基于SSM+Layui实现医院预约挂号系统

(c)2006-2024 SYSTEM All Rights Reserved IT常识