2 数据操作语言 DML 实验

合集下载

实验二 数据操纵语言实验

实验二   数据操纵语言实验

实验二数据操纵语言实验一、实验目的⏹熟练掌握数据表的修改;⏹熟练掌握数据库输入数据、修改数据和删除数据的操作;⏹熟练掌握向数据库插入单个数据、插入成批数据;⏹熟练掌握修改单个数据、修改成批数据;⏹熟练掌握删除单个数据、删除成批数据。

二、实验内容1、针对上节课做的数据进行如下操作。

2、分别使用Microsoft SQL Server Management Studio和T-SQL修改和删除表4、在Microsoft SQL Server Management Studio中插入、修改和删除表数据。

5、使用T-SQL重复上述操作三、实验步骤1、表的修改⑴利用Microsoft SQL Server Management Studio修改表的步骤如下:①从树型结构上,展开要修改定义的表所在的数据库。

②选中该数据库节点下的表节点,则企业管理器显示出该数据库下全部的表格。

③选择要修改定义的表,如右键点击所要修改的表,选择【设计】,则弹出如下图所示的对话框,在这个窗体中可以进行增加列、删除列和修改列属性等操作。

⑵利用T_SQL语句修改表:可以在更大的范围内修改表格的定义,修改的内容包括:修改、增加、删除列或约束等。

例:使用T_SQL语句对学生表进行各种修改。

①向表中添加新的字段:在学生表中添加一个“class”字段,数据类型为字符型。

ALTER TABLE student add class char(10)②删除表中的旧列:将学生表中的“class”字段删除。

ALTER TABLE student DROP column class③更改表中的约束:为某列添加约束:为Student表的“Ssex”字段创建一个缺省约束,缺省值为’男’。

ALTER TABLE student ADD constraint def_ssex DEFAULT '男' FOR ssex更改Student表中的“sno”字段的宽度为10及非空约束。

实验五 SQL语言数据操纵语言DML

实验五  SQL语言数据操纵语言DML

实验五 SQL语言数据操纵语言DML一、实验目的SQL语言的数据操纵功能通过DML(数据维护语言)实现。

DML包括数据查询和数据更新两种数据操纵语句。

其中,数据查询指对数据库中的数据查询、统计、分组、排序等操作;数据更新指数据的插入、更新和删除等数据维护操作。

本次实验了解DML语言的INSERT、UPDATE、DELETE等数据维护语言,掌握在Navicat for MySQL中用DML语言的INSERT、UPDATE、DELETE对表进行数据插入、更新和删除。

二、实验要求1、实验前:预习实验内容,学习相关知识。

2、实验中:按照实验内容要求进行实验,实验时注意每种SQL语句的基本命令及各个关键字的含义,做好实验记录。

3、实验后:分析实验结果,总结实验知识,得出结论,按格式写出实验报告。

4、在整个实验过程中,要独立思考、独立按时完成实验任务,不懂的要虚心向教师或同学请教。

5、要求按指定格式书写实验报告,且报告中应反映出对本次实验的总结,下次实验前交实验报告。

三、实验的重点与难点1、重点:(1)用INSERT语句向表中插入数据。

(2)用UPDATE语句更新(修改)表中已有数据。

(3)用DELETE语句删除表中数据。

2、难点:INSERT语句中,使用从子表插入数据的FROM子句。

UPDATE语句和DELETE语句的WHERE子句。

四、仪器设备及用具硬件:投影仪、每位同学分配已连接校园网PC机一台。

软件:本机已安装MySQL 5.5数据库平台。

五、教学过程(一)实验预习(1)熟悉SQL中的INSERT、UPDATE、DELETE语句的格式及所用的关键字含义及用法。

(2)掌握INSERT语句的两种不同插入数据方式。

(3)掌握UPDATE语句和DELETE的一般用法。

(二)实验原理在Navicat for MySQL中使用INSERT语句向表中插入数据。

