创建mysql数据库视图

创建mysql数据库视图
创建mysql数据库视图

为mysql的数据库创建视图

数据库的表关系图:

只创建t_project、t_task、t_fertillizer、t_styleType、t_fertStyle、t_fertType六张表的关系视图

打开navicat软件,连接到数据库,找到要创建视图的库,右键 创建视图

将要创建视图的表全部拖拽到右边的空白区域,先后顺序是:t_project、t_task、t_fertillizer、t_styleType、t_fertStyle、t_fertType

选中表中的列,将重复的id去掉,这里是t_ fertillizer整张表里的列id作为整张视图的id,需要保留

在下面的框内找到select行,修改t_fertillizer.ID的别名为id,此id作为整张视图的id

根据表之间的关系,拖拽一张表的列与另一张表的列进行连接

拖拽之后就会在下面的from处生成相应的代码

保存并输入视图名称,通常以v开头

保存之后,关闭视图重新打开可以看到代码区域也改变了

打开视图可以看到里面的数据,说明创建成功,还可以看到id这一列

数据库原理视图的创建与使用实验报告

***大学计算机科学与信息学院软件工程系上机实验报告

显示结果: 2、用企业管理器创建、管理视图 (1)创建视图 A、使用企业管理器在表teacher上创建一职称为副教授的教师视图teacherview视图,该视图中需包 括以下信息:姓名,系别,职称,工资。 1)依次进入企业管理器、数据库、XSGL库,并用鼠标右键单击“视图”。 2)在系统弹出的快捷菜单中单击“新建视图”,出现“新建视图”窗口。

B、使用企业管理器在表student、course、sc表上创建一个能查询学生的学号、姓名、课程名及课程成绩的视图,视图名为S_C_VIEW。 (2)修改视图stuview1 将视图studview1的定义修改为从student表中查询出MA系学生的学号,姓名,系别。 (提示:修改视图:在企业管理器中选中视图后->击右键->按设计视图->进行修改) (3)管理视图中的数据 1)查看视图stuview1中的数据。 (提示:用鼠标右键单击要管理的视图stuview1,单击“打开视图”,再单击“返回所有行”。)

2)将视图stuview1中学号为“6”的学生姓名改为“许华”。再重新打开student表观察一下,有什么变化(注:须按按钮“!”进行修改确认。) 3、用T-SQL语言创建、管理视图 (1)创建视图 ①创建一个名为stuview2的水平视图,从数据库XSGL的student表中查询出性别为“男”的所有学生的资 料。并在创建视图时使用with check option。(注:该子句用于强制视图上执行的所有修改语句必须符合由Select语句where中的条件。) T-SQL语句为: CREATE VIEW stuview2 AS SELECT* FROM Student WHERE Ssex='男' WITH CHECK OPTION; ②创建一个名为stuview3的视图,能检索出CS系所有女生的学号、选修的课程名及相应的成绩。 T-SQL语句为: CREATE VIEW stuview3 AS SELECT,, FROM SC,Course WHERE= AND IN ( SELECT Sno FROM Student WHERE Sdept='CS'AND Ssex='女'); ③创建一个名为stuview4的视图,能检索出选课学生的学号、姓名、课程名、成绩。

用MySQL创建数据库和数据库表(新手必看)

用MySQL创建数据库和数据表: 步骤: 1、使用show语句找出在服务器上当前存在什么数据库:mysql>show databases; 2、创建一个数据库test: mysql>create database test; 3、选择你所创建的数据库: mysql>use test; 4创建一个数据表: 首先查看刚才创建的数据库中存在什么表: mysql>show tables; (说明刚才创建的数据库中还没有数据库表)

接着我们创建一个关于students的数据表:包括学生的学号(id),姓名(name),性别(sex),年龄(age)。 mysql>create table students(id int unsigned not null auto_increment primary key,name char(8) not null,sex char(4) not null,age tinyint unsigned not null,); 解释:以"id int unsigned not null auto_increment primary key" 行进行介绍: "id" 为列的名称; "int" 指定该列的类型为int(取值范围为-8388608到8388607), 在后面我们又用"unsigned" 加以修饰, 表示该类型为无符号型, 此时该列的取值范围为0到16777215; "not null" 说明该列的值不能为空, 必须要填, 如果不指定该属性, 默认可为空; "auto_increment" 需在整数列中使用, 其作用是在插入数据时若该列为NULL, MySQL将自动产生一个比现存值更大的唯一标识符值。在每张表中仅能有一个这样的值且所在列必须为索引列。"primary key" 表示该列是表的主键, 本列的值必须唯一, MySQL将自动索引该列。 下面的char(8) 表示存储的字符长度为8, tinyint的取值范围为-127到128, default 属性指定当该列值为空时的默认值。

数据库实验报告_数据库的视图和图表的定义及使用

