SQL
SQL数据结构
SQL数据结构SQL(Structured Query Language)是一种用于管理和操作关系型数据库的标准化语言。
在SQL中,数据以表的形式组织,每个表由行和列组成。
为了有效地存储和检索数据,SQL使用了一些特定的数据结构和数据类型。
以下是SQL中常用的数据结构及其标准格式的详细介绍:1. 表(Table):表是SQL中最基本的数据结构,用于存储数据。
表由行和列组成,每一行表示一个记录,每一列表示一个属性。
表的标准格式如下:```CREATE TABLE table_name (column1 datatype constraint,column2 datatype constraint,...);```其中,table_name是表的名称,column1、column2等是列的名称,datatype 是列的数据类型,constraint是列的约束条件,如主键、外键等。
2. 索引(Index):索引是一种用于加速数据检索的数据结构。
它提供了快速访问数据的路径,类似于书籍的目录。
索引的标准格式如下:```CREATE INDEX index_nameON table_name (column1, column2, ...);```其中,index_name是索引的名称,table_name是要创建索引的表名,column1、column2等是要创建索引的列名。
3. 视图(View):视图是基于一个或多个表的查询结果的虚拟表。
它提供了一种简化和安全访问数据的方式。
视图的标准格式如下:```CREATE VIEW view_name ASSELECT column1, column2, ...FROM table_nameWHERE condition;```其中,view_name是视图的名称,column1、column2等是要选择的列名,table_name是要查询的表名,condition是查询条件。
SQL 简介
SQL 简介SQL 是用于访问和处理数据库的标准的计算机语言。
一、什么是 SQL?SQL 指结构化查询语言SQL 使我们有能力访问数据库SQL 是一种 ANSI 的标准计算机语言编者注:ANSI,美国国家标准化组织二、SQL 能做什么?SQL 面向数据库执行查询SQL 可从数据库取回数据SQL 可在数据库中插入新的记录SQL 可更新数据库中的数据SQL 可从数据库删除记录SQL 可创建新数据库SQL 可在数据库中创建新表SQL 可在数据库中创建存储过程SQL 可在数据库中创建视图SQL 可以设置表、存储过程和视图的权限三、SQL 是一种标准 - 但是...SQL 是一门 ANSI 的标准计算机语言,用来访问和操作数据库系统。
SQL 语句用于取回和更新数据库中的数据。
SQL 可与数据库程序协同工作,比如 MS Access、DB2、Informix、MS SQL Server、Oracle、Sybase 以及其他数据库系统。
不幸地是,存在着很多不同版本的 SQL 语言,但是为了与 ANSI 标准相兼容,它们必须以相似的方式共同地来支持一些主要的关键词(比如 SELECT、UPDATE、DELETE、INSERT、WHERE 等等)。
注释:除了 SQL 标准之外,大部分 SQL 数据库程序都拥有它们自己的私有扩展!四、在您的网站中使用 SQL要创建发布数据库中数据的网站,您需要以下要素:⏹RDBMS 数据库程序(比如 MS Access, SQL Server, MySQL)⏹服务器端脚本语言(比如 PHP 或 ASP)⏹SQL⏹HTML / CSS五、RDBMSRDBMS 指的是关系型数据库管理系统。
RDBMS 是 SQL 的基础,同样也是所有现代数据库系统的基础,比如 MS SQL Server, IBM DB2, Oracle, MySQL 以及 Microsoft Access。
RDBMS 中的数据存储在被称为表(tables)的数据库对象中。
SQL语言详解
TypeYourNameHere TypeDateHereSQL语言详解简介SQL(Structured Query Language):结构化查询语言,是一种数据库查询和程序设计语言。
SQL语言得到了广泛的应用;如:Oracle,Sybase, DB2, Informix, SQL Server等大型数据库管理系统;Visual Foxpo, PowerBuilder等PC数据库开发系统。
SQL包含4个部分:1. 数据定义语言(DDL), 例如:CREATE, DROP, ALTER等。
2. 数据操作语言(DML), 例如:INSERT, UPDATE, DELETE等。
3. 数据查询语言(DQL), 例如:SELECT等。
4. 数据控制语言(DCL), 例如:GRANT, REVOKE, COMMIT, ROLLBACK等。
SQL语言DDLCREA TE TA BLE:用来建立数据表。
例如:创建一个空的数据表Customer_Data。
CREATE TABLE Customer_Data(customer_id smallint,first_name char(20),last_name char(20),phone char(20))ALTER TA BLE:修改数据表的定义与属性。
例如:在Customer_Data中新增middle_initial数据行。
ALTER TABLE Customer_DataADD middle_initial char(1)DROP TA BLE:删除数据表以及所有的数据,索引,触发程序,条件约束以及权限。
例如:删除Customer_Data数据表DROP TABLE Customer_DataDMLINSERT:向数据表插入一行数据。
例如:在Customer_Data中新增一个客户。
INSERT INTO Customer_Data(customer_id, first_name, last_name, phone)VALUES (777, ‘Frankie’, ‘Stein’, ‘4895873900’)注意:(customer_id, first_name, last_name, phone)列表数据行名称的顺序决定了数据数值将被放在哪个数据列。
sql怎么念
sql怎么读
读:S - Q - L
或读:/ˈsiːkwəl/
/'si:kwəl/其实是sequel单词的读音。
SQL的前身是Structured English QUEry Language,前身以sequel单词作为的别名(这个巧妙的别名据说当初花了超过两个工作日的会议才确定下来)。
后来衍生出SEQUEL/2,也就是现在的SQL(Structured Query Language)。
扩展资料:
SQL具有数据定义、数据操纵和数据控制。
1、SQL数据定义功能:能够定义数据库的三级模式结构,即外模式、全局模式和内模式结构。
在SQL中,外模式有叫做视图,全局模式简称模式( Schema),内模式由系统根据数据库模式自动实现,一般无需用户过问。
2、SQL数据操纵功能:包括对基本表和视图的数据插入、删除和修改,特别是具有很强的数据查询功能。
3、SQL的数据控制功能:主要是对用户的访问权限加以控制,以保证系统的安全性。
sql语句大全及用法
sql语句大全及用法SQL(Structured Query Language,结构化查询语言)是用于存取和操纵关系式数据库的标准计算机语言,可用于定义、检索以及控制数据库中的数据。
它是由IBM公司的研究员开发出来的,不久后普及全世界,大大提高了操作数据库的效率。
sql通常被分成两种:DDL(数据定义语言,Data Definition Language)和DML(数据库操纵语言,Data Manipulation Language)。
其中DDL用于定义数据库结构和构建表,而DML则用于操纵并操作数据库中的数据。
1. 数据库结构构建(DDL)• 创建表(Create):CREATE TABLE 表名(字段名1 数据类型,字段名2 数据类型,……)• 修改表(Alter):ALTER TABLE 表名 ADD 字段名数据类型;ALTER TABLE 表名DROP 字段名;ALTER TABLE 表名 MODIFY 字段名数据类型• 删除表(Drop):DROP TABLE 表名2. 数据操纵(DML)• 更新数据(Update):UPDATE 表名 SET 字段名= 值 WHERE 条件• 授权(Grant):GRANT 权限 ON 数据库名 TO 用户4. 高级SQL语句• 嵌套查询(Nested query):SELECT * FROM 表名 WHERE 字段名 IN(SELECT * FROM 另一个表名 WHERE 条件)• 分组聚合(Group by):SELECT 字段名 FROM 表名 GROUP BY 字段名• 分页查询(Page query):SELECT * FROM 表名 LIMIT 起始的记录条数,获取的记录数。
sql的用法
SQL是一种用于操作关系数据库的语言,可以用于创建、插入、删除、更新数据以及查询数据库。
SQL的使用方法包括:1.创建数据库:使用CREATE DATABASE语句可以创建一个新的数据库。
例如:CREATE DATABASE database_name。
2.创建表:使用CREATE TABLE语句可以创建一个新的表。
例如:CREATE TABLE table_name (column1 datatype, column2 datatype,column3 datatype, ...)。
3.插入数据:使用INSERT INTO语句可以将数据插入到表中。
例如:INSERT INTO table_name (column1, column2, column3, ...) VALUES(value1, value2, value3, ...)。
4.删除数据:使用DELETE FROM语句可以删除表中的数据。
例如:DELETE FROM table_name WHERE condition。
5.更新数据:使用UPDATE语句可以更新表中的数据。
例如:UPDATE table_name SET column1 = value1, column2 = value2 WHEREcondition。
6.查询数据:使用SELECT语句可以从表中查询数据。
例如:SELECT * FROM table_name WHERE condition。
7.删除表:使用DROP TABLE语句可以删除一个表。
例如:DROP TABLE table_name。
8.修改表结构:可以使用ALTER TABLE语句修改表结构,例如添加、删除、修改列等。
此外,SQL还可以进行更复杂的操作,如创建索引、创建视图、聚合函数等。
在使用SQL时,需要注意语法和语义的正确性,以确保操作的正确性和安全性。
SQL基础培训课件
01
SQL是结构化查询语言,用于在关系型数据库中进行数据操作 ;
02
SQL是关系型数据库的标准化语言,被广泛应用于各种数据库
系统;
通过SQL语言,用户可以方便地对数据库进行各种操作,包括
03
创建、查询、更新、删除等。
05
sql与大数据
大数据的概念和特点
数据量大
产生速度快
通常涉及数十亿甚至数百亿的数据记录和数 据量。
03
窗口函数的应用场景:排名、 移动平均、累计等
事务处理
事务的定义及特性 事务的隔离级别:读未提交、读已提交、可重复读、串行化
事务的应用场景:银行系统、电商系统、预订系统等Βιβλιοθήκη 04sql语言特点
简洁的语法
1
SQL语法相对简洁明了,易于学习和使用;
2
只需要几条核心语句就可以完成数据库操作, 例如SELECT、INSERT、UPDATE、DELETE等 ;
数据库技术不断演进
随着数据库技术的不断发展,SQL的应用场景也将越来越广泛。例如,分布式数据库、云数据库等新型数据库不断涌现,为 SQL的应用提供了更加广阔的空间。
新兴领域应用不断拓展
在大数据、人工智能等新兴领域中,SQL的应用也变得越来越广泛。例如,在大数据分析中,SQL可以用来进行数据清洗、 分析和挖掘;在机器学习中,SQL可以用来抽取、转换和加载数据集。
VS
建议
首先,建议学员在学习的过程中注重理论 与实践相结合,多进行实际操作和案例演 练;其次,建议学员在学习过程中多与老 师和同学交流互动,以便更好地解决学习 中遇到的困难和问题;最后,建议学员积 极参与课后的复习和练习,及时掌握所学 内容,提高学习效果和学习质量。
通俗易懂解释sql查询
通俗易懂解释sql查询SQL查询是一种用于从数据库中检索特定数据的技术。
它允许用户利用结构化查询语言(SQL)编写查询语句,并根据特定条件从数据库中检索出所需的数据。
本文将一步一步地解释SQL查询,并提供示例说明。
第一步:连接到数据库要开始执行SQL查询,首先需要连接到数据库。
数据库是一个存储和组织数据的仓库,可以是关系型数据库(如MySQL、Oracle等)或非关系型数据库(如MongoDB、Redis等)。
连接到数据库通常涉及提供数据库的连接信息,例如主机名、端口号、用户名和密码。
一旦成功连接到数据库,就可以开始执行SQL查询。
第二步:选择要查询的表在SQL查询中,表是存储数据的基本单位。
表由一系列行和列组成,并包含特定类型的数据。
在执行查询之前,需要明确指定要查询的表。
可以使用SELECT语句从单个表或多个表中检索数据。
例如,要从名为"students"的表中检索所有学生的信息,可以使用以下语句:SELECT * FROM students;这将返回“students”表中的所有数据。
第三步:筛选所需的数据在真实的情况下,我们往往需要筛选出符合特定条件的数据,而不是返回所有数据。
为了实现这个目的,可以使用WHERE子句。
WHERE子句允许我们提供条件,以便在查询中只返回满足条件的数据。
例如,如果我们只想检索年龄大于18岁的学生的信息,可以使用以下语句:SELECT * FROM students WHERE age > 18;这将返回满足条件(年龄大于18岁)的所有学生的信息。
第四步:指定要返回的列有时候我们只对表中的特定列感兴趣,而不是返回所有列的数据。
为了实现这一点,可以在SELECT语句中明确指定要返回的列。
例如,如果我们只对学生的姓名和年龄感兴趣,可以使用以下语句:SELECT name, age FROM students;这将返回只包含姓名和年龄列的学生信息。
SQL介绍
多表查询--非等值连接
EMPLOYEES
JOB_GRADES
EMPLOYEES表中的列工资
SQL简介
SQL是结构化查询语言(Structured Query Language)的简称。
SQL还是一门ANSI的标准计算机语言。标准规定数据库的大部分访问与操作都需 要使用特定的SQL语句来完成。
SQL能做什么?
SQL 面向数据库执行查询 SQL 可从数据库取回数据 SQL 可在数据库中插入新的记录 SQL 可更新数据库中的数据 SQL 可从数据库删除记录 SQL 可创建新数据库 SQL 可在数据库中创建新表 SQL 可在数据库中创建存储过程 SQL 可在数据库中创建视图 SQL 可以设置表、存储过程和视图的权限
比较运算符—like
使用LIKE运算选择类似的值 选择条件可以包含字符或数字:
% 代表一个或多个字符。 _ 代表一个字符。
SELECT FROM WHERE
first_name employees first_name LIKE 'S%';
比较运算符—like
‘%’和‘-’可以同时使用。
SELECT last_name FROM employees WHERE last_name LIKE '_o%';
使用 BETWEEN 运算来显示在一个区间内的值。
SELECT last_name, salary FROM employees WHERE salary BETWEEN 2500 AND 3500;
Lower limit Upper limit
比较运算符—in
使用IN运算显示列表中的值。
SELECT employee_id, last_name, salary, manager_id FROM employees WHERE manager_id IN (100, 101, 201);
SQL最全基础教程
索引优化原理及实践指南
索引原理
索引是一种数据结构,可以提高数 据检索的速度。通过创建索引,数 据库系统可以快速定位到表中的特
定行。
索引优化
常见的索引类型包括B树索引、哈 希索引、位图索引等,不同类型的
索引适用于不同的场景和需求。
子查询分类
标量子查询、列子查询、行子查询和表子查询。标量子查询返回单个值,列子查询返回一列数据,行子查 询返回一行数据,表子查询返回多行多列数据。
嵌套使用技巧
子查询可以嵌套在SELECT、FROM和WHERE子句中。在SELECT子句中,子查询可以作为表达式的一部 分;在FROM子句中,子查询可以作为派生表使用;在WHERE子句中,子查询可以作为条件表达式的一 部分。
透明数据加密(TDE)
对数据库文件进行加密,保护静止数据的安全性。
审计跟踪记录访问行为
审计策略配置
配置审计策略以记录对数 据库对象的访问行为。
实时监控与报警
实时监控数据库访问行为, 并在检测到异常时及时报 警。
审计日志分析
分析审计日志以检测异常 访问行为或潜在的安全威 胁。
08
总结回顾与拓展学习资源
对查询结果进行排序。
排序顺序
升序(ASC)或降序(DESC),默认为升 序。
排序列
指定要排序的列名或列别名。
多列排序
可指定多个列进行排序,先按第一列排序, 再按第二列排序,以此类推。
分组聚合
01
02
03
04
05
GROUP BY子句 分组列 作用
聚合函数
HAVING子句作 分组条件 用
超详细的sql查询语法
超详细的sql查询语法SQL查询语法详解一、SELECT语句SELECT语句是最常用的SQL查询语句,用于从数据库中检索数据。
其基本语法如下:SELECT 列名FROM 表名[WHERE 条件][ORDER BY 列名 [ASC|DESC]][LIMIT 数字]1. 列名:指定需要检索的列,可以使用通配符“*”代表所有列。
2. 表名:指定要查询的表名。
3. WHERE条件:可选项,用于筛选满足条件的记录。
4. ORDER BY子句:可选项,用于按指定列对查询结果进行排序,ASC表示升序,DESC表示降序。
5. LIMIT子句:可选项,用于限制查询结果的数量。
例如,查询员工表中所有员工的姓名和工资:SELECT 姓名, 工资FROM 员工表;二、WHERE条件WHERE条件用于筛选满足特定条件的记录。
常用的条件运算符有:1. 等于(=):用于判断两个值是否相等。
2. 不等于(<>或!=):用于判断两个值是否不相等。
3. 大于(>)和小于(<):用于判断一个值是否大于或小于另一个值。
4. 大于等于(>=)和小于等于(<=):用于判断一个值是否大于等于或小于等于另一个值。
5. BETWEEN...AND...:用于判断一个值是否在某个范围内。
6. LIKE:用于模糊匹配,可以使用通配符“%”表示任意字符,使用“_”表示单个字符。
例如,查询员工表中工资大于5000的员工:SELECT *FROM 员工表WHERE 工资 > 5000;三、ORDER BY子句ORDER BY子句用于对查询结果进行排序。
可以按照一个或多个列进行排序,可以指定升序(ASC)或降序(DESC)。
例如,查询员工表中的员工按照工资降序排列:SELECT *FROM 员工表ORDER BY 工资 DESC;四、LIMIT子句LIMIT子句用于限制查询结果的数量。
可以指定返回的记录数量。
例如,查询员工表中薪资前5名的员工:SELECT *FROM 员工表ORDER BY 薪资 DESCLIMIT 5;五、使用聚合函数聚合函数用于对数据进行统计和计算。
sql一级二级三级标准
sql一级二级三级标准
SQL标准分为三个主要部分:一级、二级和三级范式。
1. 一级范式(1NF):这是最基础的范式,要求表中的每个列都是不可分割的最小单元,并且每个表都必须有一个唯一的主键。
2. 二级范式(2NF):在满足一级范式的基础上,要求表中的每个非主键列完全依赖于主键。
换句话说,一个表应该具有一个唯一的主键,并且所有其他列都直接依赖于主键。
例如,一个订单表有订单号、产品ID、数量和价
格等列,其中价格是根据产品ID从另一个表中获取的。
在这种情况下,价
格列不直接依赖于主键订单号,而是依赖于非主键列产品ID,违反了二级
范式。
要满足二级范式,可以将价格这一非主键列分离出来,创建一个产品表,其中包含产品ID和价格,然后通过产品ID将两个表关联起来。
3. 三级范式(3NF):在满足二级范式的基础上,要求消除表中的传递依赖。
换句话说,这意味着任何非主键列都不能依赖于其他非主键列。
以上内容仅供参考,可以查阅SQL相关的书籍或咨询专业的技术人员,获
取更全面准确的信息。
什么是SQL
数据分析-SQL语言基础什么是SQL人们的生活已经离不开数据,无论电子设备,社交账户还是银行平台,我们每天都以惊人的速度生成不可估量的数据;例如:商业银行;商业银行储存着每个客户的信息,在每个客户信息下还有支票账户、信用卡账户、储蓄账户,在每个账户下同时关联着消费记录、取钱记录等,这些都是数据;消费记录支票账户取钱记录个人信息信用卡账户存钱记录Bank 还款记录储蓄账户利息记录数据是如何储存的:数据的存储需要通过数据库DataBase,数据库的程序可将已经生成的数据快速的存储到数据库当中,并提供生成、修改、提取、删除等操作,数据的形式有很多种,而对应的数据库也不同,例如我们有Relational(关系型数据库)、No-Relational(无关联数据库)、Graph等等,当然最受欢迎的仍然是Relational(关系型数据库),在关系型数据库中,所有的数据分布在不同的表(table)中,并且在table之间有着不可分割的关系,几乎所有的Relational(关系型数据库)都提供Structured Query Language (简称SQL),我们利用SQL可以Create table、Select Date、insert Date 和update Date;SQLStructured Query LanguageCreate InsertSelect Update关系型数据库Relational-DatabaseSQL起源于Relational Data,例如Postgre SQL、SQL Server、My SQL,随着大数据的发展,人们对SQL的呼声越来越高,于是大数据平台开始兼容SQL,例如HIVE SQL、Spark、Apache DRILL;SQL用途广,兼容性好,具有稳定性而且速度快的特点;。
sql数据库是什么
SQL数据库是什么SQL数据库是一种用于存储和管理结构化数据的软件系统。
它使用结构化查询语言(SQL)作为操作数据库的标准语言。
SQL数据库在现代软件开发中扮演着重要的角色,被广泛用于存储和管理数据。
数据库的定义和作用数据库是组织和存储数据的集合。
它提供了一种结构化的方式来存储和管理大量的数据,并且能够提供高效的数据访问和查询。
数据库可以用于各种目的,包括商业应用、科学研究、社交媒体等。
数据库的主要作用有:1.数据存储:数据库可以存储大量的数据,并且能够提供安全和持久的存储。
2.数据访问:数据库提供了高效的数据访问方式,使得用户能够方便地查询和获取数据。
3.数据管理:数据库可以通过定义数据模型和约束来管理数据的结构和完整性。
4.数据安全:数据库可以提供安全的数据访问和控制,确保只有授权用户能够访问和修改数据。
SQL语言简介SQL(Structured Query Language)是一种用于管理数据库中的数据和操作的标准化语言。
SQL语言具有以下特点:•声明式语言:SQL是一种声明式语言,用户只需描述需要的数据,而无需详细说明如何获得数据。
•关系型语言:SQL是一种关系型语言,它使用表和表之间的关系来组织数据。
•简单易学:SQL语言的语法相对简单,易于学习和使用。
用户可以使用SQL进行数据的插入、查询、更新和删除等操作。
SQL语言包括以下几类命令:•DDL(数据定义语言):包括用于创建、修改和删除数据库对象(例如表、索引、视图等)的命令。
•DML(数据操作语言):包括用于插入、查询、更新和删除数据的命令。
•DQL(数据查询语言):用于查询和检索数据库中的数据的命令。
•DCL(数据控制语言):用于控制数据库用户访问权限和数据完整性的命令。
SQL数据库的特性SQL数据库具有以下重要特性:1.事务支持:SQL数据库支持事务,保证了数据的一致性和完整性。
事务允许多个操作作为一个逻辑单元执行,并且要么全部成功,要么全部失败回滚。
SQL语言基础
【例6-5】将学生表学生所属系(Dept)长度改为 20。 ALTER TABLE Student MODIFY(Dept CHAR (20)); ⑶ 删除某些列 可以对已定义表中的列进行删除。 【例6-6】将学生表Student中班级(Class)列删除。 ALTER TABLE Student drop(Class )); 在没有视图和约束引用该列时,删除才能正常 进行。
【例6-9】为STUDENT表创建学号升序 惟一性索引,为SC表创建学号升序和课 程号降序索引。 CREATE UNIQUE INDEX st_snum on student(snum); CREATE INDEX sc_snum_cnum on sc(snum,cnum desc)
2.删除索引 删除索引的命令格式为:DROP INDEX <索引名 >; 索引建立后,由系统使用和维护,不需要用户干 预。建立索引是为了提高查询数据的效率,但如 果某阶段数据变动频繁,系统维护索引的代价会 增加,可以先删除不必要的索引。 【例6-10】删除STUDENT表ST-SnuM索引。 Drop INDEX st_snum; 删除索引,不仅物理删除相关的索引数据,也从 数据字典中删除该索引的描述。
【例6-11】教务处经常用到学号(SNum)、姓名 (SName)、性别(Sex)、系别(Dept)课程号 (CNum)、课程名(CName)、学分(Credit)、 成绩(Grade)数据,为该用户创建一个视图,便 于对数据的使用。 CREATE VIEW st_cu_sc(学号,姓名,性别,系别,课 程号,课程名,学分,成绩) AS SELECT SNum, Sname,Sex, Dept,Cnum, Cname, Credit, Grade From student,course,sc Where student. SNum=sc.SNum and um=course. Cnum WITH CHECK OPTION;
sql数据库详解
sql数据库详解摘要:一、SQL数据库概述1.SQL的定义2.SQL的作用3.SQL的常见类型二、SQL数据库的组成部分1.数据库管理系统(DBMS)2.表3.记录4.字段三、SQL的语句类型1.DDL(数据定义语言)2.DML(数据操控语言)3.DCL(数据控制语言)四、SQL语句的书写规则1.分号结尾2.不区分大小写3.常数书写方式4.空格输入规范五、SQL数据库的常见操作1.创建数据库2.删除数据库3.插入记录4.更新记录5.删除记录6.查询记录正文:SQL数据库详解SQL,全称Structured Query Language,即结构化查询语言,是一种专门用于管理关系型数据库的编程语言。
它被广泛应用于各种领域,如互联网、金融、医疗等,用于存储、查询和处理数据。
SQL数据库主要由以下几个部分组成:1.数据库管理系统(DBMS):DBMS是用于管理数据库的软件,它可以对数据库进行创建、删除、查询等操作。
常见的DBMS有Oracle、SQL Server、DB2、PostgreSQL、MySQL等。
2.表:表是数据库中用于存储数据的基本单位,它由一系列列和行组成。
列代表着数据的属性,行则表示具体的记录。
3.记录:记录是表中的一个数据单元,它由一系列字段组成。
每个记录都包含了一个实体的完整信息。
4.字段:字段是记录中的一个数据项,用于表示记录的某个属性。
每个字段都有其特定的数据类型和名称。
SQL语句主要分为三种类型:1.DDL(数据定义语言):用于定义和管理数据库中的对象(如表、视图等)。
2.DML(数据操控语言):用于对数据库中的数据进行操作,包括插入、更新、删除和查询等。
3.DCL(数据控制语言):用于控制数据库的访问权限和事务处理。
在书写SQL语句时,需要遵循以下规则:1.语句以分号";"结尾。
2.不区分大小写。
3.数字保持原形,字符串和日期使用单引号。
4.语句内的单词之间的空格不能全角输入。
sql名词解释
SQL(Structured Query Language)是一种用于管理和操作关系数据库系统的标准语言。
它是一种用于查询、插入、更新和删除数据库中的数据的高级语言,也是用于定义数据库的架构、数据类型和关系结构的标准语言。
SQL是用于与关系型数据库管理系统(RDBMS)进行交互的标准语言。
在SQL中,数据以表格的形式存储,每个表格由一系列行组成,每行包含一个记录的数据。
表格中的列定义了记录的数据类型和列名,而表格之间的关系则通过连接不同表格的列来实现。
SQL的主要功能包括:1. 数据查询:使用SELECT语句从数据库中检索数据。
可以使用WHERE子句筛选数据,使用ORDER BY子句对结果进行排序,使用LIMIT子句限制返回的行数。
2. 数据插入:使用INSERT语句将新的数据记录插入到数据库中。
3. 数据更新:使用UPDATE和DELETE语句修改和删除现有数据记录。
4. 数据定义:使用CREATE、ALTER和DROP语句定义和修改数据库的架构、数据类型和关系结构。
5. 数据控制:使用GRANT和REVOKE语句控制对数据库的访问权限。
SQL语言具有语法简单、易学易用的特点,是数据库管理员和开发人员常用的工具之一。
它广泛应用于各种企业和机构,用于管理大量的数据并支持关键业务应用程序的运行。
在使用SQL时,需要与数据库管理系统(DBMS)进行交互。
DBMS是一种软件系统,用于存储、检索、管理和保护数据。
它提供了SQL接口,使开发人员和数据库管理员能够与数据库进行交互,执行各种操作和任务。
总结来说,SQL是一种用于管理和操作关系数据库的标准语言,具有数据查询、插入、更新、定义和控制等主要功能。
它与数据库管理系统(DBMS)进行交互,用于管理大量的数据并支持关键业务应用程序的运行。
数据库—SQL
SQLSQL是结构化查询语言(structured query language)。
可提供以下命令:查询数据在表中插入、修改和删除记录建立、修改和删除数据对象控制对数据和数据对象的存取保证数据库具有一致性和完整性一、select子句(例子数据库为:车队管理数据库)<一> 简单查询:选择列表、from 子句、where子句查询结果排序:order by (asc/desc)注:ntext/text/image不能排序变换列名:新列名=列名;列名as 新列名删除或保留重复行:all/distinct限制返回的行数:top n [precent]:看过正面的截图就会明白的^--^<二> from 子句:对象为表或视图,最多为256个表或视图,以逗号分隔。
变换表名或视图名:表名as 别名;表名别名注:select不仅可以从表或视图中检索数据,还能从其他的查询语言的返回集合中查询数据。
<三> where 子句:主要过滤掉不需要的数据行比较:> < >= <= <> !> !< =范围运算符:between…and , not between…and列表运算符:in(1,2…)not in (1,2…)模式匹配符:like , not like可用于char, varchar, text, ntext, datetime, smalldatetime等。
%百分号任意类型和长度(含0个)的字符。
注:若为中文,则用%% _下划线单个任意字符,[ ]方括号指定一个字符、字符串或范围,必须选择其中之一[^] 不是[ ]中的Like ‘%[ % ]%’:表示查询记录中有%的记录空值判断符:is null, is not null逻辑运算符:not, and , or。
注:优先级降低Union查询二、连接查询(业务数据库)通过连接运算符可以实现多个表查询。
sql协议
sql协议SQL(Structured Query Language)是用于管理关系数据库管理系统(RDBMS)中数据的标准编程语言。
它是大多数关系数据库管理系统的标准,包括MySQL、Oracle和SQL Server等。
SQL协议指的是在网络中传输SQL请求和响应的协议。
SQL协议以客户端/服务器模型工作,其中客户端发送SQL请求给服务器,并接收服务器返回的响应。
SQL协议的一般工作流程如下:1. 客户端与服务器建立连接。
这可以通过客户端应用程序或网络浏览器中的连接字符串或URL完成。
连接字符串指定服务器名称、端口、数据库名称和登录凭据等细节。
2. 客户端使用连接字符串中指定的凭据登录服务器。
服务器验证凭据,并在成功认证后使客户端成为当前会话的一部分。
3. 客户端发送SQL请求给服务器。
SQL请求可以是任何标准SQL语句,如SELECT、INSERT、UPDATE和DELETE等。
客户端将SQL请求转换为二进制格式,并通过网络发送给服务器。
SQL请求还可以包括参数,以便在服务器端执行动态SQL。
4. 服务器接收SQL请求并执行请求的操作。
服务器分析请求,验证权限,执行相应的操作,并返回执行结果。
服务器可以返回一个结果集,也可以返回受影响的行数等其他信息。
5. 服务器将执行结果转换为二进制格式,并通过网络发送给客户端。
客户端接收响应,并根据需要处理响应。
例如,如果响应是一个结果集,客户端可以将结果集转换为表格或报告。
6. 客户端和服务器之间的连接保持打开状态,以便进一步的请求和响应。
客户端可以发送更多的SQL请求,并接收更多的响应,直到完成会话或关闭连接。
SQL协议的设计目标是在客户端和服务器之间提供高效、可靠和安全的通信。
为了实现这些目标,SQL协议使用了多种技术,如套接字和网络传输层协议(如TCP/IP),以及各种加密和身份验证机制。
总之,SQL协议是客户端和服务器之间进行SQL通信的标准协议。
SQL简介
一.SQL语言简介1. SQL概述SQL是一种面向数据库的通用数据处理语言规范,能完成以下几类功能:提取查询数据,插入修改删除数据,生成修改和删除数据库对象,数据库安全控制,数据库完整性及数据保护控制。
数据库对象包括表、视图、索引、同义词、簇、触发器、函数、过程、包、数据库链、快照等(表空间、回滚段、角色、用户)。
数据库通过对表的操作来管理存储在其中的数据。
2. 数据库查询1) 用SELECT语句从表中提取查询数据。
语法为SELECT [DISTINCT] {column1,column2,…} FROM tablename WHERE {conditions} GROUP BY {conditions} ORDER BY {expressions} [ASC/DESC];说明:SELECT子句用于指定检索数据库的中哪些列,FROM子句用于指定从哪一个表或视图中检索数据。
2) SELECT中的操作符及多表查询WHERE子句。
(LIKE,IS,…)WHERE子句中的条件可以是一个包含等号或不等号的条件表达式,也可以是一个含有IN、NOT IN、BETWEEN、LIKE、IS NOT NULL等比较运算符的条件式,还可以是由单一的条件表达通过逻辑运算符组合成复合条件。
比较操作符= > < >= <= != <>SQL操作符BETWEEN … AND… IN LIKE IS NULLNOT BETWEEN … AND… NOT IN NOT LIKE IS NOT NULL逻辑操作符AND OR NOT3) ORDER BY 子句ORDER BY 子句使得SQL在显示查询结果时将各返回行按顺序排列,返回行的排列顺序由ORDER BY 子句指定的表达式的值确定。
4) 连接查询利用SELECT语句进行数据库查询时,可以把多个表、视图的数据结合起来,使得查询结果的每一行中包含来自多个表达式或视图的数据,这种操作被称为连接查询。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
S tructured Q uery L anguage- SQL4.0 SQL : S tructured Q uery L anguage4.1.SQL4.2 Data definition language:4.3 Database modification operations4.3.1. ALTER TABLE4.3.2 DROP TABLE4.3.3 Index4.3.4 View4.4 Data manipulation Language4.4.1 Insertion of Records:4.4.2 Deletion of Records4.4.3 Updates of records4. 5 Data Manipulation - SELECT4.5.1 SELECT – FROM :4.5.2 SELECT .. FROM …. WHERE4.5.3 ORDER BY4 .5.4 Character / Pattern Matching4.5.5 IN and BETWEEN4.6. Built-in Functions4.7 GROUP BY4.8. HAVING clause4.9 Calculations with select Statements4.10 Removing Duplicate Rows4.11 SQL – Reserved Word4.0 S tructured Q uery L anguage (also known "sequel").SQL was developed at IBM (San Jose Lab) during the 1970's, and standardised during the 1980's.The current standard implemented by commercial DBMSs is SQL2 (aka SQL-92). Most RDBMSs extend the standard language in various "useful" ways.A new standard (SQL3) is imminent, to extend the language with triggers, recursion, objects.SQL: S tandard SQL2:SQL is an ANSI/ISO standard language for querying and manipulating relational DBMSs. It is used1as a data definition language-data definition facilities-database modification operations2as an update language- database update operations ( insert, delete and modify)3) as a query language-database query applications-aggregation operations4.2 Data definition language:-data definition facilities-database modification operationsData Definition CREATE TABLE CommandA RELATION in relational database , table , consists of attributes (column) and contains tuples (records ) of data. When creating a table, the user needs to specifyeach column by name and assign a data type for each column.The syntax for defining (or creating) a table is specified below.CREATE TABLE < [owner.]table_name >( <column_name datatype [DEFAULT expression] [column_constraint]> , . ..............[<column_name datatype [DEFAULT expression] [column_constraint] ],[table_constraint] [ENABLE enable_clause] [DISABLE disable_clause][ AS subquery].The column_constraint could be defined in many ways. The following example illustrates some of the ways in defining the column_constraint besides illustrating the CREATE TABLE command.Note that the columns may be NULL columns or NOT NULL columns. If specified as a NULL column, the specified column can take on NULL values. Refer class notes for more information!.SQL> CREATE TABLE STUDENT( student_ id char(15)Student_name varchar2(50) NOT NULLCONSTRAINT student_pkPRIMARY KEY,);SQL> CREATE TABLE COURSE( course_id char(10) NOT NULL,section_id char(12) NOT NULL,Course_name varchar2(50) NOT NULLCONSTRAINT course_pkPRIMARY KEY (course_i, section_id),);SQL> CREATE TABLE enroll(student_id char(15) NOT NULL,course_id char(10) NOT NULL,section_id char(12) DEFAULT '01' NOT NULL,semester char(4) DEFAULT 'F97' CONSTRAINT sem_nn NOT NULL, grade char(1) NULL,CONSTRAINT enroll_pk PRIMARY KEY(student_id, course_id, section_id), CONSTRAINT enroll_fk1 FOREIGN KEY (student_id) REFERENCESstudent,CONSTRAINT enroll_fk2 FOREIGN KEY (course_id, section_id)REFERENCES course,CONSTRAINT grade_constraint CHECK (grade in ('A','B','C','D','E', 'I' )) ); Data types in OracleFollowing are some useful data typesCHAR(n) - character string – n characters – default 1 VARCHAR2(n) or VARCHAR(n) - variable characters – maximum characters n NUMBER( w, d) - Floating point number – width w number, d digits after decimal pointsNUMBER(n) - n digit integer or numbersDATE - day/month/year4.3 Database modification operations4.3.1. ALTER TABLE CommandThe purpose of the ALTER TABLE command is one/more of the following: ∙To add a column to an existing table∙To add a new integrity constraint to an existing table∙To redefine a column (data type, size, default value)∙To enable, disable, or drop an integrity constraint or trigger.∙To modify storage characteristics or other parameters.The General Syntax of Alter Table CommandALTER TABLE [owner.]<table_name>{ [ADD (<column_name> <datatype> [DEFAULT expr][<column_constraint>] ) ([table_constraint] ) ][MODIFY (<column_name> <datatype> [DEFAULT expr][<column_constraint>] )] [DROP <drop_clause>][ENABLE <enable_clause>] [DISABLE <disable_clause>] }At least one of the above list (ADD, MODIFY, DROP, ENABLE, or DISABLE) must be specified.Oracle does not permit the deletion of a column or changing the name of a column. These can be done only by dropping and recreating the table and its definitions. SQL> ALTER TABLE EMPLOYEEADD (no_children char(15));Adding an additional attribute no_children to employee table4.3.2 DROP TABLE CommandPermits users to drop an existing table. The execution of this command results in the removal of the data stored in that table as well. The syntax for the DROP TABLE command:DROP TABLE [owner.]<table_name>4.3.3 IndexAn INDEX is a database object that contains an entry for each value that appears in the indexed column(s) of the table. It provides direct and faster access to rows of data. CREATE INDEX [owner.]<index_name>ON [owner.]<table_name> ( <column_name> [ASC | DESC] )This statement creates a single index on those specified columns. If the user wishes to create a separate index for each of many different columns, each index definition must be specified as a separate command. The default order in the index is the ascending order (ASC).An index can be dropped using the DROP INDEX command:DROP INDEX [owner.]<index_name>4.3.4 ViewA VIEW is a logical table that allows the users to access data from multiple other tables and/or views. The view contains no data. The data for the view comes from different other tables (or views) which are called the base table(s) for this view.The syntax for the CREATE VIEW command:CREATE VIEW [owner.]<view_name>(<column_list>)AS <subquery>SQL> CREATE VIEW EMPSALAS SELECT ename, sal*12 Annual_SalaryFROM empWHERE deptno = 20;This view, EMPSAL would now have 2 columns, ename and Annual_Salary. Note: the column Annual_Salary does not exist in the base table employee. It is a derived value, derived by the product of the employee’s salary (sal) and 14. This derived column is a liased as "Annual_Salary" in the query.An existing VIEW can be removed from the database by dropping it.DROP VIEW [owner.]<view_name>EXERCISE 1: Creating a COMPANY DATABASE- Creation of Tablescreate table employee (fname char(15) not null,minit char(1),lname char(15) not null,ssn char(9) not null,bdate date,address char(30),sex char(1) check (sex in ('m','f')),salary number(10,2),superssn char(9),dno number(2),primary key (ssn),constraint employee_superforeign key (superssn) references employee(ssn) ); create table dependent (essn char(9) not null,dependent_name char(15) not null,sex char(1) check (sex in ('m','f')),bdate date,relationship char(8),primary key (essn, dependent_name),constraint dependent_employeeforeign key (essn) references employee(ssn) ); create table department (dname char(15) not null,dnumber number(2) not null,mgrssn char(9),mgrstartdate date,primary key (dnumber),unique (dname),constraint department_employeeforeign key (mgrssn) references employee(ssn) ); alter table employee add(constraint employee_departmentforeign key (dno) references department(dnumber)); create table project (pname char(15) not null,pnumber char(3) not null,plocation c har(15),dnum number(2) not null,primary key (pnumber),unique (pname),constraint proj_deptforeign key (dnum) references department(dnumber) ); create table dept_locations (dnumber number(2) not null,dlocation c har(15) not null,primary key (dnumber,dlocation),constraint dept_loc_departmentforeign key (dnumber) references department(dnumber) ); create table works_on (essn char(9) not null,pno char(3) not null,hours number(3,1),primary key (essn, pno),constraint works_on_employeeforeign key (essn) references employee(ssn) ,constraint works_on_projectforeign key (pno) references project(pnumber) );4.4 Data manipulation Language (DML) commandsThere are four data manipulation language (DML) statements:INSERT, UPDATE and DELETE and SELECT.The statementsi) insert intoii)delete andiii)Updateare required to add new records into the relations , delete unnecessary records and modify certain attributes of a record.4.4.1 Insertion of Records:The Syntax of INSERT INTO operation:INSERT INTO Relation VALUES(val1, val2, val3, ...)Example: Add Sample Rrecords into the tables created in the exerciseExample 2: INSERTING RECORDSTable Department:insert into department values('Research', 5, null, '22-MAY-78');insert into department values('Administration',4, null,'01-JAN-85');insert into department values('Headquarters', 1, null, '19-JUN-71');Table employee:insert into employee values('James', 'E', 'Borg', '888665555', '10-NOV-27', '450 Stone, Houston, TX', 'm', 55000, null, 1);insert into employee values('Franklin', 'T', 'Wong', '333445555', '08-DEC-45','638 Voss, Houston, TX', 'm', 40000, '888665555', 5);insert into employee values ('John', 'B', 'Smith', '123456789', '09-JAN-55', '731 Fondren, Houston, TX', 'm', 30000, '333445555', 5);insert into employee values ('Jennifer', 'S', 'Wallace', '987654321', '20-JUN-31', '291, Berry, Bellaire, TX', 'f', 43000, '888665555', 4);insert into employee values('Alicia', 'J', 'Zelaya', '999887777', '19-JUL-58', '3321 Castle, Spring, TX', 'f', 25000, '987654321', 4);insert into employee values('Ramesh', 'K', 'Narayan', '666884444', '15-SEP-52', '975 Fire Oak, Humble, TX', 'm', 38000, '333445555', 5);insert into employee values('Joyce', 'A', 'English', '453453453', '31-JUL-62', '5631 Rice, Houston, TX', 'f', 25000, '333445555', 5);insert into employee values('Ahmad', 'V', 'Jabbar', '987987987', '29-MAR-59', '980 Dallas, Houston, TX', 'm', 25000, '987654321', 4);Table : dep_locationsinsert into dept_locations values (1, 'Houston');insert into dept_locations values (4, 'Stafford');insert into dept_locations values (5, 'Bellaire');insert into dept_locations values (5, 'Sugarland');insert into dept_locations values (5, 'Houston');Table Project:insert into project values ('ProductX', 1, 'Bellaire', 5);insert into project values ('ProductY', 2, 'Sugarland', 5);insert into project values ('ProductZ', 3, 'Houston', 5);insert into project values ('Computerization', 10, 'Stafford', 4);insert into project values ('Reorganization', 20, 'Houston', 1);insert into project values ('Newbenefits', 30, 'Stafford', 4);Table Works_on :insert into works_on values ('123456789', 1, 34.5);insert into works_on values ('123456789', 2, 7.5);insert into works_on values ('666884444', 3, 40.0);insert into works_on values ('453453453', 1, 20.0);insert into works_on values ('453453453', 2, 20.0);insert into works_on values ('333445555', 2, 10.0);insert into works_on values ('333445555', 3, 10.0);insert into works_on values ('333445555', 10, 10.0);insert into works_on values ('333445555', 20, 40.0);insert into works_on values ('999887777', 30, 30.0);insert into works_on values ('999887777', 10, 10.0);insert into works_on values ('987987987', 10, 35.0);insert into works_on values ('987987987', 30, 5.0);insert into works_on values ('987654321', 30, 20.0);insert into works_on values ('987654321', 20, 15.0);insert into works_on values ('888665555', 20, null);Table Dependent:insert into dependent values('333445555','Alice','f','05-APR-76', 'DAUGHTER'); insert into dependent values('333445555', 'Theodore', 'm', '25-OCT-73', 'SON'); insert into dependent values('333445555', 'Joy', 'f', '03-MAY-48', 'SPOUSE'); insert into dependent values('987654321', 'Abner', 'm', '29-FEB-32', 'SPOUSE'); insert into dependent values('123456789', 'Michael', 'm', '01-JAN-78', 'SON'); insert into dependent values ('123456789', 'Alice', 'f', '31-DEC-78','DAUGHTER');insert into dependent values ('123456789', 'Elizabeth', 'f', '05-MAY-57','SPOUSE');4.4.2 Deletion of RecordsThe Syntax of the DELETE operation:DELETE FROM RelationWHERE ConditionRemoves all tuples from Relation that satisfy Condition.DELETE FROM dependentWHERE essn = '123456789' ;A record from the relation dependent where essn = ‘123456789’is removed/Special case:DELETE FROM R;All the records in the relation R are removedNOTE: BE CAREFUL when using DELETE operation. If the Where condition is not properly defined, unwanted deletion of records mat takes place4.4.3 Updates of recordsAn update allows you to modify values of specified attributes in specified tuples of a relation:The SyntaxUPDATE RSET list of assignmentsWHERE ConditionUPDATE departmentSET mgrssn = '333445555'WHERE dnumber = 5;UPDATE departmentSET mgrssn = '987654321'WHERE dnumber = 4;UPDATE departmentSET mgrssn = '888665555'where dnumber = 1;4. 5 Data Manipulation - SELECTThe purpose of the SELECT statement is to retrieve data from one or more tables or views.The syntax for the SELECT statement is as follows:SELECT [DISTINCT | ALL ] <select_list>[FROM <table> [ { ,<table> }...] ][WHERE <condition> ][AND | OR <more_conditions>][GROUP BY <expression>][HAVING <condition>][ORDER BY [<column(s)> | <position>][ASC | DESC] ][ FOR UPDATE [OF [<username>.]<table_name>.<column>] ]Examples of SELECT statement in the Order of increasing complexityExample 3:EmployeeFname minit lname ssn bdate address sex salary Supper_ssn dno James E Borg 888665555 10-NOV-27 450 Stone Houston TX m 55000 null 1 Franklin T 'Wong' 333445555 08-DEC-45 638 Voss Houston TX m 40000 888665555 5John B Smith 123456789 09-JAN-55 731Fondren Houston TX m 30000 333445555 5Jennifer S Wallace 987654321 20-JUN-31 291 Berry Bellaire TX f 43000 888665555 4Alicia J Zelaya 999887777 19-JUL-58 3321 Castle Spring TX f 25000 987654321 4Ramesh K Narayan 66688444 15-SEP-52 975Fire Oak Humble TX m 38000 333445555 5 Joyce A English 453453453 31-JUL-62 5631 Rice Houston TX f 25000 33344555 5 Ahmad’v Jabbar 987987987 29-MAR-59 980 Dallas Houston TX m 25000 987654321 4Table : dep_locations4.5.1 SELECT – FROM :SQL> SELECT *FROM Employee;retrieve all the columns and the records the table employee SQL> SELECT ssn, salaryFROM Employee;Only two columns are selectedssn salary888665555 55000333445555 40000123456789 30000987654321 43000999887777 2500066688444 38000453453453 25000987987987 25000SQL> SELECT ssn "social security number "FROM employeeSocial security number88866555533344555512345678998765432199988777766688444453453453987987987All the values in the attribute ssn will be selected and re named as social security numberSelection of records conditionally4.5.2 SELECT .. FROM …. WHERESELECT ssn, salaryFROM EmployeeWHERE dno = 1 ;This statement select the attributes ssn and salary of the employee who is in department number =1ssn salary888665555 55000Selection of records with complex conditions more than oneComparison OperatorsThe operators include :SELECT ssn, salaryFROM EmployeeWHERE salary > 25000;ssn salary888665555 55000333445555 40000123456789 30000987654321 4300066688444 38000Logical AND, OR and NOTSELECT ssn, salaryFROM EmployeeWHERE dno = 4AND salary > 25000;Ssn Salary987654321 43000SELECT ssn, sex, salary, dnoFROM EmployeeWHERE dno = 4OR dno= 1sex salary Dno ssn8886655m 55000 1559876543f 43000 421f 25000 4999887777m 25000 4987987987There are two ways of expressing negation :SELECT ssn, sex, salary, dnoFROM EmployeeWHERE SEX !=’m’;sex salary Dnossnf 43000 49876543219998877f 25000 477SELECT ssn, sex, salary, dnoFROM EmployeeWHERE not ( SEX =’m’);4.5.3 ORDER BYThe ORDER BY clause sorts the rows in the result table in a specified order.SQL> SELECT ssn, salaryFROM EmployeeORDER BY salary ASC;Only two columns are selectedSsn Salary999887777 25000453453453 25000987987987 25000123456789 3000066688444 38000333445555 40000987654321 43000888665555 55000By default the order is in ascending order.It is also possible to specify a descendng order :SQL> SELECT ssn, salaryFROM EmployeeORDER BY salary desc ;:Ssn Salary888665555 55000987654321 43000333445555 4000066688444 38000123456789 30000987987987 25000453453453 25000999887777 25000Sorting a result table on a combination of columns is also possible : SQL> SELECT ssn, salary,dnoFROM employeeORDER by salary , dnoThe records will be sorted in ascending of the salary first and thenby ascending order of dnoSsn Salary dno999887777 25000 4987987987 25000 4453453453 25000 5123456789 30000 566688444 38000 5333445555 40000 5987654321 43000 4888665555 55000 14 .5.4 Character / Pattern MatchingThose fields which are defined as char / varchar can be selected using a variety of strings and pattern matching operators. Note that the string has to be enclosed in single quotes :LIKE commands:SQL> SELECT fname, minit, lnameFROM employeeWHERE fname LIKE 'J%';Selects all the fnames that begin with JFname miLnamenitJames E BorgJohn B SmithJennifer S WallaceJoyce A EnglishSQL> SELECT fname , minit, lnameFROM employeeWHERE fname like '%k%';Selects those fnames which have the letter k in the fnamelname DnoFname MinitFranklin T 'Wong' 5SQL> SELECT fname , minit, lnameFROM employeeWHERE fname like '%d';Selects all the fnames that end dFname minit lnameAhmad’v Jabbar4.5.5 IN and BETWEENUse of IN …SQL> SELECT fname, minit, lnameFROM employeeWHERE minit IN(‘ j ’, ‘k’, ‘s’ );Use of BETWEENSQL> SELECT ssn, salaryFROM employeeWHERE salary BETWEEN 30000 and 40000; Ssn Salary333445555 40000123456789 3000066688444 38000NULL values and non NULL values.A NULL value corresponds to 'value not known' or 'value not applicable’ and blank. Null does not mean zero..SQL> SELECT salaryFROM employeeWHERE slary = null4.6. Built-in FunctionsThe following are some of the built-in functions that Oracle SQL*Plus has to offer. SUM - sum total of a numerical column.COUNT - count of the total number of rows satisfied by some querycondition.MIN - returns the minimum value among a list of valuesMAX -returns the maximum value among a list of valuesAVG - returns the average value of a list of valuesABS - returns the absolute value.SQL> SELECT sum(salary)FROM EmployeeSQL> SELECT min (salary)FROM Employee;SQL> SELECT max(salary)FROM Employee;SQL> SELECT avg(salary)FROM Employee;SQL> SELECT count (dno)FROM Employee;SQL> s elect count(distinct dno) from team;COUNT function simply counts individual rows on a ROW BY ROW basis, across the whole table. This time the COUNT function is executed on a GROUP BY GROUP4.7 GROUP BYThe GROUP BY clause is group the records based on a particular attribute values SQL> SELECT dnoFROM employeeGROUP BY dnodno145The more useful application of group will beSQL> SELECT dno, count (*)FROM employeeGROUP BY dno;dno count1 14 35 4Any attribute which is listed in the GROUP BY clause must appear in the target list of the select statement.SQL> SELECT dno, count (*), sum(salary)FROM employeeGROUP BY dno;dno Count expression1 1 550004 3 930005 4 1330004.8. HAVING clauseThe HAVING clause may only be used with an associated GROUP BY clause. However a GROUP BY clause need not have a HAVING clause.SQL> SELECT dno, count (*), sum(salary)FROM employeeGROUP BY dno;HAVING count (*) > 2Dno Count expression4 3 930005 4 133000SQL> select dno , avg(salary)From employeegroup by dnohaving avg(salary) >30000;SQL> SELECT dno, sum(salary)FROM EmployeeGROUP BY dnoHAVING dno >1;4.9 Calculations with select Statements+,-,/ and * may be used with numeric values (and attributes), as well and in addition to numeric functions, to calculate new results.SQL> SELECT ssn, (1.2 * salary) AS new_sal, dnoFROM employeeWHERE dno=4;ssn New_Salary Dno9876543516000 42130000 499988777730000 4987987987SQL> SELECT (max(salary) - min(salary)) as difference_salaryFROM employeeWHERE dno =4 ;Difference_salary216004.10 Removing Duplicate RowsAt times the result of a retieval will produce identical rows;SQL> SELECT dnoFROM employeeDuplicate rows may be elimenated by specifying the distinct operator;SQL> SELECT distinct dnoFROM employee4.11 SQL – Reserved WordA partial list of SQL (Oracle) keywords generally used :ALTER DROP PACKAGE SEQUENCEANALYZE EXPLAIN PLAN SETAND FROM PROCEDURE SNAPSHOTAUDIT FUNCTION PROFILE SYNONYMBODY GRANT RENAME TABLECLUSTER INDEX RESOURCE TABLESPACECOMMENT INSERT REVOKE TRANSACTIONCOMMIT LINK ROLE TRIGGERCONTROLFILE LOCK ROLLBACK TRUNCATECOST LOG SAVEPOINT UPDATECREATE NOAUDIT SCHEMA USERDATABASE NOT SEGMENT VIEWDELETE OR SELECT WHERESQL*LoaderThis is an Oracle Utility used for loading data from non-Oracle data sources eg external files.Try IMPORT & EXPORT utilities.4.11 Rollback, CommitThe insert, update and delete statements are called DML (Data Manipulation Language) statements and can be reversed - to a point.Your DML statements are initially held in a local buffer space - they are not immediately transferred to the central Oracle8 database and held permanently.To transfer your DML statements to the Oracle8 database and make these changes permanent, use :SQL> commit;This will explicitly save your changes to the database. Once done, this cannot be undone.To undo the commandsSQL> rollback;Following statements will automatically cause a commit to happen∙quit∙exit∙create table∙create view∙drop table∙drop view∙grant∙revoke∙connect∙disconnectCASE STUDY:System Specification: A database has been designed for thefollowing specification and the relational schema is givenA University Accommodation Office maintain Students Accommodationinformation in the following database.Student may rent a room in a university owned hall of residence or student Flat. When a student joins the university he/she is assigned to a member of Staff who acts as his/her advisor.Each hall provides only single room. The flat provides single roomaccommodation for a group of three , four or five studentsA student may rent a room in a hall of residence or in a student flat. Leaseagreements are signed at the start of the academic year for a rental period of one semester or one year. There are two semesters in year.Each flat is inspected by a staff on a regular basis to ensure that theaccommodation is well maintained.The Relational Schema1.Student (Stu_ID, Stu_name, Stu_address, sex, date_birth, category,Nationality, smoker, special_needs, comments, status, course, room_No., room_type)2.Advisor (Staff_ID, adv_name, position, dept_name, phone_No., room_No.)3.Hall (hall_No., address, tele_No., staff_ID, room_No., place_No., rent_rate)4.Flat (flat_No., address, number_bed, room_No., staff_ID, place_No,rent_rate)5.Lease agreement: (lease_No., duration, Stu_name, Stu_id, place_No,room_No., address, enter_date, Leave_date)6.Inspection (insp_No., date, condition, comments, room_No, staff_name)7.Staff (Staff_ID, Staff_name, address, date_birth, sex, position, location)Tasks:An initial investigation suggests the following tables are required ....1.Create the above tables. You may wish to add extra attributes but theseneed to be justified.For every table it is up to you to decide the appropriate data type for each one of the columns based on the column descriptions.2.Insert 10-15 rows of data in each table. The insert statements must bestored in a script file.You must ensure that your data supports the queries below。