当前位置: 首页 > news >正文

(五)关系数据库标准语言SQL

注:课堂讲义使用的数据库

 5.1利用SQL语言建立数据库

5.1.1 create Database 

5.1.2 create schema...authorization...

创建数据库和创建模式的区别: 数据库是架构的集合,架构是表的集合。但在MySQL中,他们使用的方式是相同的。

create schema <模式名> authorization <用户名>
[<表定义子句>|<视图定义子句>|<授权定义子句>]

如果没有指定模式名,那么模式名隐含为用户名。

用户可以在创建模式的同时在这个模式定义中进一步创建基本表、视图,定义授权。 

5.1.3数据类型 

  • char(n),character(n):长度为n的定长字符串
  • varchar(n),charactervarying(n):最大长度为n的变长字符串
  • clob:字符串大对象
  • blob:二进制大对象
  • int,integer:长整数(4字节)
  • smallint:短整数(2字节)
  • bigint:大整数(8字节)
  • numeric(p,d):定点数,由p位数字(不包括符合、小数点)组成,小数点后面有d位数字
  • decimal(p,d),dec(p,d):同numeric
  • real:取决于机器精度的单精度浮点数
  • double precision:取决于机器精度的双精度浮点数
  • float(n):可选精度的浮点数,精度至少为n位数字。
  • boolean:逻辑布尔量
  • date:日期,包含年月日,格式为YYYY-MM-DD
  • time:时间,保护时分秒,格式为HH:MM:SS
  • timestamp:时间戳类型
  • interval:时间间隔类型

 5.1.4 create Table

 

5.1.5 create index

5.2利用SQL语言进行简单查询 

  5.2.1  select-from-where

 

5.2.2  where-检索条件的书写问题

 

5.2.3  distinct-查询结果唯一性问题

5.2.4  order by-查询结果排序问题

5.2.5  like-字符匹配问题

 5.3利用SQL语言进行多表联合查询

5.3.1  θ-连接之等值连接

5.3.2  as-重名处理问题

5.3.3  θ-连接之不等值连接

5.4利用SQL语言进行增-删-改 

5.4.1  insert into-values

 5.4.2  delete from

 5.4.3  update-set

5.5利用SQL语言修正与撤销数据库 

5.5.1 alter table-(add / drop / alter)

5.5.2 use/close 

5.6 利用SQL语言表达复杂查询

 5.6.1  (not) in子查询

 5.6.2  θ some / θ all子查询

 5.6.3  not exists子查询

 5.7 利用SQL语言进行结果计算与聚集计算

5.8 利用SQL语言进行分组查询与分组过滤 

 5.9 利用SQL语言实现关系代数操作

5.9.1  union / intersect / except 

 

5.9.2  is (not) null-空值的处理 

 

5.9.3 (inner / outer)  join

 

5.10 SQL语言之视图及其应用 

 

创建和使用视图需遵循一些基本原则,为此还应注意以下问题:

  • 只能在当前数据库创建视图。
  • 如果视图引用的基表或者视图被删除,则该视图不能再被使用,直到创建新的基表或者视图。
  • 不能在视图上创建索引,不能在规则、默认、触发器的定义中引用视图。
  • 当通过视图查询数据时,SQL Server要检查数据完整性规则,以确保语句中涉及的所有数据库对象存在,而且数据修改语句不能违反数据完整性规则。
  • 也可以建立视图的视图。

 

相关文章:

  • 【Linux-tar/gzip/zip】
  • 基于SpringBoot和PotsGIS的各省地震震发可视化分析
  • C++基础语法和概念
  • python基础练习 VIP试题17道
  • 服务器出现故障如何恢复数据?
  • 蓝桥杯真题讲解:更小的数(区间DP)
  • 绘图设计:用Draw.io绘制图形技巧大全(含统一建模语言UML模板)
  • 链表中的经典问题——奇偶链表
  • nginx代理参数proxy_pass
  • SpringCloud Ribbon 负载均衡服务调用
  • JS(二)数据类型,流程控制
  • 药业“钉”上云端:与钉钉共舞数字化新时代
  • 傅里叶变换pytorch使用
  • Openfeign+Ribbon+Hystrix断路器(服务降级)
  • Vue 双向数据绑定
  • [译]Python中的类属性与实例属性的区别
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • 《深入 React 技术栈》
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • 5、React组件事件详解
  • echarts的各种常用效果展示
  • exports和module.exports
  • Fastjson的基本使用方法大全
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • JavaScript创建对象的四种方式
  • MobX
  • PHP 的 SAPI 是个什么东西
  • redis学习笔记(三):列表、集合、有序集合
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • 创建一种深思熟虑的文化
  • 多线程 start 和 run 方法到底有什么区别?
  • 构建工具 - 收藏集 - 掘金
  • 精彩代码 vue.js
  • 离散点最小(凸)包围边界查找
  • 利用DataURL技术在网页上显示图片
  • 如何利用MongoDB打造TOP榜小程序
  • 试着探索高并发下的系统架构面貌
  • 正则表达式
  • 转载:[译] 内容加速黑科技趣谈
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • #Linux(权限管理)
  • $(function(){})与(function($){....})(jQuery)的区别
  • (pojstep1.1.2)2654(直叙式模拟)
  • (八)Flask之app.route装饰器函数的参数
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (一)80c52学习之旅-起始篇
  • (转)Oracle 9i 数据库设计指引全集(1)
  • ./configure,make,make install的作用
  • .DFS.
  • .NET Framework与.NET Framework SDK有什么不同?
  • .net php 通信,flash与asp/php/asp.net通信的方法