数据库实验报告_数据库的视图和图表的定义及使用贵州大学实验报告 学院:计信学院专业:网络工程班级:101 姓名学号实验组 实验时间 05.30 指导教师罗昊成绩实验项目名称数据库的视图和图表的定义及使用实 验使学生掌握SQL Server中的视图创建向导和图表创建向导的使用方法,加深对视目图和SQL Server图表作用的理解。 的 实本实验属于验证型实验,通过实验,加强对课堂讲授知识的理解。开始实验前,必验须进行预习,写出实现所有查询要求的SQL语句。实验过程中,先集中由老师进行具体要要求和注意事项的讲解,然后各自独立在机器上完成实验。实验过程中出现问题,在实求验指导老师帮助下解决。 1、创建视图 假设在图书_读者数据库中已经建立了图书、读者和借阅3个表,它们的结构为: 图书(书号,类别,出版社,作者,书名,定价); 借阅(书号,读者借书证号,借阅日期); 读者(借书证号,姓名,单位,性别,电话) 实如果要在上述3个表的基础上建立一个视图,取名为读者_VIEW,其操作用SQL语验句表示为: 原CREATE VIEW 读者_VIEW AS SELECT 图书.*,借阅.* FROM 图书,借阅,读者理 WHERE 图书.书号=借阅.书号 AND 借阅.读者借书证号=读者.借书证号;

利用SQL Srever 2000中提供的视图创建向导,来创建读者_VIEW视图。 2、查看和修改视图 视图创建好后,就可以利用它进行查询信息了。如果发现视图的结构不能很好地满 足要求,还可以在企业管理器中对它进行修改 3、删除视图 删除视图的方法是:首先要在企业管理器中,将鼠标指针指向数据库中的视图文件 夹,单击右键。在随后出现的弹出菜单中,选择“删除”项,会出现删除视图对话框。 选中欲删除的视图,单击“全部移出”按钮,被选中的视图就会从视图中被移出。 4、创建关联表 假如要在图书_读者数据库中建立一个读者_借阅_图书关系,要求该图表包括图书、 借阅和读者三个表,并包括它们之间的“图书.书号=借阅.书号 AND 借阅.读者借书证 号=读者.借书证号”的外码与被参照表之间的关联,即用关联表实现上述视图的功能。 在企业管理器中通过向导建立数据库关联表。 5、编辑数据库图表 在企业管理器中,展开数据库图表所属的服务器、数据库文件夹、数据库以及关系

2.1MySQL创建数据库表

鲁琴Handout #2 网络数据库技术2013-03-04 网络数据库技术—创建数据库和表 学会了如何键入命令后,就可以学习如何访问数据库了。 这部分的主要内容: ◆命令行方式创建数据库和表 ◆界面创建数据库和表 ◆有关表结构 ◆MySQL的数据类型 1.命令行方式创建数据库 这部分主要介绍如何使用MySQL命令行客户端创建及使用一个简单的数据库。 假设要处理学生相关的信息,可以通过创建表来保存数据,以及从表中检索数据。在这部分,我们将学习如何执行下面的操作: ◆创建数据库 ◆创建表 我们可以使用SHOW命令来显示当前服务器上存在的所有数据库。mysql> SHOW DATABASES; Mysql数据库描述了用户的访问权限;test 数据库通常作为示例,做用户的工作空间。 不同的机器显示出的数据库是不同的;如果没有SHOW DATABASES权限的话,用这个命令是不能显示出数据库的。 如果存在test数据库,我们来访问它。 mysql> USE test Database changed

注意:USE命令,同QUIT命令一样, 后面不需要分号(;)(当然了,如果加上;也没有关系)。另外,USE 命令有一点是特别的:它必须写在一行上。 你可以使用test数据库(如果你可以访问它)来试验下面的命令,但是你做的任何操作都可能被同样可以访问这个数据库的其他用户改变。所以你应该请求MySQL管理员允许你使用自己的数据库。假设你自己的数据库名字为xscj,管理员需要执行下面的命令: mysql> GRANT ALL ON xscj.* TO 'your_mysql_name'@'your_client_host'; 这里,your_mysql_name 是MySQL 用户的名字,your_client_host是你现在正在工作的连接到服务器的主机的名字。 1.1 创建数据库 1.1.1 创建数据库xscj mysql> CREATE DATABASE xscj; 在Unix操作系统下,数据库名字区分大小写(这不同于SQL关键字),表名也区分大小写。在Windows操作系统下,数据库名及表名不区分大小写(尽管在同一个查询语句中大小写应一致),但是在使用过程中最好使用与创建时一致的大小写。 注意:当创建数据库时,显示如下错误提示: ERROR 1044 (42000): Access denied for user 'monty'@'localhost' to database 'menagerie' 这表示你的用户账号没有创建数据库的权限,我们在“MySQL访问权限”一节中再讨论这个问题。 1.1.2 选择数据库xscj 创建一个数据库后,并不能直接使用这个数据库。必须用USE命令将这个数据库变成当前活动的数据库: mysql> USE xscj Database changed 同一个数据库只能创建一次,但是每次使用它时都要用USE命令。 另外,可以在连接mysql服务器时,用连接参数指定当前活动的数据库。shell> mysql -h host -u user -p xscj Enter password: ******** 1.1.3 查询当前活动数据库的命令: SELECT DATABASE();