使用UPDATE 语句更新(修改)表中已有数据。

使用DELETE语句删除表中数据。

DML(Data Manipulation Language)数据操纵语言

DML(Data Manipulation Language)数据操纵语言
DML
DML(Data Manipulation Language)数据操纵语言命令使用户能够查询数据库以及操作已有数据库中的数据。
如insert,delete,update,select(插入、删除、修改、检索)等都是DML.
INSERT 陈述式
用来在资料表或检视表中插入一列资料。例如,如果要在Customer_Data 资料表中新增一个客户,可使用类似以下的 INSERT 陈述式:
INSERT INTO Customer_Data
VALUES (777, "Frankie", "Stein", "4895873900")
注意:如果使用这种形式的 INSERT 陈述式,但被插入的数值次序上与建立资料表时不同,数值将被放入错误的资料行。如果资料的型别与定义不符,则会收到一个错误讯息。
E 陈述式
DELETE 陈述式用来删除资料表中一列或多列的资料,您也可以删除资料表中的所有资料列。要从 Customer_Data 资料表中删除所有的列,您可以利用下列陈述式:
DELETE FROM Customer_Data

DELETE Customer_Data
UPDATE Customer_Data
SET phone= 02145896352
WHERE customer_id = 100;
与之相关的概念:DDL
DDL(Data Definition Language)语句用语定义和管理数据库中的对象,如Create,Alter和Drop.
UPDATE陈述式
用来对资料表中的一行或多行进行数据的修改,您也可以修改资料表中的所有资料行。要从Customer_Data资料表中更改所有行,您可以利用下列陈述式:

实验3 数据操纵语言DML-2015

实验3   数据操纵语言DML-2015

实验3 数据操纵语言DML实验目的1.熟悉SQL语言中DML的功能。

2.初步了解如何进行查询优化。

3.初步了解SQL语句的查询计划。

实验平台1.OS:Windows XP/72.DBMS:SQL Server 2008实验用时两次上机(4月21号之前提交实验报告)预备知识一、数据操纵语言数据库数据操纵语言DML (Data Manipulation Language),它使用户能够查询数据库以及操作已有数据库中的数据的计算机语言。

DML具体包含查询,删除,更新,插入四种操作。

二、SQLSQL(Structured Query Language)结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

SQL语言包括三种主要程序设计语言类别的语句:数据定义语言(DDL),数据操作语言(DML)及数据控制语言(DCL)。

三、SQL Server 临时表SQL Server包含一个自带的系统数据库——tempdb。

它用来存放用户创建的临时对象。

临时对象分为全局临时对象和区域临时对象。

全局临时对象所有用户可见,区域临时对象仅当前连接对象可见。

每当SQL Server重启后,tempdb数据库会被重新创建。

