表数据操作.

合集下载

MySQL数据库表的数据插入、修改、删除、查询操作及实例应用

MySQL数据库表的数据插入、修改、删除、查询操作及实例应用

MySQL数据库表的数据插⼊、修改、删除、查询操作及实例应⽤⼀、MySQL数据库表的数据插⼊、修改、删除和查询1CREATE DATABASE db0504;23USE db0504;45CREATE TABLE student (6 sno VARCHAR (10) NOT NULL UNIQUE PRIMARY KEY,7 sname VARCHAR (20) NOT NULL,8 ssex enum ('男', '⼥') NOT NULL DEFAULT'男',9 sbirth date,10 sclass VARCHAR (10),11 zno CHAR (4)12 ) DEFAULT charset = gb2312;13 #添加操作14INSERT INTO student15VALUES('2012010713','丁暖','⼥','1993-9-9','物联⽹12-1','z002');1617INSERT INTO student (sno,sname,ssex,sbirth,sclass,zno)18VALUES('2011010503','孔超','男','1993-9-19','⾃动化11-1','z006');1920INSERT INTO student (sno, sname, ssex, zno)21VALUES('2011010521','韩梅','⼥','z006');2223INSERT INTO student (sname, zno, sno)24VALUES('韩梅2','z006','2011010522');2526INSERT INTO student VALUES27 ('2011010501','孔超1','男','1993-9-19','⾃动化11-1','z006');28 ('2011010505','孔超2','男','1993-9-19','⾃动化11-1','z006');29 ('2011010504','孔超3','男','1993-9-19','⾃动化11-1','z006');30 ('2011010505','孔超4','男','1993-9-19','⾃动化11-1','z006');31 #修改操作32UPDATE student33SET sname ='张三',sbirth ='1993-6-19'34WHERE sname ='丁暖';3536UPDATE student SET zno =LEFT (zno, 3);37 #删除操作38delete from student39where sname='张三';4042 #查询操作43SELECT*FROM student;#查询student表的所有记录44SELECT sno,sname,ssex,sbirth FROM student;#查询部分字段信息45SELECT*FROM student WHERE age BETWEEN25AND30;4647 #清空表操作48truncate student;#⾼效49delete from student;操作SQL语法格式:插⼊:insert修改:update删除:delete查询:select⼆、设计型实验三1.创建表1CREATE DATABASE homework;23USE homework;45CREATE TABLE student (6 Num INT (10) NOT NULL UNIQUE PRIMARY KEY,7 name VARCHAR(20) NOT NULL,8 Sex VARCHAR(4) NOT NULL,9 birthday DATETIME,10 bumen VARCHAR(20) NOT NULL,11 address VARCHAR(50)12 ) DEFAULT charset = gb2312;1314CREATE TABLE score (15 Id INT(10) NOT NULL UNIQUE PRIMARY KEY,16 C_name VARCHAR(20),17 Stu_id INT(10) NOT NULL,18 grade INT(10),19CONSTRAINT score_fk FOREIGN KEY(Stu_id) REFERENCES student(Num)20 ) DEFAULT charset = gb2312;2122INSERT INTO student VALUES23 ('901','张军','男','1985-1-1','计算机系','北京市海淀区'),24 ('902','张超','男','1986-2-2','中⽂系','北京市昌平区'),25 ('903','张美','⼥','1990-2-1','中⽂系','湖南省永州市'),26 ('904','李五⼀','男','1990-2-3','英语系','辽宁省⾩新市'),27 ('905','王芳','⼥','1991-4-6','英语系','福建省厦门市'),28 ('906','王桂','男','1988-6-7','计算机系','湖南省衡阳市');2930INSERT INTO score VALUES31 (1001,'计算机','901','98'),32 (1002,'英语','901','80'),33 (1003,'计算机','902','65'),34 (1004,'中⽂','902','88'),35 (1005,'中⽂','903','95'),36 (1006,'计算机','904','70'),37 (1007,'英语','904','92'),38 (1008,'英语','905','92'),39 (1009,'计算机','906','90'),40 (1010,'英语','906','85');2.查询student表的操作#查询student表的所有记录SELECT*FROM student;SELECT Num,name,Sex,birthday,bumen,address FROM student;#查询student表的第2条到第4条记录SELECT Num,name,Sex,birthday,bumen,address FROM student LIMIT 1,3;#从student表中查询所有学⽣的学号、姓名和院系的信息SELECT Num,name,bumen FROM student;#查询计算机系和英语系学⽣的信息SELECT*FROM student WHERE bumen IN('计算机系','英语系');SELECT*FROM student WHERE bumen='计算机系'OR bumen='英语系';#从student表中查询年龄为18-22岁学⽣的信息ALTER TABLE student ADD age INT(4);ALTER TABLE student MODIFY age INT(4) AFTER Sex;UPDATE student SET age=24WHERE Num=901;UPDATE student SET age=23WHERE Num=902;UPDATE student SET age=19WHERE Num=903;UPDATE student SET age=19WHERE Num=904;UPDATE student SET age=18WHERE Num=905;UPDATE student SET age=21WHERE Num=906;SELECT*FROM student WHERE age BETWEEN18AND22;SELECT*FROM student WHERE age>=18AND age<=22;#从student表中查询每个院系有多少⼈,为统计的⼈数列取别名sum_of_bumenSELECT bumen,COUNT(bumen) AS sum_of_bumen FROM student GROUP BY bumen;3.两表综合查询#从score表中查询每个科⽬的最⾼分SELECT C_name,MAX(grade) FROM score GROUP BY C_name;#查询李五⼀的考试科⽬(C_name)和考试成绩(grade)select C_name,grade from student left join score on student.Num=score.Stu_id where name='李五⼀';#⽤连接查询的⽅式查询所有学⽣的信息和考试信息select*from student left join score on student.Num=score.Stu_id;#计算每个学⽣的总成绩(需显⽰学⽣姓名)select name '姓名',SUM(grade) '总成绩'from student left join score on student.Num=score.Stu_id group by name;#计算每个考试科⽬的平均成绩select C_name '考试科⽬',AVG(grade) '平均成绩'from student left join score on student.Num=score.Stu_id group by C_name; #查询计算机成绩低于95分的学⽣信息select*from student left join score on student.Num=score.Stu_id where grade<95AND C_name='计算机';#将计算机成绩按从⾼到低排序select grade '计算机成绩'from score where C_name='计算机'order by grade desc;#asc升序,desc降序#从student表和score表中查询学⽣的学号,然后合并查询结果select Num '学号'from student union select Stu_id from score;#查询姓张或者姓王的同学的姓名、院系、考试科⽬和成绩select name,bumen,C_name,grade from student left join score on student.Num=score.Stu_id where name like'张%'union select name,bumen,C_name,grade from student left join score on student.Num=score.Stu_id where name like'王%';#查询都是湖南的学⽣的姓名、年龄、院系、考试科⽬和成绩select name,age,bumen,C_name,grade from student left join score on student.Num=score.Stu_id where address like'湖南%';这个查询同时参加计算机和英语考试的学⽣信息难了我好久,下⾯提供三种做法:#查询同时参加计算机和英语考试的学⽣的信息做法⼀select*from student where Num in (select Stu_id from score where C_name ='计算机'and Stu_id in(select Stu_id from score where C_name ='英语'));#查询同时参加计算机和英语考试的学⽣的信息做法⼆SELECT a.*FROM student a,score b,score c WHERE a.Num=b.Stu_id AND b.C_name='计算机'AND a.Num=c.Stu_id AND c.C_name='英语';#查询同时参加计算机和英语考试的学⽣的信息做法三SELECT*FROM student WHERE Num =ANY( SELECT Stu_id FROM score WHERE Stu_id IN (SELECT Stu_id FROM score WHERE C_name='计算机') AND C_name='英语');。