SQL server创建视图

什么是视图 大家都知道,我们国家现在“神七”上天了。从美国的月球登月开始,人类上天不再是神话。听说,在美国,你只要出几十万美元,您就可以上一次月球进行太空旅行,所以,我们相信:在不久的将来,上天旅行将走进我们百姓的生活,那是一件多么新鲜神奇的事情啊。好多美国人上天后,他们用望远镜观看我们的地球,结果看到的地球形状各不相同。有的说象绿色的橘子,有的说象白色的大鸭梨,有的说象蓝色的大西瓜。这是为什么呢?你肯定会说:那是因为从不同的角度(视角),看到的不同形状而已。那么,从不同的视角,将看到不同的“图形”,这就是我们马上讲到的视图。我们的学员信息也是如此:对于学员的信息和成绩,老师比较关心学员成绩以及是否参加考试,包括姓名、学号、笔试、机试、是否通过等。班主任则比较关心学生档案,包括姓名、学号、性别和年龄。 其实,视图就是一张虚拟表,它表示一张表的部分数据或多张表的综合数据,其结构和数据是建立在对表的查询基础上 ?视图中并不存放数据,而是存放在视图所引用的原始表(基表)中 ?同一张原始表,根据不同用户的不同需求,可以创建不同的视图 视图的用途 –筛选表中的行 –防止未经许可的用户访问敏感数据 –降低数据库的复杂程度 –将多个物理数据库抽象为一个逻辑数据库 使用视图可以给用户和开发人员带来很多好处。具体为: 1.对最终用户的好处 (1)结果更容易理解 创建视图时,可以将列名改为有意义的名称,使用户更容易理解列所代表的内容。在视图中修改列名不会影响基表的列名。 (2)获得数据更容易 很多人对SQL不太了解,因此对他们来说创建对多个表的复杂查询很困难。可以通过创建视图来方便用户访问多个表中的数据。 2.对开发人员的好处 (1)限制数据检索更容易 开发人员有时需要隐藏某些行或列中的信息。通过使用视图,用户可以灵活地访问他们需要的数据,同时保证同一个表或其他表中的其他数据的安全性。要实现这一目标,可以在创建视图时将要对用户保密的列排除在外。 (2)维护应用程序更方便

用MySql创建数据库和表

用MySql创建数据库和表 关键字: mysql 1、使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW DATABASES; +----------+ | Database | +----------+ | mysql | | test | +----------+ 3 rows in set (0.00 sec) 2、创建一个数据库abccs mysql> CREATE DATABASE abccs; 注意不同操作系统对大小写的敏感。 3、选择你所创建的数据库 mysql> USE abccs Database changed 此时你已经进入你刚才所建立的数据库abccs. 4、创建一个数据库表 首先看现在你的数据库中存在什么表: mysql> SHOW TABLES; Empty set (0.00 sec) 说明刚才建立的数据库中还没有数据库表。下面来创建一个数据库表 mytable: 我们要建立一个你公司员工的生日表,表的内容包含员工姓名、性别、出生日期、出生城市。 mysql> CREATE TABLE mytable (name VARCHAR(20), sex CHAR(1), -> birth DATE, birthaddr VARCHAR(20)); Query OK, 0 rows affected (0.00 sec) 由于name、birthadd的列值是变化的,因此选择VARCHAR,其长度不一定是20。可以选择从1到255的任何长度,如果以后需要改变它的字长,可以使用ALTER TABLE语句。);性别只需一个字符就可以表示:"m"或"f",因此选用 CHAR(1);birth列则使用DATE数据类型。 创建了一个表后,我们可以看看刚才做的结果,用SHOW TABLES显示数据库中有哪些表: mysql> SHOW TABLES; +---------------------+ | Tables in menagerie | +---------------------+ | mytables | +---------------------+

数据库视图的创建

实验五创建视图 实验目的: ①进一步熟悉视图的基本功能; ②熟练掌握视图的创建以及基本的操作; ③熟练sql server的使用方法。 实验步骤: ①建立信息系学生的视图 createview IS_Student asselect Sno,Sname,sage from Student where Sdept='I S' 省略了视图IS_Student的列名,则默认由select中的Sno,Sname,sage组成; 执行结果: select * from IS_Student ②建立信息系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有信息系的学 生 createview IS_Student1asselect Sno,Sname,sage from Student where Sdept='I S'withcheckoption 执行结果与①的结果相同。 ③建立信息系选修了1号课程的学生的视图 createview IS_S1(Sno,Sname,Grade)asselect Student.Sno,Sname,Grade from Student,SC where Sdept='IS'AND student.Sno=SC.Sno and https://www.360docs.net/doc/e012158514.html,o=1 执行结果:SELECT*FROM IS_S1

