SQL(structrued query language)是1974年由Boyce和Chamberlin提出的,主要包括:数据查询(query)、数据操纵(manipulation)、数据定义(definition)和数据控制(control)功能,是一种通用的、功能强大的关系数据库的标准语言。
SQL的特点
综合统一:SQL是集数据定义、数据操纵和数据控制功能于一体,语言风格统一,可独立完成数据库生命周期的所有活动。
高度非过程化:SQL语言是高度非过程化的,当进行数据操作时,存储路径对用户来说是透明的,提高了数据的独立性。
面向集合的操作方式:操作对象、查找结果可以是记录的集合。
两种使用方式:既可以在终端键盘上输入SQL命令,对数据库进行操作,也可以将SQL语言嵌入到高级语言程序中。
语言简洁,易学易用:SQL语言功能极强,完成核心功能只用了9个动词,包括以下4类。
数据查询:SELECT
数据定义:CREATE DROP ALTER
数据操纵:INSERT UPDATE DELETE
数据控制:GRANT REVOKE
SQL数据定义
1.创建表(CREATE TABLE)
语句格式:
CREATE TABLE ([列级完整性约束条件]
[,[列级完整性约束条件]]...
[,]);
列级完整性约束条件有:NULL(空)、UNIQUE(取值唯一)等。
2.修改表(ALTER TABLE)
语句格式:
ALTER TABLE [ADD[完整性约束条件]]
[DROP]
[MODIFY];
3.删除表(DROP TABLE)
语句格式:
DROP TABLE ; 4.建立索引
语句格式:
CREATE [UNIQUE][CLUSTER] INDEX
ON ([][,[]]...);
参数说明:
次序。可选ASC(升序)或者DSC(降序),默认值为ASC。
UNIQUE。表明此索引的每一个索引值只对应唯一的数据记录。
CLUSTER。表明要建立的索引是聚集索引,意为索引项的顺序是与表中记录的物理顺序一致的索引组织。
5.删除索引
语句格式:
DROP INDEX ; 6.定义视图
视图是从一个或者多个表或视图中导出的表,其结构和数据是建立在对表的查询基础上的。视图不是真实存在的基础表而是一个虚拟表,视图所对应的数据并不真实存在以视图结构存储的数据库中,而是存储在视图所引用的表中。
语句格式:
CREATE VIEW 视图名 [(列名)[,]]
AS
[WITH CHECK OPTION];
注意 :
a.子查询可以是任意复杂的SELECT语句,但通常不允许含有ORDER BY 子句和 DISTINCT 短语。
b.WITH CHECK OPTION 表示对 UPDATE, INSERT, DELETE 操作时保证更新、插入或删除的行满足视图定义中的谓语条件(即子查询中的条件表达式)。
c.组成视图的属性列名或者全部省略或者全部指定。如果省略属性列名,则隐含该视图由 SELECT 子查询目标列的诸属性组成。
7.删除视图
语句格式:
DROP VIEW ; SQL数据查询
SQL的数据操纵功能包括SELECT(查询)、INSERT(插入)、DELETE(删除)和UPDATE(修改)4条语句。SQL语言对数据库的操作十分灵活方便,原因在于SELECT语句中的成分丰富多样的元组,有许多可选形式,尤其是目标列和条件表达式。
1.SELECT基本结构
语句格式
SELECT [ALL | DISTINCT] [,]...
FROM [,]
[WHERE ]
[GROUP BY [HAVING]]
[ORDER BY [ASC | DESC]...];
SQL查询中的字句顺序:SELECT、FROM、WHERE、GROUP BY、HAVING 和 ORDER BY。但是 SELECT、FROM 是必须的,而且,HAVING 子句只能与 GROUP BY 搭配起来使用。
SELECT 子句对应的是关系代数中的投影运算,用来列出查询结果中的属性。其输出可以是:列名、表达式、集函数(AVG、COUNT、MAX、MIN、SUM),DISTINCT 选项可以保证查询的结果集中不存在重复元组。
FROM 子句对应的是关系代数中的笛卡尔积,它列出的是表达式求值过程中需扫描的关系,即在FROM 子句中出现多个基本表或视图时,系统首先执行笛卡尔积操作。
WHERE 子句对应的是关系代数中的选择谓词。WHERE 子句的条件表达式中可以使用的运算符如表1所示。
表1 WHERE 子句的条件表达式中可以使用的运算符
运算符 含义 运算符 含义 集合成员运算符IN在集合中算术运算符>大于NOT IN不在集合中>=大于等于MIN>ALL大于子查询结果中的所有值>MAX=MAX
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com