SQLServer基本操作
a. 简单查询
例1:查询数据库student的数据表tbl_student中所 有学生信息。 use student
Select * From tbl_student 例2:查询数据库student的数据表course中所有课 程的课程号、课程名和学分信息。 use student Select cno, cname, credit
SQLServer 介绍
基本概念
• 数据库
管理
数据库管理系统(DBMS)
数据库的核心部分 管理用户对于数据库的一切操作 Access、SQL Server、Oracle等
需要长期存放在计算机内的有组织、 可共享的数据集合 按一定数据模型组织、描述和存储 小冗余、独立性、易扩展、可共享
SQL Server中执行SQL语句
用SQL语句实现
1. 新建数据库 2. 设计数据库表
a. b. c. d. 新建数据库表 修改数据库表 设置主键、设置主键值自增 设置外键依赖
3. 编辑数据 4. 查询数据 • 示例:理论课作业数据库DBHomework
1 新建数据库
在新建查询的窗口中输入SQL语句,点击 “执行”,在消息框中可以看到执行结果提 示;如果执行失败,则显示错误原因。 刷新后才能看到新建的数据库。
*注意:下次课编程时需要用账号密码登录,所以如果不记得密码,需要 通过wi建数据库
刷新后可以看到新建的数据库
2 设计数据库表
a.新建数据库表
保存时输入表名
2 设计数据库表
b.修改数据库表 C.设置主键
2 设计数据库表
C.设置主键整型并自增 1)新建SPJ表, 设置ID为主键,类型为int 2)选中ID列,修改列属性
2 设计数据库表
• 创建J表-SQL use DBHomework create table J (JNO nvarchar(50) primary key, JNAME nvarchar(50) , CITY nvarchar(50) ) use DBHomework create table P (PNO nvarchar(50) primary key, PNAME nvarchar(50) , COLOR nvarchar(50), WEIGHT int ) • 修改SPJ表-SQL use DBHomework alter table SPJ add PNO nvarchar(50) foreign key references P(PNO) alter table SPJ add JNO nvarchar(50) foreign key references J(JNO) • 设置主键自增 create table STAFF (ID int identity(1,1) primary key, SNO nvarchar(50), foreign key (SNO) references S(SNO) )
• 删除数据
use DBHomework delete from S where SNO='S3'
4 查询数据
语句格式
SELECT [ALL|DISTINCT] <目标列表达式> [,<目标列表达式>] … FROM <表名或视图名>[, <表名或视图名> ] … [ WHERE <条件表达式> ] [ GROUP BY <列名1> [ HAVING <条件表达式> ] ] [ ORDER BY <列名2> [ ASC|DESC ] ];
f. 多表查询
几乎和单表查询一样:
1. 2. 3. 从FROM子句中的所有表的笛卡儿积开始 根据WHERE子句的指示执行选择操作 根据SELECT子句的指示执行扩展投影操作
f. 多表查询(续)
例1:对于数据库Student的数据表Student 和 sc,查询每个学生及其选课情况
use Student
3 编辑数据
• 插入数据
use DBHomework insert S (SNO,SNAME,STATUS) values ('S2','盛锡','20') insert S values ('S3','东方红','30','北京')
*所有列的值按顺序输入时可以省略列名
• 更新数据
use DBHomework update S set CITY = '北京' where SNO = 'S1‘
(2)患者
输入身体参数:血压等 关联社区医生,身体参数可与该医生共享 阅读社区医生给出的建议
• 技术实现:个人独立完成;用MFC和 SQL SERVER联合开发
实验课进度预览: 围绕终期大作业展开
1、系统设计文档: MFC 需求分析、功能设计、界面设计和开发 2、数据库设计文档: Power Designer E/R模型设计与逻辑模型转换结果 3、数据库基本操作: SQL Server 通过SQLServer管理数据库;执行SQL语句 4、终期大作业编程: MFC+SQL Server 通过代码连接数据库;实现医生患者注册、登录功能 5、终期大作业编程: MFC+SQL Server 实现功能:患者与医生关联、患者数据录入且医生可以查看 6、终期大作业编程: MFC+SQL Server 实现功能:医生录入建议,患者可以查看 7、课堂检查大作业 最终程序源码与执行文件终期大作业报告
管理工具
• Microsoft SQL Server Management Studio
– 集成环境,该工具可以完成访问、配置、控制、 管理和开发SQL Server的所有工作。 – 图形化工具和多功能的脚本编辑器组合
• SQL Server配置管理器
– 可以查看和控制SQL Server的服务
• SQL Server Profiler
From course
b. distinct查询
distinct:查询数据库中不同的记录
例1:查询数据库student的数据表course中 的不同记录
use student
Select distinct * From course
c. 计算列查询
例1:查询数据库Student的数据表Course中的不同记录,且让 学分加倍 use student Select distinct cno, cname, cpno, credit*2 From course 例2:查询数据库Student的数据表Course中的不同记录,且让 学分加倍,最后使用园点将cno和cname连接后,输出查询结果 use student Select distinct cno+'.'+cname, cpno, credit*2 From course
Select student.*, sc.* From student, sc Where student.sno = sc.sno
f. 多表查询(续)
例2:对于数据库Student的数据表Student 和 sc,查询2号课程且成绩在80分以上的学 生信息
use Student
Select student.sno, sname, grade From student, sc Where student.sno = sc.sno and sc.grade>80
查询示例数据库
数据库Student中包含以下数据表: • Student(sno c 5, sname c 10,ssex c 1, sage int, sdept c 15 ) • Course(cno int, cname c 10, credit int) • SC(sno c 5 , cno int, grade int )
作业1:完成理论课作业数据库的创建,并实现特定查询
• 请完成S\J\P\SPJ表的创建,并按照下表填充数据 • 注意每个表均有自己的主键;SPJ表中包含三个外键依赖;
用SQL语言完成如下查询 1. 求供应工程J1零件的供应商号码SNO 2. 求供应工程J1零件P1的供应商号码SNO 3. 求供应工程 J1 零件为红色的供应商号码 SNO 4. 求没有使用天津供应商生产的红色零件 的工程号JNO 5. 求至少用了供应商 S1 所供应的全部零件 的工程号JNO
计算机软件技术基础 数据库
实验3 SQLServer基本操作
课程老师:吕旭东 教授 助教:黄珏 2014-12-18
终期大作业内容: 高血压家庭管理系统 设计与开发
• 用户角色:患者、社区医生 • 功能基本要求: (1)社区医生
收录患者 阅读自己负责患者的身体参数 给患者医疗建议(药物、饮食、运动等方面)
e. where查询(2)
例2:查询数据库Student的数据表Course中 学分在2与6之间的不同记录
use Student Select distinct cno '课程序号', cname '课程序号', credit '课程学分' From course Where credit between 2 and 6
数据库模型 or 数据存储结构
o 层次模型
o 网状模型
o 关系模型
体系结构
• 数据库引擎
– 核心服务 – 数据存储、处理和安全管理
• 分析服务
– 联机分析处理和数据挖掘功能
• 报表服务ቤተ መጻሕፍቲ ባይዱ
– 生成企业报表 – 支持各种形式的查看、管理安全性和订阅
• 集成服务
– 数据集成平台,处理各式数据源
– 完成系统运行过程的摄录操作