最全MySQL数据库表的查询操作

最全MySQL数据库表的查询操作

最全MySQL数据库表的查询操作 序⾔ 1、 2、 本节⽐较重要,对数据表数据进⾏查询操作,其中可能⼤家不熟悉的就对于INNER JOIN(内连接)、LEFT JOIN(左连接)、RIGHT JOIN(右连接)等⼀些复杂查询。

通过本节的学习,可以让你知道这些基本的复杂查询是怎么实现的,但是建议还是需要多动⼿去敲,虽然理解了什么是内连接等,但是从理解到学会,是完全不⼀样的感觉。

--WZY⼀、单表查询 1.1、查询所有字段 1.2、查询指定字段 1.3、查询指定记录 1.4、带IN关键字的查询 1.5、带BETWEEN AND 的范围查询 1.6、带LIKE的字符匹配查询 1.7、查询空值 1.8、带AND的多条件查询 1.9、带OR的多条件查询 1.10、关键字DISTINCT(查询结果不重复) 1.11、对查询结果排序 1.12、分组查询(GROUP BY) 1.13、使⽤LIMIT限制查询结果的数量 集合函数查询 1.14、COUNT()函数 1.15、SUM()函数 1.16、AVG()函数 1.17、MAX()函数 1.18、MIN()函数 ⼆、多表查询 ⼩知识 为表取别名 为字段取别名 基于两张表  2.1、普通双表连接查询 2.2、内连接查询 2.3、外连接查询 2.3.1、左外连接查询 2.3.2、右外连接查询 2.4、复合条件连接查询 ⼦查询 2.5、带ANY、SOME关键字的⼦查询 2.6、带ALL关键字的⼦查询 2.7、带EXISTS关键字的⼦查询 2.8、带IN关键字的⼦查询 2.9、带⽐较运算符的⼦查询 合并结果查询 2.10、UNION[ALL]的使⽤三、使⽤正则表达式查询 3.1、查询以特定字符或字符串开头的记录 3.2、查询以特定字符或字符串结尾的记录 3.3、⽤符号"."来替代字符串中的任意⼀个字符 3.4、使⽤"*"和"+"来匹配多个字符 3.5、匹配指定字符串 3.6、匹配指定字符中的任意⼀个 3.7、匹配指定字符以外的字符 3.8、使⽤{n,}或者{n,m}来指定字符串连续出现的次数四、综合案例练习数据表查询操作 4.1、搭建环境 省略 4.2、查询操作 省略 4.3、在已经创建好的employee表中进⾏如下操作 4.3.1、计算所有⼥员⼯(F)的年龄 4.3.2、使⽤LIMIT查询从第3条记录开始到第六条记录 4.3.3、查询销售⼈员(SALSEMAN)的最低⼯资 4.3.4、查询名字以字母N或者S结尾的记录 4.3.5、查询在BeiJing⼯作的员⼯的姓名和职务 4.3.6、使⽤左连接⽅式查询employee和dept表 4.3.7、查询所有2001~2005年⼊职的员⼯的信息,查询部门编号为20和30的员⼯信息并使⽤UNION合并两个查询结果 4.3.8、使⽤LIKE查询员⼯姓名中包含字母a的记录 4.3.9、使⽤REGEXP查询员⼯姓名中包含T、C或者M 3个字母中任意1个的记录 想直接做题的,跳过讲解,直接到练习区。

