SQL核心知识.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQL核心知识

SQL核心知识 SQL主要分为三类: DCL:grant revoke commit rollback DDL:create alter drop DML:insert delete update (select ) SQL语言基础-alter alter table tableName add columnName varchar2(30); alter table tableName drop column columnName; alter table tableName modify columnName varchar2(30);--修改数据类型 alter table tableName rename column columnName to newColumnName; 主表和从表 主从表是一种数据关系模型,主表约束从表。以学员信息表stuInfo和考试成绩表stuMarks为例, 我们知道它们是一对多的关系,当然一是主,多是从。(譬如我们的胡主席是主,我们大家都要听主席的话!)所以stuInfo就是主表,stuMarks就是从表。那么,一般我们会在从表中做一个外键字段,引用主表中的主键。(为什么呢?大家想想是13亿人民记住主席的名字容易还是主席记住13亿人民名字呢?)这一点,已经在stuMarks表中得到了体现。那么,为了保持数据的完整性。主从表我们要尽量遵循以下原则: 1、当主表中没有对应的记录时,不能将记录添加到子表 ——成绩表中不能出现在学员信息表中不存在的学号; 2、不能更改主表中的值而导致子表中的记录孤立 ——把学员信息表中的学号改变了,学员成绩表中的学号也应当随之改变; 3、子表存在与主表对应的记录,不能从主表中删除该行 ——不能把有成绩的学员删除了 4、删除主表前,先删子表 ——先删学员成绩表、后删除学员信息表 理解查询的机制 查询产生一个虚拟表,看到的是表形式显示的结果,但结果并不真正存储,每次执行查询只是先从数据表中提取数据,并按照表的形式显示出来 查询语法 SELECT 列名 FROM 表名 [WHERE 查询条件表达式] [ORDER BY 排序的列名[ASC或DESC]] 例子: SELECT SCode,SName,SAddress FROM Students WHERE SSEX = 0 ORDER BY SCode 数据查询-基础 查询全部的行和列 SELECT * FROM Students 数据查询-给列取别名(3种方式) 使用AS来命名列(其中as可以省略) SELECT FirstName+.+LastName AS 姓名 FROM Employees 使用=来命名列 SELECT 姓名 = FirstName+.+LastName FROM Employees 数据查询-查询部分行 SELECT SCode,SName,SAddress FROM Students WHERE SAddress 河南新乡 数据查询-查询NULL值 SELECT SName FROM Students WHERE SEmail IS NULL 数据查询-使用常量列 SELECT 姓名=SName,地址= SAddress,河北新龙 AS 学校名称 FROM Students 数据查询-限制行数 1. 限制固定行数 SELECT TOP 5SName, SAddress FROM Students WHERE SSex = 0 2. 返回百分之多少行 SELECT TOP 20 PERCENT SName, SAddress FROM Students WHERE SSex = 0 数据查询-排序 注意排序中的字段可以使用表达式: 1. 升序 SELECT StudentID As 学员编号,(Score*0.9+5) As 综合成绩 FROM Score WHERE (Score*0.9+5)60 ORDER BY Score 2. 降序 SELECT Au_Lname +. +Au_fName AS EMP From Authors Union SELECT fName +.+ LName AS EMP From Employee ORDER BY EMP DESC 3.按多列排序 SELECT StudentID As 学员编号, Score As 成绩 FROM Score WHERE Score60 ORDER BY Score,CourseID 数据查询-使用函数(这个在前面已经介绍

文档评论(0)

mv2323 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档