2 数据操作语言 DML 实验
- 格式:docx
- 大小:508.03 KB
- 文档页数:11
实验二数据操纵语言实验一、实验目的⏹熟练掌握数据表的修改;⏹熟练掌握数据库输入数据、修改数据和删除数据的操作;⏹熟练掌握向数据库插入单个数据、插入成批数据;⏹熟练掌握修改单个数据、修改成批数据;⏹熟练掌握删除单个数据、删除成批数据。
二、实验内容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(数据维护语言)实现。
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语句删除表中数据。
实验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语⾔/*数据操作语⾔:插⼊: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 姓名:李军毅⽇期: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一.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(数据库操作语言)实现。
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语言存盘,以备老师检查。
一、实验目的:数据库更新操作是SQL语句的重要组成部分,通过试验,加深学生对数据更新操作基本概念的理解与掌握,学会使用SQL数据操纵语言插入、修改和删除表中记录,体会数据完整性约束的作用,加深对数据完整性约束的理解,从而达到灵活应用的目的。
二、实验内容及要求:试验所使用的数据库表结构如下:Create database jxglUse jxglCreate table dept (Deptno CHAR(8) primary key ,Deptname varCHAR(20) unique,Dpho varCHAR(15) ,Deptadd CHAR(40))Create table class (classno char(8) primary key,classname varchar(10) unique ,deptno char(8) foreign key references dept )create table Student(SNO CHAR(10) PRIMARY KEY check (left (sno,2)=’20’),SNAME VARCHAR(20) NOT NULL,SEX VARCHAR(2) check (sex in ('男','女')),Classno VARCHAR(8) NOT NULL,AGE SMALLINT )Create table Course(CNO CHAR(4) PRIMARY KEY,CNAME VARCHAR(32) NOT NULL UNIQUE,SCORE SMALLINT NOT NULL DEFAULT 4 check (score in (1,2,3,4,5))) Create table SC(SNO CHAR(10) FOREIGN KEY references student ,CNO CHAR(4) FOREIGN KEY references course,GRADE INT CHECK (Grade >= 0 and Grade <= 100)PRIMARY KEY(sno,cno))(一 )插入记录(Insert into)1、单记录插入操作:为每个表设计一组记录(包括满足完整性约束和不满足完整性约束的),用insert命令插入表中,观察命令执行结果。
sql语言的类型数据语言实现数据的crudDML语句(Data Manipulation Language) 数据库操作语言insert update delete selectDDL语言data definition Lanaguagecreate tablecreate view index sequence synonym同义词truncate tableDCL语言 data control language数据语言commit rollback savetpointeOCA认证 OCP(dba)一起考, 参加oracle的培训 2wOracle数据库管理员认证专员(OCA):Oracle Certified AssociateOracle数据库管理员认证专家(OCP): Oracle Certified ProfessionalOracle数据库管理员认证大师(OCM): Oracle Certified Masterdba linux cocos2d-x入行4000 8500 100003年8000 1.5 1.710 年...语法:INSERT INTO table [(column [, column...])]VALUES (value [, value...]);--1 向表中插入所有列insert into emp values (1, 'tom_111', 'clerk', 7839, sysdate, 8500, 10000, 10)--2 向表中插入部分列insert into emp(empno, ename, sal, comm, deptno) values(2, 'tom_222', 8502, null, 10)--3 隐式插入空值: 没有写出的列,默认为null值--4 显示插入空值:--5 sql插入语言的地址符 & 取地址符后面相当于一个变量mysql语言: preparedStatement语言insert into emp(empno, ename, sal, comm, deptno) values(&empno, &ename, 8502, null, 10)====>输入字符串是,需要加''1* insert into emp(empno, ename, sal, comm, deptno) values(&empno, &ename, 8502, null, 10)SQL> /输入 empno 的值: 4输入 ename 的值: 'tom_444'原值 1: insert into emp(empno, ename, sal, comm, deptno) values(&empno, &ename, 8502, null, 10)新值 1: insert into emp(empno, ename, sal, comm, deptno) values(4, 'tom_444', 8502, null, 10)已创建 1 行。