WPS零教程数据表的数据批量操作

WPS零教程数据表的数据批量操作

WPS零教程数据表的数据批量操作数据表是电子表格软件中一个重要的功能模块,可以用来进行数据的存储、处理和分析。

WPS表格作为一款功能强大的电子表格软件,具备丰富的数据表操作功能,包括数据的批量操作。

本文将介绍WPS表格中数据表的批量操作方法,以帮助用户更高效地进行数据处理。

一、数据的复制和粘贴在进行数据的批量操作时,复制和粘贴是一种简单而高效的方法。

WPS表格提供了多种复制和粘贴的方式,适用于不同的数据处理需求。

1.复制单元格数据选中需要复制的单元格,可以使用快捷键Ctrl+C进行复制,或者点击右键选择“复制”选项。

然后选中需要粘贴的位置,使用快捷键Ctrl+V进行粘贴,或者点击右键选择“粘贴”选项即可。

这样就实现了单元格数据的批量复制和粘贴。

2.复制行或列数据如果需要复制整行或整列的数据,可以先选中需要复制的行或列,然后使用快捷键Ctrl+C进行复制,或者点击右键选择“复制”选项。

再选中需要粘贴的位置,使用快捷键Ctrl+V进行粘贴,或者点击右键选择“粘贴”选项即可。