④建立信息系选修了1号课程且成绩在90分以上的学生的视图 createview IS_S2asselect Sno,Sname,Grade from IS_S1where grade>=90 执行结果:SELECT*FROM IS_S2 ⑤定义一个反映学生出生年月的视图。 createview BT_S(Sno,Sname,Sbirth)asselect Sno,Sname,2012-Sage from Stu dent 执行结果如下:

用MySQL创建数据库和数据库表

用MySQL创建数据库和数据库表 帐户luowei505050的专栏 类别数据库 #用MySQL创建数据库和数据库表 #1、使用SHOW语句找出在服务器上当前存在什么数据库:SHOW DATABASES; #2、创建一个数据库db1 create database db1; #3、选择你所创建的数据库 use db1; #use test; #4、创建一个数据库表 create table t_person (FNamevarchar(20),Fageint); # 5、显示表的结构: SHOW TABLES; #查看表中数据 select * from t_person; # 6、往表中加入记录 Insert Into t_person(FName,FAge) values('Jim',25); Insert Into t_person(FName,FAge) values('green',38);

Insert Into t_person(FName,FAge) values('kate',20); Insert Into t_person(FName,FAge) values('john',23); Insert Into t_person(FName,FAge) values('tom',28); Insert Into t_person(FName,FAge) values('daviy',30); #查看表中数据 select * from t_person; # 7、用文本方式将数据装入一个数据库表 LOAD DATA LOCAL INFILE "mytable.txt" INTO TABLE pet; #其它操作 insert into t_person(fname) values('lily'); insert into t_person values('poly',22); updatet_person set fage=30; updatet_person set fage=20 where fname='tom'; updatet_person set fage=50 where fname='tom' or fname='jim'; delete from t_person where fname='jim'; delete from t_person where fage>30; delete from t_person;

数据库-视图归纳

什么是视图? 视图是从一个或多个表(或视图)导出的表 使用视图有什么优点? 答:1.为用户集中数据,简化用户的数据查询和处理 2.屏蔽数据库的复杂性 3.简化用户权限的管理 4.便于数据的共享 5.可以重新组织数据以便输出到其他应用程序中 视同和表有什么区别? 视图是一张虚表,视图所对应的数据不进行实际存储,不占用存储空间,表是一张实表,表所对应的数据进行实际存储,占用存储空间 视图可以用于界面方式创建和命令方式创建,本章着重于命令方式创建命令方式创建视图格式如下: CREATE VIEW 视图名【视图列名1,视图列名2】 AS 查询语句 视图和表一样可以用作查询,更新,修改和删除 例如 查找平均成绩在80分以上学生的学号和平均成绩 CREATE VIEW CS_CJ (学号,平均成绩) AS SELECT 学号,AVG(成绩) FROM CJB GROUP BY 学号

SELECT 学号,平均成绩 FROM CS_CJ WHERE 平均成绩>=80 更新视图的作用? 通用更新视图(包括插入、修改和删除)数据可以修改基本数据;但并不是所有的视图都可以更新,只有对满足可更新条件的视图,才能进行更新。 哪些视图可更新 1.创建视图的SELECT语句中没有聚合函数,且没有TOP、GROUP BY、UNION子句 及DISTINCT关键字 2.创建视图的SELECT 语句中不包括从基本表列通过计算所得的列 3.创建视图的SELECT语句的FROM句子中至少要包含一个基本表 例如向CS_XS视图中插入以下记录 (‘081115’,’刘明仪’,1,’1998-3-2’,’计算机’,50,NULL) INSERT INTO CS_XS VALUES (‘081115’,’刘明仪’,1,’1998-3-2’,’计算机’,50,NULL) 例如:将CS_KC视图中学号为081101的学生的101号课程成绩改为80 UPDATE CS_KC SET 成绩=80 WHERE 学号=’081101’ AND 课程号=’101’ 修改视图,举例说明 例:将CS_SX视图修改为只包含计算机专业学生的学号、姓名和总学分 ALTER VIEW CS_XS AS SELECT 学号,姓名,总学分 FROM XSB WHERE 专业=’计算机’

数据库原理-视图