临时表的创建:临时表的创建与表的创建方法一样,只不过本地临时表的名称前面有一个编号符 (#table_name),而全局临时表的名称前面有两个编号符 (##table_name)。

如:CREATE TABLE #Temp (cola INT PRIMARY KEY)将创建一个名为Temp的临时表。

临时表的其他数据操作和表的一致。

实验活动注:请各位同学用SQL语句完成今天实验的所有步骤(系统视图的查看除外),并在实验报告中记录每条语句。

每个操作完成之后,观察相关系统表的改变并分析原因。

一、熟悉SQL语句的DML功能步骤一:创建数据库,建立第二章习题5中的4个表,并插入数据。

DML语言(数据操纵语言)

DML语言(数据操纵语言)

DML语⾔(数据操纵语⾔)#DML语⾔/*数据操作语⾔:插⼊:insert修改:update删除:delete*/#⼀、插⼊语句#⽅式⼀:经典的插⼊/*语法:insert into 表名(列名,...) values(值1,...);*/SELECT * FROM beauty;#1.插⼊的值的类型要与列的类型⼀致或兼容INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)VALUES(13,'唐艺昕','⼥','1990-4-23','1898888888',NULL,2);#2.不可以为null的列必须插⼊值。

可以为null的列如何插⼊值?#⽅式⼀:INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)VALUES(13,'唐艺昕','⼥','1990-4-23','1898888888',NULL,2);#⽅式⼆:INSERT INTO beauty(id,NAME,sex,phone)VALUES(15,'娜扎','⼥','1388888888');#3.列的顺序是否可以调换INSERT INTO beauty(NAME,sex,id,phone)VALUES('蒋欣','⼥',16,'110');#4.列数和值的个数必须⼀致INSERT INTO beauty(NAME,sex,id,phone)VALUES('关晓彤','⼥',17,'110');#5.可以省略列名,默认所有列,⽽且列的顺序和表中列的顺序⼀致INSERT INTO beautyVALUES(18,'张飞','男',NULL,'119',NULL,NULL);#⽅式⼆:/*语法:insert into 表名set 列名=值,列名=值,...*/INSERT INTO beautySET id=19,NAME='刘涛',phone='999';#两种⽅式⼤pk ★#1、⽅式⼀⽀持插⼊多⾏,⽅式⼆不⽀持INSERT INTO beautyVALUES(23,'唐艺昕1','⼥','1990-4-23','1898888888',NULL,2),(24,'唐艺昕2','⼥','1990-4-23','1898888888',NULL,2),(25,'唐艺昕3','⼥','1990-4-23','1898888888',NULL,2);#2、⽅式⼀⽀持⼦查询,⽅式⼆不⽀持INSERT INTO beauty(id,NAME,phone)SELECT 26,'宋茜','11809866';INSERT INTO beauty(id,NAME,phone)SELECT id,boyname,'1234567'FROM boys WHERE id<3;#⼆、修改语句/*1.修改单表的记录★语法:update 表名set 列=新值,列=新值,...where 筛选条件;2.修改多表的记录【补充】语法:sql92语法:update 表1 别名,表2 别名set 列=值,...where 连接条件and 筛选条件;sql99语法:update 表1 别名inner|left|right join 表2 别名on 连接条件set 列=值,...where 筛选条件;*/#1.修改单表的记录#案例1:修改beauty表中姓唐的⼥神的电话为138******** UPDATE beauty SET phone = '138********'WHERE NAME LIKE '唐%';#案例2:修改boys表中id好为2的名称为张飞,魅⼒值 10 UPDATE boys SET boyname='张飞',usercp=10WHERE id=2;#2.修改多表的记录#案例 1:修改张⽆忌的⼥朋友的⼿机号为114UPDATE boys boINNER JOIN beauty b ON bo.`id`=b.`boyfriend_id`SET b.`phone`='119',bo.`userCP`=1000WHERE bo.`boyName`='张⽆忌';#案例2:修改没有男朋友的⼥神的男朋友编号都为2号UPDATE boys boRIGHT JOIN beauty b ON bo.`id`=b.`boyfriend_id`SET b.`boyfriend_id`=2WHERE bo.`id` IS NULL;SELECT * FROM boys;#三、删除语句/*⽅式⼀:delete语法:1、单表的删除【★】delete from 表名 where 筛选条件2、多表的删除【补充】sql92语法:delete 表1的别名,表2的别名from 表1 别名,表2 别名where 连接条件and 筛选条件;sql99语法:delete 表1的别名,表2的别名from 表1 别名inner|left|right join 表2 别名 on 连接条件where 筛选条件;⽅式⼆:truncate语法:truncate table 表名;*/#⽅式⼀:delete#1.单表的删除#案例:删除⼿机号以9结尾的⼥神信息DELETE FROM beauty WHERE phone LIKE '%9'; SELECT * FROM beauty;#2.多表的删除#案例:删除张⽆忌的⼥朋友的信息DELETE bFROM beauty bINNER JOIN boys bo ON b.`boyfriend_id` = bo.`id`WHERE bo.`boyName`='张⽆忌';#案例:删除黄晓明的信息以及他⼥朋友的信息DELETE b,boFROM beauty bINNER JOIN boys bo ON b.`boyfriend_id`=bo.`id`WHERE bo.`boyName`='黄晓明';#⽅式⼆:truncate语句#案例:将魅⼒值>100的男神信息删除TRUNCATE TABLE boys ;#delete pk truncate【⾯试题★】/*1.delete 可以加where 条件,truncate不能加2.truncate删除,效率⾼⼀丢丢3.假如要删除的表中有⾃增长列,如果⽤delete删除后,再插⼊数据,⾃增长列的值从断点开始,⽽truncate删除后,再插⼊数据,⾃增长列的值从1开始。

数据库系统概论——数据操纵语言DML实验报告

数据库系统概论——数据操纵语言DML实验报告

数据库系统概论——数据操纵语⾔DML实验报告数据库实验报告题⽬:数据库操纵语⾔DML 姓名:李军毅⽇期:2016-4-10实验⽬的1.熟悉SQL语⾔中DML的功能。

2.初步了解如何进⾏查询优化。

3.初步了解SQL语句的查询计划。

实验平台1.OS:Windows XP/72.DBMS:SQL Server 2008实验⽤时两次上机实验内容⼀、熟悉SQL语句的DML功能1.创建数据库,建⽴第⼆章习题5中的4个表,并插⼊数据。

2.完成SQL查询。

3.VIEW。

4.UPDATE和DELETE。

⼆、初步了解查询优化1、配置SQL Server,导⼊dbcourse数据库2、在原始papers表中查询title属性3、在papers表中的title属性列上建⽴unique索引4、在papers表中查询⽂章的作者在authors表中存在且⽂章发表的期刊在journals表中存在的⽂章的org5、提交两个对papers表的查询,⼀个查询输出所有的列,另⼀个查询只输出title列。

三、初步了解查询处理流程实验中出现的问题预备知识⼀、数据操纵语⾔数据库数据操纵语⾔DML (Data Manipulation Language),它使⽤户能够查询数据库以及操作已有数据库中的数据的计算机语⾔。

DML具体包含查询,删除,更新,插⼊四种操作。

⼆、SQLSQL(Structured Query Language)结构化查询语⾔,是⼀种数据库查询和程序设计语⾔,⽤于存取数据以及查询、更新和管理关系数据库系统。

SQL语⾔包括三种主要程序设计语⾔类别的语句:数据定义语⾔(DDL),数据操作语⾔(DML)及数据控制语⾔(DCL)。

三、SQL Server 临时表SQL Server包含⼀个⾃带的系统数据库——tempdb。

它⽤来存放⽤户创建的临时对象。

临时对象分为全局临时对象和区域临时对象。

全局临时对象所有⽤户可见,区域临时对象仅当前连接对象可见。

DML数据操作语言insert,update,delete[教材]

DML数据操作语言insert,update,delete[教材]

DML数据操作语言 insert,update,delete一.insert 插入1.插入单条记录//插入所有列都有值insert into stud values (1,'smith','男',20,1,'12-1月-13')//部分列有值insert into stud(sno,sname,ssex) values(3,'bob','女')2.插入子查询结果insert into stud(sno,sname) select empno,ename from emp where deptno=10;二.delete 删除delete是删除表的数据(内容),而drop是删除表的结构(定义)1.delete from 表名 where ....//删除指定条件的记录delete from stud where sno=7934;//删除所有记录delete from stud;2.子查询删除delete from stud where sno in (select sno from sc where cno=1);三。

update修改数据1.update 表名 set 列名=值 where 条件update sc set grade=grade+10 where cno=1;2.子查询修改//把编号为7839的学生的性别和年龄改成和7934的一样update stud set (ssex,sage)=(select ssex,sage from stud where sno='7934') where sno='7839';//把10部门的低于所有部门平均工资的雇员工资提高10%update emp set sal=sal*1.1 where sal< all(select avg(sal) from emp group by deptno) and deptno=10;事务控制1.提交事务commit提交事务就是将事务中的sql语句对数据库所做的修改永久化在sql*plus 如果环境变量autocommit设置为on,每执行一条DML语句就会自动提交,。

实验五SQL语言的DML初步

实验五SQL语言的DML初步

实验五SQL语言的DML初步第一篇:实验五 SQL语言的DML初步实验五 SQL语言的DML初步一、实验目的SQL的数据操纵功能通过DML(数据库操作语言)实现。

DML包括数据查询和数据更新两种数据操作语句。

其中,数据查询指对数据库中的数据查询、统计、分组、排序等操作;数据更新指数据的插入、删除和修改等数据维护操作。

本次实验了解DML语言的INSERT、UPDATE、DELETE对数据的操作,学会SQL Server 2000的查询分析器中用DML语言对表中的数据进行插入、删除和修改。

本实验需2学时二、实验内容1.启动数据库服务软件SQL Server 2000的查询分析器,用INSERT语句对表进行插入操作,语法格式如下:Insert Into [([,]…)]Values([,]…);2.用UPDATE语句对表中已有的记录进行修改,语法格式如下:Update Set =[,=][,…n] [Where ];3.用DELETE语句对表中已有的记录进行删除,语法格式如下:Delete From [Where ];三、实验任务1.打开数据库SQL Server 2000的查询分析器,用INSERT语句对表插入记录查询分析器窗体下完成以下题目,分别运行,观察结果(1)将一个新学生记录(学号:95020;姓名:陈冬;性别:男;所在系:IS;年龄:18)插入到Student表中。

(2)插入一条选课记录(‘95020’,‘1’)(3)对每个系求学生的平均年龄,并把结果存入表Deptage2、利用查询分析器用UPDATE语句更改表中数据。

完成以下题目,分别运行,观察结果。

(1)将学生95001的年龄改为22岁。

(2)将所有学生的年龄增加1岁(3)将计算机科学系全体学生的成绩置零。

3、利用查询分析器用DELETE语句删除表中数据。

完成以下题目,分别运行,观察结果。

(1)删除学号为95019的学生记录。

(2)删除计算机科学系所有学生的选课记录(3)删除所有的学生选课记录4.将以上的SQL语言存盘,以备老师检查。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2 数据操作语言 DML 实验 一、实验目的: 1、建立基本表并进行 DML 操作。 2、数据查询:单表查询、连接查询、嵌套查询、集合查询和统计等功能。 3、数据更新:增加、删除、查询和修改功能
二、实验内容与步骤: 1、进入 ORACLE 的环境,进入 scott 用户模式(在 sqldeveloper 中使用 scott 用户连 接 Oracle)。 2、用 Create、Insert 语句建立基本表 S、P、J 和 SPJ ,其中:
(6) 请将 S6 向工程项目 J8 供应 500 个 P7 零件的信息加入到供应关系; 意涉及到几个表的添加元组操作?表的添加顺序如何?)
insert into S(SNO) values('S6'); insert into J(JNO) values('J8'); insert into P(PNO) values('P7'); insert into SPJ values('S6','P7','J8','500');
(6) 找出所有供应商的姓名和所在城市; 代码: select SNAME,CITY from S;
(7) 找出所有零件的名称、颜色、重量; 代码: select PNAME,COLOR,WEIGHT from P;
(8) 找出使用供应商 S1 所供应零件的工程号; 代码: select distinct JNO from SPJ where SNO='S1';
代码: create table S( SNO char(3) primary key, SNAME char(10), STATUS char(10), CITY char(10) ); insert into S values ('S1','精益','20','天津'); insert into S values ('S2','盛锡','10','北京'); insert into S values ('S3','东方红','30','北京'); insert into S values ('S4','丰泰盛','20','天津'); insert into S values ('S5','为民','30','上海');
create table P( PNO char(3) primary key, PNAME char(10), COLOR char(10), WEIGHT int );
insert into P values('P1','螺母','红','12'); insert into P values('P2','螺楦','绿','17'); insert into P values('P3','螺丝刀','蓝','14'); insert into P values('P4','螺丝刀','红','14'); insert into P values('P5','凸轮','蓝','40'); insert into P values('P6','齿轮','红','30');
(14) 统计各工程项目所用不同零件的数量 代码: select JNO,sum(qty)
from SPJ GROUP BY JNO;
(15) 统计各供应商供应的各种零件数量 代码:
select SNO,sum(qty) from SPJ group by SNO;
4、用 Insert、Delete 和 Update 语句实现如下数据更新
J 表示工程表,JNO 为工程编号,JNAME 为工程名字,CITY 为工程所在城市,主关 键 字为 JN。 SPJ (SNO,PNO,JNO,QTY)
SPJ 表示供应关系表,SNO 是为指定工程提供零件的供应商代号,PNO 为所提供的 零 件代号,JNO 为工程编号,QTY 表示提供的零件数量,主关键字为 SNO,PNO,JNO, 外 关键字为 SNO,PNO,JNO。
(1) 将全部红色零件的颜色改成蓝色; 代码: update P set COLOR='蓝' where COLOR='红';
(2) 将工程 J3 的城市改为上海; 代码: update J set CITY='上海' where JNO='J3';
(3) 由 S5 供给 J4 的零件 P6 改为由 S3 供应; 代码: update SPJ set SNO='S3' where SNO='S5' and JNO='J4' and PNO='P6';
3、 用 Select 语句对上述四个基本表进行如下查询 (1) 求供应工程 J1 零件的供应商号码 SNO; 代码: select distinct SNO from SPJ where SPJ.JNO='J1';
(2) 求供应工程 J1 零件 P1 的供应商号码 SNO 代码: select distinct SNO from SPJ where JNO='J1'and PNO='P1';
S (SNO,SNAME,STATUS,CITY) S 表示供应商表,SNO 为供应商代号,SNAME 为供应商名字,STATUS 为供应商状态,
CITY 为供应商所在城市,主关键字为 SNO。 P(PNO,PNAME,COLOR,WEIGHT)
P 表示零件表,PNO 为零件代号,PNAME 为零件名称,COLOR 为零件颜色,WEIGHT 为 零件重量,主关键字为 PNO。 J (JNO,JNAME, CITY)
select JNO from S,SPJ where S.CITY='天津' and S.SNO=SPJ.SNO );
(13) 列出包含 SNO,SNAME,PNO,PNAME,JNO,JNAME,QTY 属性的清单。 代码: select S.SNO,S.SNAME,P.PNO,PNAME,J.JNO,JNAME,QTY from SPJ,S,J,P where SPJ.SNO=S.SNO and SPJ.JNO=J.JNO and SPJ.PNO=P.PNO;
create table SPJ( SNO char(2), PNO char(2), JNO char(2), QTY int, primary key(SNO,PNO,JNO) );
insert into SPJ values('S1','P1','J1','200'); insert into SPJ values('S1','P1','J3','100'); insert into SPJ values('S1','P1','J4','700'); insert into SPJ values('S1','P2','J1','100'); insert into SPJ values('S2','P3','J1','400'); insert into SPJ values('S2','P2','J4','200'); insert into SPJ values('S2','P3','J4','500'); insert into SPJ values('S2','P3','J5','400'); insert into SPJ values('S2','P5','J1','400'); insert into SPJ values('S2','P5','J2','100'); insert into SPJ values('S3','P1','J1','200'); insert into SPJ values('S3','P3','J1','200'); insert into SPJ values('S4','P2','J1','100'); insert into SPJ values('S4','P2','J3','300'); insert into SPJ values('S4','P6','J4','200');
相关文档
最新文档