这样就实现了行或列数据的批量复制和粘贴。

3.复制数据区域如果需要复制一个数据区域,可以选中该区域,使用快捷键Ctrl+C进行复制,或者点击右键选择“复制”选项。

再选中需要粘贴的位置,使用快捷键Ctrl+V进行粘贴,或者点击右键选择“粘贴”选项即可。

这样就实现了数据区域的批量复制和粘贴。

二、数据的填充WPS表格提供了多种数据填充方式,可以快速生成大量的数据,减少手动输入的工作量。

1.填充连续数字选中一个或多个单元格,输入起始数字,然后选中这些单元格,鼠标放置在右下角的方框内,光标变成“+”形状,按住鼠标左键往下拖动,即可快速填充连续的数字序列。

这样就实现了数据的批量填充。

2.填充数列WPS表格提供了一些常见的数列填充方式,如日期、月份、星期等。

选中一个或多个单元格,输入起始数列数据,然后选中这些单元格,鼠标放置在右下角的方框内,光标变成“+”形状,按住鼠标左键往下拖动,即可快速填充相应的数列。

如何在Excel中进行数据表的数据和数据分组操作

如何在Excel中进行数据表的数据和数据分组操作

如何在Excel中进行数据表的数据和数据分组操作Excel作为一款常用的电子表格软件,提供了丰富的功能和工具,使得数据的操作变得更加便捷和高效。

其中,数据表的数据和数据分组操作是Excel中经常用到的功能之一。

本文将介绍如何在Excel中进行数据表的数据和数据分组操作。

一、数据表的数据操作1. 插入数据表在Excel中,我们可以通过以下步骤插入一个数据表:(1)选择需要插入数据表的区域;(2)点击“插入”选项卡中的“表”按钮;(3)在弹出的对话框中,确认选定的区域,选择是否含有表头,并点击“确定”。

2. 数据排序数据排序可以按照指定的条件对数据进行排序,以便更好地查看和分析数据。

具体步骤如下:(1)选中需要排序的数据范围;(2)点击“数据”选项卡中的“排序”按钮;(3)在弹出的对话框中,选择需要排序的列和排序方式(升序或降序),点击“确定”。

3. 数据筛选数据筛选可以根据指定的条件对数据进行筛选,以便筛选出符合条件的数据。

具体步骤如下:(1)选中需要筛选的数据范围;(2)点击“数据”选项卡中的“筛选”按钮;(3)在需要筛选的列上点击下拉箭头,选择筛选条件,点击“确定”。

二、数据表的数据分组操作1. 数据分组数据分组可以对数据表中的数据进行分类和分组,以便更好地展示和分析数据。

具体步骤如下:(1)选中需要分组的数据范围;(2)点击“数据”选项卡中的“分组”按钮;(3)在弹出的对话框中,选择需要分组的列,并设置分组方式,点击“确定”。

2. 多级数据分组多级数据分组可以按照多个条件对数据进行分组,实现更加细致的数据分类和分析。

具体步骤如下:(1)选中需要分组的数据范围;(2)点击“数据”选项卡中的“分组”按钮;(3)在弹出的对话框中,选择需要分组的多个列,并设置分组方式,点击“确定”。

3. 展开和折叠分组在进行数据分组后,我们可以通过展开和折叠分组的方式来显示或隐藏分组的详细数据。

具体步骤如下:(1)点击分组标志图标,即可展开或折叠分组;(2)点击“数据”选项卡中的“全部显示”或“全部折叠”按钮,可以一次性展开或折叠所有分组。

数据表数据操作的重点介绍

数据表数据操作的重点介绍

INSERT语句格式二:

