第三章关系数据库标准语言SQL

第三章关系数据库标准语言SQL

  • 3.1_SQL的特点
  • 3.3_数据定义
    • 3.3.1_基本表的定义、删除与修改
    • 3.3.3_索引的建立与删除
  • 3.4_数据查询
    • 3.4.1_查询时消除重复行
    • 3.4.2_涉及空值的查询
    • 3.4.3_BETWEEN AND的使用
    • 3.4.4_字符匹配
    • 3.4.5_聚集函数
  • 3.5_数据更新
    • 3.5.1_插入数据
    • 3.5.2_修改数据
    • 3.5.3_删除数据
  • 3.6_视图(除了建立,其他与对表的操作一样)
    • 3.6.1_建立视图
    • 3.6.2_删除视图

总结sql操作:
对表或者视图的操作需要写上table或者view,如create table table_name (…)
对表或者视图中数据的操作不用,如insert into table_name values(…)

3.1_SQL的特点

1.综合统一
集数据定义语言(DDL),数据操纵语言(DML),数据控制语言(DCL)功能于一体。
2.高度非过程化
3.面向集合的操作方式
4.以同一种语法结构提供多种使用方式
5.语言简洁,易学易用

3.3_数据定义

3.3.1_基本表的定义、删除与修改

1.定义基本表
CREATE TABLE <表名>
(<列名> <数据类型>[ <列级完整性约束条件> ]
[,<列名> <数据类型>[ <列级完整性约束条件>] ] …
[,<表级完整性约束条件> ] )
2.修改基本表
在这里插入图片描述
3.删除基本表
DROP TABLE <表名>[RESTRICT| CASCADE]

3.3.3_索引的建立与删除

1.建立索引
CREATE [UNIQUE] [CLUSTER] INDEX <索引名> ON <表名>(<列名>[<次序>][,<列名>[<次序>] ]…)
2.删除索引
DROP INDEX <索引名>

3.4_数据查询

HAVING短语与WHERE子句的区别: 作用对象不同
WHERE子句作用于基表或视图,从中选择满足条件的元组
HAVING短语作用于组,从中选择满足条件的组

having与where用法详解

3.4.1_查询时消除重复行

例:SELECT DISTINCT Sno FROM SC

3.4.2_涉及空值的查询

select * from Student where score IS null
注意IS不能是’=’

3.4.3_BETWEEN AND的使用

select * from Student where age BETWEEN 20 AND 30
注意:是20<= age <=30

3.4.4_字符匹配

在这里插入图片描述
在这里插入图片描述

3.4.5_聚集函数

在这里插入图片描述

3.5_数据更新

3.5.1_插入数据

