数据库第三章(SQL)

news2024/11/27 4:41:00

目录

1.SQL语言

索引


1.SQL语言

sql语言是个非过程性语言

sql的特点

1.综合统一,把增删查改都统一了起来

2.高度非过程化,不关心过程

3.面向集合的操作方式

sql基本语法

drop是删除表

delete是删除表的某个元组  

安全方面:grant授权   revoke收回权力

基本表

存储文件

视图view:是个虚表,是从一个表中或者多个表中导入出来的表,并不存真正的数据 ,修改视图就相当于修改基本表

索引index:是为了加快查询速度的 

模式

定义模式

create schema "s-t" authorization wang;

 删除模式
drop schema s-t cascade/restrcit          

cascade连坐删除

restrict 限制删除,先把子孙的表都删完

基本表

 create table studnet(Sno int,primary key ,Sname varchar(50) UNIQUE);

如何建立外键约束? 

 create table studnet(Sno int,primary key ,Sname varchar(50) UNIQUE,Grade int

       foreign key(Grade) references SC(Grade)                 );

修改表结构,注意是Mysql

给表加个字段Sage

alter table Student add column  Sage int;

改变表的字段类型

alter table Student modify column Sage varchar(20);

删除表

当表被引用的时候不能普通删除,只能级联删除。引用包括,不能有视图,不能有触发器,不能有存储过程或函数。


索引

索引的创建和删除

CREATE INDEX index_name
ON table_name (column1, column2, ...)
 

create unique index SuoYin on Student(Sno,....);

修改索引的名字

alter index SuoYin rename to sy;

数据字典:数据字典是DBMS中的系统表,它记录了数据库中的所有定义信息

查询语句

distinct  独一无二的

在SQL中它是去重

条件查询

in (A,B,C)

like模糊匹配 通配符%和_  %标识任意[0,∞]长度  _标识[1,1]长度 

查询排序

order by  grade desc/asc

desc 下降 descend

asc上升 ascend

聚合函数

 聚合函数通常和group by协助 进行分组 

先根据Cno分组 在count数每个Cno里的Sno的个数(也就是学生个数) 

select Cno ,count(Sno) from sc group by Cno;

关键词 每个,各个

如果在对分组的进行条件筛选用having

selct Cno ,count(Sno) from sc group by Cno having Count(Sno)>30

 group by 用having来筛选不用where

多表连接

多表查询如果直接用

select * from Student,SC直接笛卡尔积的话会产生许多无效数据。需要用where筛选

select * from Student,SC where Student.Sno=SC.sno但是这样的话得到的表的字段有一个学号是重复的 

就需要改一下 把select* 改为 

结果

嵌套查询

查询选秀了2号课程的学生的姓名

分析:只根据2号课程从SC表查不出来姓名 需要联合Student表和SC表

select Sname from Student where Sno in ( select Sno from SC where Cno=2);

存在exists

这个比较难理解 需要转好几圈,建议看视频学

集合查询

并集Union

交集 intersect

差集 except

数据插入/更新

insert into Student (key,...)values (value,....)  键值对要对应上

更新

update Student set sage=80 where sno='123456';

update student set sage=sage+1;

删除元组

delete from student where sname='zhangsan'

视图

视图是个虚表 ,它真正的数据还是在基本表上的 

create view ShiTu Student  as  

select column1,column2 from student Where .....;

eg:

CREATE VIEW view_students AS
SELECT name, age
FROM students
WHERE age >= 18;

with check option 防止用户乱操作 

并不是所有视图都能够更新,只有包含主键的行列子集视图才能更新

删除视图

drop view view_name cascade

视图的作用

 

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

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

相关文章

Java实训日志05