INSERT table_name( column_1, column_2,...column_n) VALUES(constant_1,constant_2,…constant_ n)
说明: 在INSERT语句中只给出部分列值;在table_name 后面出现的列,VALUES里面要有一一对应数据出现。 允许省略列的原则: (1)具有identity属性的列,其值由系统根据seed和 increment值自动计算得到; (2)具有默认值的列,其值为默认值; (3)没有默认值的列,若允许为空值,则其值为空 值;若不允许为空值,则出错; (4)类型为timestamp的列,系统自动赋值。

Thank You!
数据表的操作就先介绍到这,下节继续介绍数据的完整性问题!敬请 关注。
L/OБайду номын сангаасG/O
1.使用SQL Server企业管理器插入数据 2.使用T-SQL语句向表中插入数据 INSERT INSERT语句常用的格式有三种。
INSERT语句格式一:
INSERT [INTO] table_name VALUES (constant1,constant2,…) 该语句的功能是向由table_name指定的 表中插入由VALUES指定的各列值的行。 注意:使用此方式向表中插入数据时, VALUES中给出的数据顺序和数据类型 必须与表中列的顺序和数据类型一致, 而且不可以省略部分列。 课外参考:
【例3】将XS数据库的XSDA表中学号为 200604的学生的备注列改为“三好生”。 【例4】将XSDA表中的信息系女学生的总学分 都增加10分。 【例5】将姓名为“方平”的同学的系名改为 “电子商务”,备注改为“转专业学习”。 USE XS UPDATE XSDA SET 系名= '电子商务' , 备注= '转专业学习' WHERE 姓名= '方平' GO

SQL数据库第5章表数据操作

SQL数据库第5章表数据操作