方法一
INSERT
INTO <表名> [(<属性列1> [,<属性列2>… )]
[子查询]


INSERT
INTO <表名> [(<属性列1> [,<属性列2>… )]
values((<属性列1> [,<属性列2>… ))

例:

 INSERT INTO  Dept_age(Sdept,Avg_age)SELECT  Sdept,AVG(Sage)FROM  StudentGROUP BY Sdept或INSERT INTO  Dept_age(Sdept,Avg_age)values(1110,20)

3.5.2_修改数据

UPDATE <表名>
SET <列名>=<表达式>[,<列名>=<表达式>]…
[WHERE <条件>]

3.5.3_删除数据

DELETE
FROM <表名>
[WHERE <条件>]

3.6_视图(除了建立,其他与对表的操作一样)

3.6.1_建立视图

CREATE VIEW
<视图名> [(<列名> [,<列名>]…)]
AS <子查询>
[WITH CHECK OPTION]
WITH CHECK OPTION表示对视图进行update、insert和delete操作时要保证更新、插入或删除的行满足视图定义中的谓语条件

--建立信息系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有信息系的学生 。CREATE VIEW IS_StudentAS SELECT Sno,Sname,SageFROM  StudentWHERE  Sdept= 'IS'WITH CHECK OPTION

3.6.2_删除视图

DROP VIEW <视图名>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/545302.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用 Redis 如何实现延迟队列?

延迟消息队列在我们的日常工作中经常会被用到&#xff0c;比如支付系统中超过 30 分钟未支付的订单&#xff0c;将会被取消&#xff0c;这样就可以保证此商品库存可以释放给其他人购买&#xff0c;还有外卖系统如果商家超过 5 分钟未接单的订单&#xff0c;将会被自动取消&…

适用响应式 Web UI 框架

1. BootstrapBootstrap是快速开发Web应用程序的前端工具包。它是一个CSS和HTML的集合&#xff0c;它使用了最新的浏览器技术&#xff0c;给你的Web开发提供了时尚的版式&#xff0c;表单&#xff0c;buttons&#xff0c;表格&#xff0c;网格系统等等。官方网站: http://twitte…

VC 忽略警告的方法

在vs2003, vs2005中用sprintf 会出现warning C4996: sprintf was declared deprecated或warning C4996: strcpy was declared deprecated或warning C4996: strcat was declared deprecated的警告。这里给出解决问题的一些方法。方法一&#xff1a;调用VS2005鼓吹的那些带“_s”…

第四章数据库安全性

第四章数据库安全性4.1_自主存取控制方法4.1.1_授权与回收4.2_数据库角色4.2.1_角色的创建4.2.2_给角色授权4.2.3_将一个角色授予其他的角色或用户4.2.4_角色权限的收回4.1_自主存取控制方法 4.1.1_授权与回收 1.GRANT: GRANT <权限>[,<权限>]… [ON <对象类型…

observable_Java Observable notifyObservers()方法与示例

observable可观察的类notifyObservers()方法 (Observable Class notifyObservers() method) Syntax: 句法&#xff1a; public void notifyObservers();public void notifyObservers(Object o);notifyObservers() method is available in java.util package. notifyObservers(…

Redis 面试题补充与汇总

前面的 12 个章节对 Redis 的面试题做了一个系统的讲解,那么本文将对 Redis 的热门面试题再做一个补充,力求覆盖到更多的 Redis 面试点。 Redis 持久化 Redis 持久化总共有以下三种方式: 快照方式(RDB, Redis DataBase)将某一个时刻的内存数据,以二进制的方式写入磁盘;…

第五章数据库完整性

第五章数据库完整性5.1_数据库完整性概述5.2_实体完整性5.2_参照完整性5.3_用户定义的完整性5.1_数据库完整性概述 1.数据库的完整性&#xff1a; 数据的正确性和相容性 2.数据的完整性和安全性的区别&#xff1a; 数据的完整性&#xff1a;防止数据库中存在不符合语义的数据&a…

KVC/KVO实现原理分析

2019独角兽企业重金招聘Python工程师标准>>> 1. 函数调用&#xff08;消息&#xff09;实现分析&#xff1a; 我们看这条语句&#xff1a; [代码]c#/cpp/oc代码&#xff1a; 1 [self.person setValue:"Vincent"forKey:"name"]; 就会被编译器…

英语笔记:写作:Nothing succeeds without a strong will

Nothing succeeds without a strong will 没有坚强的意志将一事无成 There is a widespread humorous saying that “Quitting smoking is theeasiest thing in the world. I’ve done it for hundreds of times.” 1. Funny as itis, the saying ironically reflects the fac…

filterreader_Java FilterReader markSupported()方法与示例

filterreaderFilterReader类markSupported()方法 (FilterReader Class markSupported() method) markSupported() method is available in java.io package. markSupported()方法在java.io包中可用。 markSupported() method is used to check whether this FilterReader strea…

如何设计不宕机的 Redis 高可用服务?

随着业务的不断发展和扩张我们需要更加稳定和高效的 Redis 服务,这是业务发展的必然趋势也是个人能力进阶的最高境界,我们需要一个高可用的 Redis 服务,来支撑和保证业务的正常运行。 我们本文的面试题是,如何设计一个不宕机的 Redis 高可用服务? 典型回答 想要设计一个…

第十章数据库恢复技术

第十章数据库恢复技术 10.1_事务 事务的四个特性&#xff1a;原子性、一致性、隔离性、持续性 10.2_故障的种类 事务内部的故障系统故障介质故障计算机病毒 10.3_恢复的实现技术 转储&#xff1a;动态和静态登记日志文件 10.4_恢复策略 事务故障的恢复&#xff1a;直接…

【SICP练习】22 练习1.28

&#xfeff;&#xfeff;练习1.28 这道题主要分为三个部分&#xff1a; 1、非平凡平方根&#xff0c;并添加到expmod函数中 2、类似于fermat-test的过程 3、通过已知的素数和非素数来检验 下面我们首先来写出能够在遇到非平凡平方根的时候报错的函数&#xff0c;在这个函数中&…

Oracle笔记:创建表空间、创建用户、授权

--回顾 --1、表空间 create tablespace ts datafile d:\123.dbf size 10m autoextend oncreate temporary tablespace temp_ts tempfile d:\temp123.dbf size 5m autoextend on--2、用户 create user testuser identified by test123 default tablespace ts temporary tablespa…

Java类类getClassLoader()方法及示例

类的类getClassLoader()方法 (Class class getClassLoader() method) getClassLoader() method is available in java.lang package. getClassLoader()方法在java.lang包中可用。 getClassLoader() method is used to return the ClassLoader that loads the class or interfac…

小白学算法:买卖股票的最佳时机!

作者 | 王磊来源 | Java中文社群&#xff08;ID&#xff1a;javacn666&#xff09;转载请联系授权&#xff08;微信ID&#xff1a;GG_Stone&#xff09;本文已收录至 Github《小白学算法》系列&#xff1a;https://github.com/vipstone/algorith今天蚂蚁集团&#xff08;支付宝…

第十一章并发控制

第十一章并发控制11.1_并发控制概述11.2_封锁11.1_并发控制概述 事务是并发控制的基本单位 并发操作带来的数据不一致性包括丢失修改、不可重复读、读“赃”数据 11.2_封锁 两种封锁协议&#xff1a;排他锁&#xff08;写锁&#xff09;和共享锁&#xff08;读锁&#xff09…

《APUE》第6章笔记

这一章主要介绍了口令文件和组文件的结构和一些围绕这些结构的函数。 口令文件即passwd就是在/etc/passwd中可以查阅。其结构是&#xff1a; 上图四个平台能支持的就用黑点表示。 因为加密口令这一项放在passwd这个人人可读的文件中&#xff0c;可能会有安全问题。所以现在的Li…

Oracle笔记:备份还原

--------------备份还原-------------------- --物理备份 --逻辑备份 1&#xff09;传统工具&#xff1a; exp导出、imp导入 实质&#xff1a;调用sql指令&#xff0c;导入\导出数据&#xff0c;速度较慢 可以运行在客户端&#xff0c;也可以运行在服务器端&#xff0c; 在cmd窗…

Java DataOutputStream writeByte()方法与示例

DataOutputStream类writeByte()方法 (DataOutputStream Class writeByte() method) writeByte() method is available in java.io package. writeByte()方法在java.io包中可用。 writeByte() method is used to write the given value as one-byte value to the basic stream a…