1 / 28

第五章 结构化查询语言 SQL

第五章 结构化查询语言 SQL. 第五章 结构化查询语言 SQL. 5.1 数据定义. 5.2 数据查询. 5.3 数据操纵. SQL 语言概述. SQL ( Structured Query Language- 结构化查询语言 ). 学生表. 数据定义 数据查询 数据操纵. SQL 语言特点. 1. 几乎所有的关系数据库管理系统都支持 SQL 语言 , SQL 是数据库的标准语言。 2.SQL 语言的大多数语句都独立执行,与上下文无关。 3.SQL 语言功能极强,但却非常简洁。. 5.1 数据定义. 5.1.1 表的定义.

aliza
Download Presentation

第五章 结构化查询语言 SQL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第五章 结构化查询语言SQL

  2. 第五章 结构化查询语言SQL 5.1数据定义 5.2数据查询 5.3 数据操纵

  3. SQL语言概述 SQL(Structured Query Language- 结构化查询语言) 学生表 数据定义 数据查询 数据操纵

  4. SQL语言特点 1.几乎所有的关系数据库管理系统都支持SQL语言 ,SQL是数据库的标准语言。 2.SQL语言的大多数语句都独立执行,与上下文无关。 3.SQL语言功能极强,但却非常简洁。

  5. 5.1 数据定义 5.1.1表的定义 5.1.2 表结构的修改 5.1.3 表的删除

  6. 5.1.1表的定义 格式: Create table <表名> (字段名1 类型(长度),…….) [例1] :创建一个数据表,其表名为 “XS”字段定义为: 学号(C,6)姓名(C,6) 年龄(N,2),出生日期(D,8),贷款否(L,1)

  7. 命令为: CREA TABL XS(学号 C(6), 姓名 C(6), 年龄 N(2),出生日期 D(8),贷款否 L(1) ) 课堂练习: 创建一个数据表,其表名为 “教师”,字段定义为: 编号(N,2) 姓名(C,6) ,工资(N,6,2),照片(G,4) 答案: CREA TABL 教师(编号 N(2),姓名 C(6),工资 N(6,2), 照片 G(4) )

  8. 5.1.2修改表结构 用SQL语句修改表结构,无须用Use 命令打开表。 1.修改表的类型或长度. 格式: Alter table <表名> alter <字段名> 类型(长度) [例2]:将XS表的学号字段改为数值型,2个长度,姓名长度改为 8。 命令为: alter table xs alter 学号 N(2) ALTER 姓名 C(8)

  9. 格式: Alter table <表名> drop <字段1> [drop <字段2>….] 2.删除字段 [例3]:删除XS表的年龄和贷款否两个字段。 命令: alter table xs drop 年龄 drop 贷款否

  10. 3.增加字段 格式 Alter table <表名> add <字段名1> 类型(长度) [add <字段名2> 类型(长度)…..] [例4] 为XS表增加年龄(N,2)和贷款否(L,1) 命令: alter table xs add 年龄 N(2) ADD 贷款否 L(1)

  11. 5.1.3表的删除 格式为: DROP TABLE 表名 [例5] 删除XS表. 命令: Drop table xs

  12. 5.2数据查询 5.2.1查询命令 5.2.2基本查询 5.2.3排序查询 5.2.4计算与分组查询 5.2.5带特殊运算符的条件查询 5.2.6多表查询 5.2.7联接查询 5.2.8嵌套查询 5.2.9查询输出

  13. 5.2.2基本查询 格式为: SELE 字段名列表 FROM 数据表名 WHERE 条件 [例1]:查询学生表中所有男生的学号,姓名,出生日期. 命令: SELE 学号, 姓名, 出生日期 FROM 学生 WHERE 性别="男" [例2]:从课程.DBF表中,查询所有课程的信息. 命令: SELE * FROM 课程

  14. 课堂练习: 查询出工资大于等于1800的人才的编号,姓名和工资情况. rcda表

  15. 5.2.3排序查询 Sele ……from ……where ……order by ……(asc)(desc) [例3]:查询学生表中男学生的学号,姓名,出生日期,按出生日期降序排序. 命令 : SELE 学号,姓名,出生日期 FROM 学生 where 性别=“男”ORDER BY 出生日期 DESC

  16. 课堂练习: 查询出工资大于等于1800的人才的编号,姓名和工资情况,并按工资降序排序。 答案: Sele 编号,姓名,工资现状 from rcda where 工资现状>=1800 order by 工资现状 desc

  17. 5.2.4计算与分组查询 格式: …… GROUP BY 分组字段 [例4]:查询TEACHER表各教研室月收入的和。 SELE 教研室, SUM(月收入) AS 月收入和 FROM TEACHER GROUP BY 教研室

  18. Select 中进行查询计算的函数: • Count(字段名) 计算记录个数 • Sum(字段名) 求字段名所指定字段值的总和 • Avg(字段名) 求字段名所指定的字段值的平均值 • Max(字段名) 求字段名所指定的字段的最大值 • Min(字段名) 求字段名所指定的字段的最小值

  19. 课堂练习: 查询出男、女人才的平均工资。 rcda表

  20. 5.2.5带特殊运算符的条件查询 [例5]:查询学生表中计算机系和管理系学生的学号,姓名,系别和贷款情况. 命令: SELE 学号,姓名,系别,贷款否 FROM 学生 WHERE 系别 IN ("计算机","管理")

  21. [例6]:在成绩表中查询成绩良好(75—85)的学生所学课程信息.[例6]:在成绩表中查询成绩良好(75—85)的学生所学课程信息. 命令: SELE 学号,课程号,成绩 FROM 成绩 WHERE 成绩 BETWEEN 75 AND 85 [例7]:查询所有非计算机系的学生的学号,姓名,系别,出生日期. 命令: SELE 学号,姓名,系别,出生日期 FROM 学生 WHERE 系别!= “计算机”

  22. 5.2.6 多表查询 [例8]查询每位教师的编号、姓名、教授课程、学生专业及学生人数。 SELE 教师.编号,姓名,教授课程,学生专业,学生人数 from 教师,业务信息 where 教师.编号=业务信息.编号

  23. 5.2.9 查询输出 [例9]查询教师表中在2000年以后(不包括2000年)参加工作的教师编号、姓名和工作时间,查询结果按工作时间降序排序,并将查询结果输出到表jsxs.dbf中. SELE 编号,姓名,工作时间 from 教师 where year(工作时间)>2000 order by 工作时间 desc into table jsxs

  24. 5.3 数据操纵 5.3.1插入记录 5.3.2更新记录 5.3.3 逻辑删除记录

  25. 5.3.1 插入记录 在表的尾部添加一个记录. 格式为: Insert into <表名>(<字段名1>[,字段名2….]) values (<表达式1> [,<表达式2>……..]) [例6]向教师表插入一条新的记录,编号为101013,姓名为晓云,性别为女,年龄为23. 参考答案: INSE INTO 教师(编号,姓名,性别,年龄) VALUE (“101010”,"晓云","女",23)

  26. 5.3.2 逻辑删除记录 • 格式为: • Delete from <表名> [where <条件表达式>] • [例7] 将教师表中不是党员的记录加上删除标记. • 参考答案: • dele from 教师 where !党员否

  27. 5.3.3 更新记录 格式为: Update <表名> set <字段名1>=<表达式1> [,<字段名2>=<表达式2>….] [where <条件表达式>] [例8]将xsda表中三好学生的成绩加1分. 参考答案: upda xsda set 成绩=成绩+1 WHERE 三好学生=.T.

  28. 本章结束,谢谢!

More Related