•例 • 创建一个规则,并绑定到表KC的课程号列,用于限制课
程号的输入范围 • use xscj • go • Create rule kc_rule • as @rang like ‘[1-5][0-9][0-9]’ • go • Use xscj • exec sp_bindrule ‘kc_rule’,’kc.kch’ • go
• use xscj
• create table xs3
• (xh char(6) not null constraint xh_pk primary key,
• xm char(8)not null,identtitycard char(20) constraint sh_uk unique,
• delete [from ]

{table_name‫׀‬view_name}
[where <search_condition>] •
的行删39Example:将XSCJ数据库的表XS中总学分小于 • 除:
USE XSCJ •
DELETE FROM XS •
39<
WHERE 总学分 •
go •
• 2. 使用TRUNCATE TABLE语句删除表 数据
• select xh,xm,zhy
• from xs1

Where zhy=‘生工’
• 查询结果:select * from xs2
• 二、使用DELETE或TRUNCAT删除数据
• delete 语句的功能是从表中删除行,其基本语法格式为:
• 二、 实体完整性的实现 • 通过选择一列或多列做主键可实现表的实体完整性。 • 一个表只能有一个primary key约束,且primary key

excel表格的基本操作乘除公式

excel表格的基本操作乘除公式

Excel表格的基本操作乘除公式1. 介绍Excel表格是办公软件中常用的一种数据处理工具,其强大的计算功能和灵活的数据展示方式使其成为了许多行业中必不可少的工具。

在Excel中,乘除公式是常用的基本操作,能够帮助用户进行数据的简单计算和统计分析,提高工作效率。

本文将从基础的乘除公式入手,探讨其在Excel中的应用和操作方法,帮助读者更深入地理解和运用这一功能。

2. 乘法公式在Excel中,乘法公式的基本表达方式是使用“*”号进行运算。

如果要计算A1单元格和A2单元格的乘积,可以在B1单元格输入“=A1*A2”,按下回车键即可得到结果。

在进行乘法计算时,也可以使用绝对引用或者混合引用的方式,以便在拖动公式时能够保持部分单元格的固定,便于数据的复制和填充。

3. 除法公式除法公式在Excel中的表达方式为使用“/”号进行运算。

如果要计算A1单元格除以A2单元格的商,可以在B1单元格输入“=A1/A2”,按下回车键即可得到结果。

同样地,除法运算也可以结合绝对引用或者混合引用的方式,以适应不同的数据计算需求。

4. 乘除公式的应用除了基本的乘除运算外,乘除公式在Excel中还可以通过结合函数和逻辑运算,实现更加复杂和灵活的计算。

使用SUM函数和乘法公式可以对一列或一行数据进行求和,并且可以动态地随着数据的变化而自动更新结果。

而使用IF函数和除法公式可以实现对数据进行条件判断和分析,根据不同的情况计算出不同的结果。

5. 总结回顾通过本文的介绍,读者对Excel表格中乘除公式的基本操作应该有了更清晰的理解。

乘除公式作为Excel中常用的基本操作,能够帮助用户进行简单的数据计算和统计分析,在日常工作中发挥着重要作用。

在实际运用中,需要充分理解乘除公式的基本语法和运算规则,并能够灵活地结合其他函数和逻辑运算,以应对不同的数据处理需求。

希望读者在今后的工作中能够充分利用Excel表格的乘除公式,提高工作效率,准确地进行数据分析和计算。

第4章 数据表的基本操作

第4章 数据表的基本操作
整型:以二进制形式存储的整数,长度固定为 4个字节。 浮点型:采用浮点数存储方法存储,有较高的精度
双精度型:占8个字节,具有更高的精度
字符型(二进制):用于存储当代码页改变时字符内容不 变的字符数据。 代码页:用于计算机内正确解释并显示数据的字符集 备注型(二进制):用于存储当代码页改变时内容不变的 备注型数据。
2. 打开数据表命令
格式:USE [<表文件名>]
功能:打开指定的数据表或关闭当前打开的表
说明:1)当选择了表文件名时为打开表
2)若只有命令:
USE
则为关闭当前工作区中打开的表
除了使用USE命令可以关闭当前工作区中打开的 数据表外,还可以使用如下命令关闭数据表。
3.关闭数据表命令
格式1:CLOSE DATABASE
3.插入记录命令
格式:insert [blank][before]
功能:在当前表的指定位臵上插入一条新记录
说明:缺省后面选项时在当前记录后插入一个 记录并弹出编辑窗口 blank:插入一个空记录 before:在当前记录前插入
例4-7 在zgda表的第5条记录前插入一个记录 use zgda go 5 insert before 例4-8在zgda表的第7条记录后插入一个空记录 use zgda go 7 insert blank
格式1:LIST STRUCTURE
格式2:DISPLAY STRUCTURE
功能:在主窗口中显示当前打开的数据表结构
说明:格式1用于连续显示表结构,格式2用于 分屏显示表结构。 例4-2显示表ZGDA的结构
USE ZGDA
LIST STRUCTURE
5.修改表结构
格式:MODIFY STRUCTURE
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第3章表数据操作分配学时:2+2教学目的及要求:用sql创建表和修改表的方法,对记录的插入、修改和删除方法。

重点和难点:用sql创建表和修改表的方法教学进程3.1 界面操作表数据3.2 命令操作表数据3.1 界面操作表数据首先要启动SQL Server,然后启动“企业管理器”,建立与SQL Server的连接,展开需进行操作的表所在的数据库、展开表。

在需操作的表上点击鼠标右键,在弹出的快捷菜单中选择“打开表”?“返回所有行”,如图3.1所示。

图3.1 打开表3.1 界面操作表数据在选择了“打开表”?“返回所有行”后,将进入操作所选择的表数据窗口。

在此窗口中,表中的记录按行显示,每个记录占一行。

在此界面中,可向表中插入记录、也可删除和修改记录,如图3.2所示。

图3.2 操作表数据窗口3.1.1 插入记录插入记录将新记录添加在表尾,可以向表中插入多条记录。

操作方法是:将光标定位到当前表尾的下一行,然后逐列输入列的值。

每输入完一列的值,按回车键,光标将自动跳到下一列,便可编辑该列。

若当前列是表的最后一列,则该列编辑完后按下回车键,光标将自动跳到下一行的第一列,此时便可增加下一行。

如图3.3所示,继续向XS表中增加10条记录。

图3.3 向表XS中添加记录3.1.2 删除记录当表中的某些记录不再需要时,要将其删除。