文章目录 八、项目开发实现步骤(七)创建数据访问接口实现类1、创建学校数据访问接口实现类(1)编写按标识符查询学校记录方法(2)编写更新学校记录方法 1_、测试学校数据访问接口实现类(1&#xf…

在Nginx服务器如何安装SSL证书

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言提示:我用的是阿里云的产品,就以阿里云进行的: 一、下载SSL证书二、安装SSL证书 前言 提示:我用的是阿里云的产…

多元回归预测 | Matlab遗传算法(GA)优化核极限学习机回归,GA-KELM回归预测,多变量输入模型

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 多元回归预测 | Matlab遗传算法(GA)优化核极限学习机回归,GA-KELM回归预测,多变量输入模型 评价指标包括:MAE、RMSE和R2等,代码质量极高,方便学习和替换数据。要求2018版本及以上。 部分源码 %% 清空环境变量…

设计模式(十六):行为型之责任链模式

设计模式系列文章 设计模式(一):创建型之单例模式 设计模式(二、三):创建型之工厂方法和抽象工厂模式 设计模式(四):创建型之原型模式 设计模式(五):创建型之建造者模式 设计模式(六):结构型之代理模式 设计模式…

2.链表的实现:带哨兵

1.带哨兵的单链表的定义 /*** 单向链表----带哨兵*/ public class SinglyLinked {/*** 节点类* 数据域和地址域*/private static class Node {int value; //值Node next; // 指向下一个节点public Node() {}public Node(int value, Node next) {this.value value;this.next …

【linux】在Ubuntu20.04下录制屏幕为视频,并制作成gif动态图片

1、下载软件 录制屏幕软件 sudo apt install simplescreenrecorder视频转图片软件 sudo apt install mplayer图片合成gif动态图片 sudo apt install imagemagick2、录制屏幕 1)运行命令 simplescreenrecorder2)设置:区域、帧率 选择录制的区域; 设置帧率为10(或者更小…

3.vue 指令

3.10 v-text和v-html 更新 DOM 对象的 innerText / innerHTML 语法: v-text"vue数据变量" v-html"vue数据变量" 注意: 会覆盖插值表达式 v-text 把值当成普通字符串显示 v-html 把值当做 html 解析 <template><div><p v-text"str…

关于自动化测试框架pytest的Fixture固件

这篇文章主要介绍了关于自动化测试框架pytest的Fixture固件,Fixture它其实就是一些函数,会在执行测试方法/测试函数前后加载运行它们,需要的朋友可以参考下 目录 什么是固件定义方式调用方式使用fixture传递测试数据conftest.py作用域总结 什么是固件 Fixture 翻译成中文即是固…

无效目标发行版问题解决记录

​ SpringMVC之‘无效目标发行版’ 问题&#xff1a;上死亡截图 问题解决思路&#xff1a;这是由于JDK版本不匹配导致的错误。 首先说一下问题的关键所在&#xff0c;然后再细说解决步骤&#xff1a; 遇到这个问题的朋友大概率都是在写Spring项目时遇到的&#xff0c;这就需要M…

H3C-HCL模拟器常用命令及其操作演示

一、实验拓扑图 二、实验设备 设备1&#xff1a;路由器"MSR36-20"&#xff1b; 设备2&#xff1a;真机&#xff1b; 三、常用命令 1&#xff09;进入用户视图&#xff1a;启动默认就是用户视图 "< >" 2&#xff09;进入系统视图&#xff1a;"…

揭示GPT Tokenizer的工作原理

在GPT模型中&#xff0c;tokenization&#xff08;词元化&#xff09;指的是将用户输入的文本分割成token&#xff08;词元&#xff09;的过程&#xff0c;以让GPT能更好地理解输入文本的词义、句法和语义&#xff0c;以及生成更连贯的输出内容。这是非常重要的预处理操作&…

C++AVL树

目录&#xff1a; AVL树的概念AVL树节点的定义更新平衡因子 AVL树的旋转AVL树的验证AVL的整体实现 AVL树的删除AVL树的性能 总结 AVL树的概念 AVL树&#xff1a;二叉搜索树虽可以缩短查找的效率&#xff0c;但如果数据有序或接近有序二叉搜索树将退化为单支树&#xff0c;查找…

CAPL硬件控制课程,物理故障注入自动化以及程控电源

&#x1f4d9; CAN/LIN总线物理故障注入&#xff0c;自动化解决方案 车载网络通讯的健壮性和故障恢复能力至关重要&#xff0c;所以我们需要对控制器进行各种物理容错测试&#xff0c;常规情况下我们需要注入如下8种物理故障注入&#xff1a;CANH断路&#xff0c;CANL断路,CANH…

Redux的基础操作和思想

什么是Redux? Redux是JavaScript应用的状态容器&#xff0c;提供可预测的状态管理! Redux除了和React一起用外&#xff0c;还支持其它框架;它体小精悍(只有2kB&#xff0c; 包括依赖)&#xff0c;却有很强大的插件扩展生态! Redux提供的模式和工具使您更容易理解应用程序中的…

管理类联考——英语——趣味篇——完型填空

完型填空解题秘籍 一、答案分配规律 历年完型答案统计 A B C D 2010 DCBAA/BDCBA/CDDAC/BDCAB 5 5 5 5 2011 ACBDD/BACCB/DBACA/ADACD 6 4 5 5 2012 BBAAC/DAACB/DBCDD/ACCBD 5 5 5 5 2013 ADBDC/BBDBA/ADCCC/CABAD 5 5 5 5 2014 BACAD/ACCDB/ABCDB/DADCB 5 5 5 5 2015 CDC…

leetcode199. 二叉树的右视图(java)

二叉树的右视图 leetcode199. 二叉树的右视图题目描述 广度优先遍历二叉树专题 leetcode199. 二叉树的右视图 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode.cn/problems/binary-tree-right-side-view 题目描述 给定一个二叉树的 根…

Python之del析构方法_、call__方法、方法没有重载

一、__del__方法(析构函数)和垃圾回收机制 __del__()称为“析构方法”&#xff0c;用于实现对象被销毁时所需的操作。比如&#xff1a;释放对象占用的资源&#xff0c;例如&#xff1a;打开的文件资源、网络连接等。 Python实现自动的垃圾回收&#xff0c;当对象没有被引用时&…

【AUTOSAR】UDS协议的代码分析与解读(四)----UDS 否定应答服务

6 全局信号需求 一些用于诊断功能的全局信号&#xff0c;应通过整车网络广播至所有的电控单元。信号应包含但不限于如下 所有列&#xff1a; 1) 日期和时间&#xff1b; 2) 蓄电池电压&#xff1b; 3) 点火开关信号&#xff0c; 包括OFF、ACC、ON、START&#xff1b; 4) …

【从删库到跑路】MySQL系列——详细讲解SQL的DDL,DML,DQL,DCL语句

&#x1f38a;专栏【MySQL】 &#x1f354;喜欢的诗句&#xff1a;更喜岷山千里雪 三军过后尽开颜。 &#x1f386;音乐分享【如愿】 大一同学小吉&#xff0c;欢迎并且感谢大家指出我的问题&#x1f970; 文章目录 &#x1f354;关系型数据库⭐概念⭐特点 &#x1f354;MySQL数…

今天面了个支付宝拿35K出来的测试,真是砂纸擦屁股,给我露了一手啊

今年的春招已经开始了&#xff0c;很多小伙伴收获不错&#xff0c;有的已经拿到了心仪的 offer。 各大论坛和社区里也看见不少小伙伴慷慨地分享了常见的面试题和八股文&#xff0c;为此咱这里也统一做一次大整理和大归类&#xff0c;这也算是划重点了。 俗话说得好&#xff0…