数据库原理及应用课程计算机系09级本科班级第10讲 章节名称第3章关系数据库标准语言SQL 3.5数据更新 3.6视图 第4章数据库的安全性 4.1数据为安全性概述 教学目的掌握数据更新语句。(Grasp Data Modification Statements) 掌握视图的定义、查询及更新。(Grasp the Definition、Query and Modification of View)并要灵活应用 理解数据库安全性的含义。(Comprehend the meanings of Database Security) 了解TDI/TCSEC可信计算机系统评测标准。(Know the trusted Computer System Evaluation Criteria of TDI/TCSEC) 教学内容1.数据更新(Updata Insert Delete)2.视图的定义、视图的更新、视图的查询3.数据库安全性概述 教学重点数据更新(Updata Insert Delete) 视图的定义、查询及更新。(Definition、Query and Modification of View)理解数据库安全性 教学难点视图的概念及作用(Concepts and Functions of View) 存取控制、视图机制。(Access Control、View Mechanism)专业术语Table View select 作业 3、4、5 教学方法启发式教学法+实例对比法 教学后记

第3章SQL语言 3.5数据更新(学生讲) 3.6视图 视图的特点:1、虚表,是从一个或几个基本表(或视图)导出的表 2、只存放视图的定义,不会出现数据冗余 3、基表中的数据发生变化,从视图中查询出的数据也随之改变 基于视图的操作:查询、删除、受限更新、定义基于该视图的新视图 一、定义视图 1.建立视图 语句格式:CREATE VIEW<视图名>[(<列名>[,<列名>]…)] AS<子查询> [WITH CHECK OPTION]; 说明: ●DBMS执行CREATE VIEW语句时只是把视图的定义存入数据字典,并不执行其中的SELECT 语句。在对视图查询时,按视图的定义从基本表中将数据查出。 ●组成视图的属性列名:全部省略或全部指定 省略:由子查询中SELECT目标列中的诸字段组成 明确指定视图的所有列名: (1)某个目标列是集函数或列表达式 (2)目标列为* (3)多表连接时选出了几个同名列作为视图的字段 (4)需要在视图中为某个列启用新的更合适的名字 2.视图的各种形式 1)行列子集视图 [例1]建立信息系学生的视图。 CREATE VIEW IS_Student AS SELECT Sno,Sname,Sage FROM Student WHERE Sdept='IS'; 特点:从单个基本表导出、只是去掉了基本表的某些行和某些列、保留了码 2)有WITH CHECK OPTION选项的视图 透过视图进行增删改操作时,不得破坏视图定义中的谓词条件(即子查询中的条件表达式) [例2]建立信息系学生的视图,并要求透过该视图进行更新操作只涉及信息系学生。 CREATE VIEW IS_Student AS

MySQL建立电子商城数据库

DBMS Project——淘宝数据库设计

一、数据库需求 根据淘宝网的功能设计数据库。使用MySQl 数据库软件完成设计。 淘宝网作为国内最优秀的C2C网站(没有之一)满足了广大人民足不出户方便购物的需求。由最广大买家和买家组建起来的交易平台,每天都有难以计数的数据库应用的需要。从检索,到插入删除,新建列表,都依赖于背后的数据库系统的支持。 我们了解到,淘宝网最初的数据库系统即由MySQl构建,后来随着规模的扩大而升级。本次Project就是运用MySQL来设计实现淘宝的数据库。 具体描述: 1)用户user需先注册。 2)用户登录前,可以检索所有商品goods和店铺shop。用户登陆后,可以下订单order和购买商品,实现加入购物车shoppingcart和收藏夹favourite功能。 3)用户可注册开店,此处需要开店认证功能。为使系统简洁,限制每位用户只能开1家店铺。 4)相同商品按店铺不同区分,ID也不同。即,同一本数据库系统教程,在店铺A和B出售,其ID也不同。同一店铺内同一本书的ID显然相同。 5)下订单后需要支付功能。 6)管理员功能。用户可以对所开店铺内商品进行添加、修改和删除。管理员有权对所有店铺内商品进行删除。

二、E/R图 三、关系设计 1)用户表 User (uid, uname, password, phonenum, email, urate ) 用户表(user)主要包括用户ID,昵称,密码,电话,邮箱。用户ID是主键。

2)店铺表 Shop ( sid, uid, sname, srate, satisfy ) 店铺表(shop )包括店铺ID ,店铺名,用户 ID (即掌柜ID ),店铺等级,顾客满意度。店铺ID 是主键,uid 是外键。 3)商品列表 Goods (gid, gname, sid, price, category, salesvol, reserve, desc ) 商品列表(goods )包括商品ID ,商品名,店铺ID ,价格,品类,销售量, 库存,描述。商品ID 是主键,sid 是外键。

数据库的查询和视图

实验四数据库的查询和视图 T4.1 数据库的查询 1.目的与要求 (1)掌握select语句的基本语法; (2)掌握子查询的表示 (3)掌握连接查询的表示 (4)掌握select语句的group by子句的作用和使用方法 (5)掌握select语句的order by子句的作用和使用方法 2 实验准备 (1)了解SELECT语句的基本语法格式; (2)了解SELECT语句的执行方法; (3)了解子查询的表示方法; (4)了解连接查询的表示; (5)了解SELECT语句的GROUPBY子句的作用和使用方法; (6)了解SELECT语句的ORDER BY子句的作用; 3实验内容 SELECT语句的基本使用。 ①对于实验2给出的数据库表结构,查询每个雇员的所有数据。 新建一个查询,在查询分析器中输入如下语句并执行: USEYGGL GO SELECT* FROMEmployees 【思考与练习】 用SELECT语句查询Departments和Salary表中所有的数据信息。