在企业管理器中删除记录的方法是:第1步在操作表数据的窗口中定位需被删除的记录行,即将当前光标(窗口的第一列位置)移到要被删除的行,此时该行反相显示,点击鼠标右键,在弹出的快捷菜单上选择“删除”功能项。

第2步选择“删除”后,将出现确认对话框,点击“是”按钮将删除所选择的记录,点击“否”按钮将不删除该记录。

3.1.3 修改记录在企业管理器中修改记录数据的方法是,先定位被修改的记录字段,然后对该字段值进行修改。

例如,将XS表的第2条记录的“总学分”字段的值改为40,如图3.4所示。

图3.4 修改记录数据3.1.4 界面操作表数据的另一种方法通过企业管理器操作表数据还有另一种方法:第1步启动“企业管理器”,建立与SQL Server的连接,展开需进行操作的表所在的数据库、展开表。

在需操作的表上点击鼠标右键,在弹出的快捷菜单中选择“打开表”?“查询”,如图3.5所示。

图3.5 选择“查询”3.1.4 界面操作表数据的另一种方法第2步在所出现的如图3.6所示的界面中点击“运行”按钮,在窗口的最下面的结果集显示窗口中将显示表的所有行,可以插入、删除和修改记录,操作的方法与在Enterprise中进行相应操作的方法相同。

图3.6 “企业管理器”的查询界面3.2.1 使用INSERT语句插入表数据语法格式:INSERT [INTO]{ table_name /*表名*/WITH (<table_hint_limited>[…n]) /*指定表提示,可省略*/| view_name /*视图名*/| rowset_function_limited /*可以是OPENQUERY 或OPENROWSET 函数*/}{ [ (column_list)] /*列表*/{ V ALUES /*指定列值的子句*/({DEFAULT | NULL |expression} [,…n]) /*列值的构成形式*/| derived_table /*结果集*/| exectute_statement /*有效的EXECTUTE语句*/}}| DEFAULT V ALUES /*所有列均取默认值*/3.2.1 使用INSERT语句插入表数据说明:table_name:被操作的表名,如XS。

view_name:视图名。

该视图必须是可以更新的。

column_list:列表。

包含了新插入数据行的各列的名称。

如果只给表的部分列插入数据时,需要用column_list指出这些列。

例如,当加入到表中的记录的某些列为空值或为缺省值时,可以在INSERT语句中给出列表的省略这些列。

没有在column_list中指出的列,它们的值根据默认值或列属性来确定,原则是:(1) 具有IDENTITY属性的列,其值由系统根据seed和increment值自动计算得到;(2) 具有默认值的列,其值为默认值;(3) 没有默认值的列,若允许为空值,则其值为空值;若不允许为空值,则出错;(4) 类型为timestamp的列,系统自动赋值。

若INSERT语句中未给出列表部分,则在V ALUES子句中要给出每一列(除IDENTITY和timestamp类型的列)的值,如果列值为空,则值必须置为NULL。

在对表进行插入行时,若新插入的行中所有可取空值的列值均取空值,则就可以在INSERT语句中列出需要插入行值的列,而在V ALUES中只要给出这些列的值即可。

3.2.1 使用INSERT语句插入表数据V ALUES子句: 为column_list列表中的各列指定值。

若省略colume_list,则V ALUES子句给出每一列(除IDENTITY和timestamp类型以外的列)的值。

V ALUES子句中的值可有三种:(1) DEFAULT:指定为该列的默认值。

这要求定义表时必须指定该列的默认值。

(2) NULL:指定该列为空值。

(3) expression:可以是一个常量、变量或一个表达式,其值的数据类型要与列的数据类型一致。

注意表达式中不能有SELECT及EXECUTE语句。

从INSERT的语法格式可以看到,使用INSERT语句可以向表中插入一行数据,也可以插入多行数据,插入的行可以给出每列的值,也可只给出部分列的值,还可以向表中插入其他表的数据。

derived_table: 是一个由SELECT语句查询所得到的结果集。

利用该参数,可把一个表中的部分数据插入到另一个表中。

使用该参数时,INSERT语句将derived_table结果集加入指定表中。

但结果集中每行数据的字段数、字段的数据类型要与被操作的表完全一致。

DEFAULT V ALUES: 该关键字说明向当前表中所有列均插入其默认值。

此时,要求所有列均定义了默认值。

【例3.1】向XSCJ数据库的表XS中插入如下的一行:081112 罗林琳计算机0 1/30/1990 40可以使用如下的T-SQL语句:USE XSCJINSERT INTO XSV ALUES(‘081112’,’罗林琳’,’计算机’, 0 ,‘1/30/1990’, 40,Null,Null) GO3.2.1 使用INSERT语句插入表数据该语句执行的结果如图3.7所示。

图3.7 向表中插入一行3.2.1 使用INSERT语句插入表数据用SELECT语句进行查询,可以发现表中已经增加了学号为“081112”这一行,如图3.8所示。

图3.8 插入数据以后的表3.2.1 使用INSERT语句插入表数据【例3.2】用如下的CREATE语句建立表XS1:CREATE TABLE XS1( num char(6) NOT NULL,name char(8) NOT NULL,speiality char(10) NULL)用如下的INSERT语句向XS1表中插入数据:INSERT INTO XS1SELECT 学号,姓名,专业名FROM XSWHERE 专业名=’计算机’上面这条INSERT语句的功能是:将XS表中专业名为‘计算机’的各记录的学号、姓名和专业名列的值插入到XS1表的各行中。

用如下的SELECT语句进行查询看插入结果:SELECT *FROM XS13.2.1 使用INSERT语句插入表数据结果如图3.9所示。

图3.9 插入表XS1的记录3.2.1 使用INSERT语句插入表数据在执行INSERT语句时,如果插入的数据与约束或规则的要求产生冲突或值的数据类型与列的数据类型不匹配,那么INSERT执行失败。

另外,使用INSERT向KC表输入的样本数据记录后,如图3.10所示。

图3.10向KC表输入样本数据记录3.2.1 使用INSERT语句插入表数据使用INSERT向XS_KC表输入的数据样本记录后,如图3.11所示。

图3.11向XS_KC表输入数据样本记录3.2.2 使用DELETE或TRANCATE语句删除数据在T-SQL语言中,删除数据可以使用DELETE语句或TRANCATE TABLE语句来实现。

1.使用DELETE语句删除数据语法格式:DELETE[FROM]{ table_name WITH ( < table_hint_limited > [ ...n ] ) /*从表中删除数据*/| view_name /*从视图删除数据*/| rowset_function_limited /*可以是OPENQUERY或OPENROWSET 函数*/}[ FROM {<table_source>}[,…n]] /*从table_source删除数据*/[ WHERE {<search_condition> /*指定条件*/|{ [CURRENT OF { {[GLOBAL] cursor_name} | cursor_variable_name}]}/*有关游标的说明*/}][OPTION(<query_hint>[,…n])] /*使用优化程序*/3.2.2 使用DELETE或TRANCATE语句删除数据说明:FROM子句: 用于说明从何处删除数据。

可以从四种类型的对象中删除数据:表:由table_name指定要从其中删除数据的表名,关键字WITH指定目标表所允许的一个或多个表提示。

视图:由view_name指定要从其中删除数据的视图名,要注意该视图必须可以更新,并且正确引用了一个基本表。

OPENQUERY和OPENROWSET函数:由rowset_function_limited指定。

table_source:将在介绍SELECT语句时详细讨论。

WHERE子句:WHERE子句为删除操作指定条件,<search_condition>给出了条件,其格式在介绍SELECT语句时详细讨论。

若省略WHERE子句,则DELETE 将删除所有数据。

关键字CURRENT OF用于说明在指定游标的当前位置完成删除操作;关键字GLOBAL用于说明<cursor_name>指定的游标是全局游标。

<cursor_variable_name>是游标变量的名称,游标变量必须引用允许更新的游标。

【例3.3】将XSCJ数据库的XS表中总学分小于39的行删除,使用如下的T-SQL 语句:USE XSCJDELETE FROM XSWHERE 总学分<39GO3.2.2 使用DELETE或TRANCATE语句删除数据该语句执行的结果如图3.12所示。

相关文档
最新文档