用SELECT语句查询Employees表中每个雇员的地址和电话。 【思考与练习】 a.用SELECT语句查询Deparments和Salary表的一列或若干列。 b.查询Employees表中的部门号和性别,要求使用DISTINCT消除重复行。 c.查询EmployeeID为000001的雇员的地址和电话。

【思考与练习】 a.查询月收入高于2000元的员工号码。 b.查询1970年以后出生的员工的姓名和住址。 c.查询所有财务部的员工的号码和姓名。 d.查询Employees表中女雇员的地址和电话,使用AS子句将结果中各列的标题分别指定为地址、电话。 【思考与练习】使用SELECT语句进行简单的计算。 ⑦获得员工总数。

mysql数据库实验答案

实验一创建、修改数据库和表结构 1、用create建立教学数据库的五个基本表: (1)学生表(学号,姓名,性别,年龄),student((Sno, sname,ssex,sage) ; (2)课程表(课程号,课程名,学分),Course (Cno, Cname, credit) ; (3)选课表(学号,课程号,成绩),SC (Sno,, Cno, grade ) ; (4) 教师表(教师号,姓名,性别,出生年月,系部,职称,地址), T(Tno,Tname,ssex,birthday,dept,title,address) ; (5) 工资表(教师号,基本工资,职务工资,合计),Salary(Tno,jbgz,zwgz,hj); Create Database Student default character set utf8 default COLLATE utf8_bin;

Use Student; Create Table Student( SNo c har(20) primary key, SName char(20) , SSex char(4) default '男', SAge int ) ENGINE=InnoDB; Create Table Course( CNo c har(20) primary key, CName char(20) NOT NULL,

CRedit f loat ) ENGINE=InnoDB; Create Table SC( SNo c har(20) NOT NULL, CNo c har(20) NOT NULL, Grade float, Primary Key(SNo, CNo), Foreign Key(SNo) References Student(SNo) On Delete Cascade, Foreign Key(CNo) References Course(CNo) )ENGINE=InnoD B;

数据库更新及视图

课程实验报告 课程名称数据库系统概论班级XXXXX 实验日期XXXXX 姓名XXX 学号XXXXX 实验成绩 实验名称实验2:数据更新及视图 实验目的及要求1.掌握数据更新语句;2.掌握视图的使用。 实验环境操作系统:Windows DBMS:SQL Server 2005 实验内容商品(商品号字符(3),商品名字符(20),单价浮点型,商品类别字符(5),供应商字符(20)); 顾客(顾客号字符(3),姓名字符(10),住址字符(20)); 购买(顾客号字符(3),商品号字符(3),购买数量整型); 用SQL语句实现如下题目: 1.创建上述3个表。 2.往表中插入数据: 商品:M01,佳洁士,8.00,牙膏,宝洁; M02,高露洁,6.50,牙膏,高露洁; M03,黑人,7.50,牙膏,联合利华; M04,舒客,6.2,牙膏,舒客; M05,狮王,12.2,牙膏,狮王; 顾客:C01,Dennis,海淀; C02,John,朝阳; 购买:C01,M01,13;C01,M05,12; C01,M04,22;C02,M02,15; 3.将所有的牙膏商品单价增加20%。 4.将宝洁供应商改为P&G。 5.删除所有卖出总数量少于20个的商品信息,不包括从没有卖出的商品。6.删除没有购买记录的商品。 7.创建顾客号,商品号,商品名称,单价,购买数量的视图。 调试过程 及实验结 果 2:往表中插入数据:

3:将所有的牙膏商品单价增加20%: 4:将宝洁供应商改为P&G: 5:删除所有卖出总数量少于20个的商品信息,不包括从没有卖出的商品: 6:删除没有购买记录的商品: 7:创建顾客号,商品号,商品名称,单价,购买数量的视图:

MySQL数据库技术》实验报告模板

MySQL数据库技术实验报告 系别班级学号姓名地点 地点机房课程名称MySQL数据库技术实验名称实验1 MySQL的使用 实验过程 目的要求: (1)掌握MySQL服务器安装方法 (2)掌握MySQL Administrator的基本使用方法 (3)基本了解数据库及其对象 实验准备: (1)了解MySQL安装的软硬件要求 (2)了解MYSQL支持的身份验证模式 (3)了解MySQL各组件的主要功能 (4)基本了解数据库、表、数据库对象 实验内容: 1.安装MySQL服务器和MySQL界面工具 安装MySQL界面工具。(插入安装好的界面工具截图即可) 2.利用MySQL客户端访问数据库 (1)打开开始,程序,MySQL,MySQL server 5.1,MySQL command line client,进入MySQL客户端界面,输入管理员密码登录。 (2)在客户端输入“help”或“\h”,查看MySQL帮助菜单,仔细阅读帮助菜单的内容。

(3)实用show语句查看系统自动创建的数据库。 (4)实用USE语句选择mysql数据库为当前数据库。(5)使用SHOW TABLES 语句查看当前数据库中的表。

(6)使用了一条SELECT语句查看mysql数据库中存储用户信息表的user的内容。 (7)使用use语句将当前的数据库设定为information_schema,并查看数据库数据库中有哪些表。<图表见下页>

实验小结: 在安装MySql中有时可能不能安装不成功,那么卸载时,会存在删除不完全的情况。导致再次安装时依然不成功。 在对某个数据库进行操作之前,必须先选中该数据库。 在MySql安装过程中,注意修改字符集为gb2312或gbk, 以支持中文信息输入。

如何用MySQL创建数据库和数据库表

用MySQL创建数据库和数据库表 1、使用SHOW语句找出在服务器上当前存在什么数据库: 2、创建一个数据库abccs mysql> CREATE DATABASE abccs; 注意不同操作系统对大小写的敏感。 3、选择你所创建的数据库 mysql> USE abccs Database changed 此时你已经进入你刚才所建立的数据库abccs. 4、创建一个数据库表 首先看现在你的数据库中存在什么表: mysql> SHOW TABLES; Empty set (0.00 sec) 说明刚才建立的数据库中还没有数据库表。下面来创建一个数据库表mytable: 我们要建立一个你公司员工的生日表,表的内容包含员工姓名、性别、出生日期、出生城市。 由于name、birthadd的列值是变化的,因此选择VARCHAR,其长度不一定是20。可以选择从1到255的任何长度,如果以后需要改变它的字长,可以使用ALTER TABLE语句。);性别只需一个字符就可以表示:"m"或"f",因此选用CHAR(1);birth列则使用DATE数据类型。 创建了一个表后,我们可以看看刚才做的结果,用SHOW TABLES显示数据库中有哪些表:

5、显示表的结构: 6、往表中加入记录 我们先用SELECT命令来查看表中的数据: mysql> select * from mytable; Empty set (0.00 sec) 这说明刚才创建的表还没有记录。 加入一条新记录: 再用上面的SELECT命令看看发生了什么变化。我们可以按此方法一条一条地将所有员工的记录加入到表中。 7、用文本方式将数据装入一个数据库表 如果一条一条地输入,很麻烦。我们可以用文本文件的方式将所有记录加入你的数据库表中。创建一个文本文件“mysql.txt”,每行包含一个记录,用定位符(tab)把值分开,并且以在CREATE TABLE语句中列出的列次序给出,例如:

data数据库实验五视图创建与使用

实验五视图的创建与使用 一、实验目的 (1)理解视图的概念。 (2)掌握创建视图、测试、加密视图的方法。 (3)掌握更改视图的方法。 (4)掌握用视图管理数据的方法。 二、实验内容 1.创建视图 (1)创建一个名为stuview2的水平视图,从数据库Student_info的Student表中查询出性别为“男”的所有学生的资料。并在创建视图时使用with check option。(注:该子句用于强制视图上执行的所有修改语句必须符合由Select语句where中的条件。) create view stuview2 as select Sno,Sname,Sex,Birth,Classno,Entrance_date,Homeaddr,Sdept,Postcode from Student_20103322 where Sex='男' with check option

(2)创建一个名为stuview3的投影视图,从数据库Student_info的Course表中查询学分大于3的所有课程的课程号、课程名、总学时,并在创建时对该视图加密。(提示:用with ENCRYPTION关键子句) create view stuview3 with ENCRYPTION as select Cno,Cname,Total_perior from Course_20103322 where Credit>3 with check option

(3)创建一个名为stuview4的视图,能检索出“051”班所有女生的学号、课程号及相应的成绩。 create view stuview4 as select Student_20103322.Sno,Cno,Grade from Student_20103322,SC_20103322 where Student_20103322.Sno=SC_20103322.Sno and Classno='051' and Sex='女'

数据库查询视图

第二章数据的查询的视图 实验指导书 实验目标: 查询语句的编写和视图的创建。 第一部分练习指导(50分钟) 联系1:测试ROWID和ROWNUM伪列 问题: 用户表没有建立主键约束而插入了重复的记录,为了解决数据冗余问题,必须删除表中的重复记录,用户应用程序之、只关心查询结果集中的一部分,需要限制查询返回的行数。 分析: Oracle 的RowID伪列可以唯一地标识表中的一行,可以利用ROWID删除表中重复的记录。ROWNUM伪列返回查询结果集中行的序号,可以通过ROWNUM限制查询返回的行数。 解决方案: (1)启动 SQL *Plus,并登录到数据库。 (3)测试ROWID伪列。 可以看到每个行的ROWID值都是不同的。现在删除第三行。

在次执行查询语句,就可以看到第三条记录已经被删除。由此可见,即使不定义主键,Oracle也可以唯一区分表中的行,因为ROWID可以当作表的主键。(4)测试ROWNUM伪列。 上述命令返回两条记录。可以看出,使用ROWNUM 伪列可以实现类似SQL SERVER 中的TOP N功能。 练习2:使用select语句创建表 问题: 假如scott用户下的表emp要做比较大的调整。Select语句可以与其它表中的重要的记录做一个副本。 分析: Select 语句可检索存储在数据库中的数据。Select 语句还可以与其它的DDL 和DML语句一起使用来执行各种操作,如创建表、插入记录和指定列的别名等。 解决方案: (1)创建表emp表的副本,但不包含表中的记录。 (2)使用select 语句选择记录并插入到另一个表中。

练习3: 使用子查询 问题 编写sql语句,查询出工资比blake高的员工的信息。 解决方案 (1)先查询出blake的工资。 (2)利用where条件筛选出比blake的工资高的员工的信息。 (3)在sql提示符下输入一下命令,查看结果。 select * from emp where sal > (select sal from emp where ename='BLAKE'); 第二部分练习(50分钟) 1.使用上一次练习中创建的三个表,查询出所有数学考试成绩都在60分以上的学生的名字和所在班级。 分析: (1)在成绩表中查询出数学成绩在60分以上的学生。 (2)利用where语句在学生信息表中筛选出这些学上的信息。 2.利用学生信息表创建一个视图,只显示学生的姓名和年龄。 3.创建一个视图,显示学生的姓名和平均成绩,并按照分数升序排列。 提示:使用 A VG 函数和 ORDER BY 子句. 4. 编写语句以显示vendor_master表中vencode,venname 和venadd列,如果veradd列问空,则该语句显示venadd1,否则显示veradd2. 提示:使用NVL2函数 第三部分作业 1.按照第二部分练习1的要求创建一个视图。 2.编写一个sql语句,查询出所有平均分数在70和80分之间的学生信息。 3.编写一个sql语句,查询出某一个班所有课程的平均分数。 编写语句以显示order_master表中的订单的orderno,同时要显示系统日期与该订单的del_date的月份数差值,将该值四舍五入显示月份数。

MySQL数据库考试试题及答案

专业:移动通信科目:MySQL数据库 一、单项选择题 1.以下聚合函数求数据总和的是( ) A.MAX B.SUM C.COUNT D.AVG 答案:B 2.可以用( )来声明游标 A.CREATE CURSOR B.ALTER CURSOR C.SET CURSOR D.DECLARE CURSOR 答案:D 3.SELECT语句的完整语法较复杂,但至少包括的部分是( ) A.仅SELECT B.SELECT,FROM C.SELECT,GROUP D.SELECT,INTO 答案:B 4.SQL语句中的条件用以下哪一项来表达( ) A.THEN B.WHILE C.WHERE D.IF 答案:C 5.使用CREATE TABLE语句的( )子句,在创建基本表时可以启用全文本搜索A.FULLTEXT B.ENGINE C.FROM D.WHRER 答案:A 6.以下能够删除一列的是( ) A.alter table emp remove addcolumn B.alter table emp drop column addcolumn C.alter table emp delete column addcolumn D.alter table emp delete addcolumn 答案:B 7.若要撤销数据库中已经存在的表S,可用()。 A.DELETE TABLE S B.DELETE S C.DROP S D.DROP TABLE S 答案:D

8.查找表结构用以下哪一项( ) A.FIND B.SELETE C.ALTER D.DESC 答案:D 9.要得到最后一句SELECT查询到的总行数,可以使用的函数是( ) A.FOUND_ROWS B.LAST_ROWS C.ROW_COUNT D.LAST_INSERT_ID 答案:A 10.在视图上不能完成的操作是( ) A.查询 B.在视图上定义新的视图 C.更新视图 D.在视图上定义新的表 答案:D 11.UNIQUE惟一索引的作用是( ) A.保证各行在该索引上的值都不得重复 B.保证各行在该索引上的值不得为NULL C.保证参加惟一索引的各列,不得再参加其他的索引 D.保证惟一索引不能被删除 答案:A 12.用于将事务处理写到数据库的命令是( ) A.insert B.rollback C.commit D.savepoint 答案:C 13.查找条件为:姓名不是NULL的记录( ) A.WHERE NAME ! NULL B.WHERE NAME NOT NULL C.WHERE NAME IS NOT NULL D.WHERE NAME!=NULL 答案:C 14.主键的建立有( )种方法 A.一 B.四 C.二 D.三 答案:D 15.在视图上不能完成的操作是( ) A.更新视图数据

相关文档
最新文档