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

MySQL数据库技术笔记(4)

关系型数据库需要使用设计范式:

第一范式:遵从原子性,属性不可再分,数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值。

例如:需要创建一张地址表,存储地址信息。将地址信息划分成多列,省,市,区/县,镇,村

第二范式(2NF):遵从唯一性,非主键字段需完全依赖主键,在第一范式的基础上建立的,满足第二范式必须先满足第一范式。

第三范式(3NF):非主键字段不能相互依赖,在第二范式的基础上建立起来的,数据表中每一列数据都和主键直接相关,不能间接相关。

员工表: 员工编号(主键), 姓名,手机号,性别,年龄,岗位(普通员工,经理,主管,董事长,秘书,部门经理) 工资

以上定义的数据库表除掉主键外,岗位和工资之间有依赖关系,所以员工表不满足第三范式

NBF范式,第四范式,第五范式

表和表之间的关系:

一对一关系,例如班级表与班长表之间为一对一的关系

一对多的关系:

多对多的关系:一定会产生第三张表作为结果表,用于保存两张表产生的结果。将两张表的主键放置第三张表中共同作为第三张表的主键。

查询语句的详细使用:

#查询所有图书的出版社,去除掉重复的数据 SELECT DISTINCT bookaddress FROM tb_book;

#查询所有图书的出版社,
# DISTINCT:用于去除掉重复的数据
SELECT DISTINCT bookaddress FROM tb_book;
#查询图书编号为3的书籍信息
SELECT * FROM tb_book WHERE bookid=3;
#查询图书编号大于3的书籍信息
SELECT * FROM tb_book WHERE bookid>3;
#查询书籍价格小等于50元的书籍信息
SELECT * FROM tb_book WHERE price<=50;
#查询书籍编号不等于3的书籍信息
SELECT * FROM tb_book WHERE bookid<>3;
#查询书籍编号大于等于3小于等于5的书籍信息
SELECT * 
FROM tb_book 
WHERE bookid BETWEEN 3 AND 5;
#以上用法等价于<= >=
SELECT *
FROM tb_book
WHERE bookid>=3 AND bookid<=5;
#查询书籍编号不在[3,5]之间的书籍信息
SELECT * 
FROM tb_book 
WHERE bookid NOT BETWEEN 3 AND 5;
#以上用法等价于
SELECT *
FROM tb_book
WHERE bookid<3 OR bookid>5;
#模糊查询(关键字查询)  like关键字  
#通配符:
#_(下划线,代表一个任意字符)
#%(百分号,代表0个或者多个任意字符)
#查询姓马的作者写的书籍信息
SELECT *
FROM tb_book
WHERE author LIKE '马_';
SELECT *
FROM tb_book
WHERE author LIKE '马%';
#查询书籍名称中“程序”两个字的书籍信息
SELECT * FROM tb_book
WHERE bookname LIKE '%程序%';
#查询书籍名称中不包含“程序”两个字的书籍信息
SELECT * FROM tb_book
WHERE bookname NOT LIKE '%程序%';
#查询出版社为人民邮电,价格大于50元的图书信息
SELECT * FROM tb_book 
WHERE bookaddress='人民邮电出版社'
AND price>50;
http://www.lryc.cn/news/190477.html

相关文章:

  • 批量图片转文字识别OCR身份证件信息提取软件
  • Mac/Wins Matlab如何查看APPs源码
  • Web应用-Thinkphp框架-开发指南
  • LeetCode【300】最长递增子序列
  • JRebel在IDEA中实现热部署 (JRebel实用版)
  • uniapp微信小程序之分包异步化之组件分包
  • Nacos(替代Eureka)注册中心
  • FHRP首跳冗余的解析
  • 垂直分表为什么能够加快查询效率?
  • Linux网络基础知识全面总结
  • 【arm实验2】按键中断事件控制实验
  • 【数据结构-栈 二】【单调栈】每日温度、接雨水
  • 基于Keil a51汇编 —— 控制语句
  • 单目标优化算法:火鹰优化算法(Fire Hawk Optimizer,FHO)求解23个函数--提供MATLAB代码
  • 数据集笔记:分析OpenCellID 不同radio/ create_time update_time可视化
  • 【特纳斯电子】血氧饱和度监测仪设计-实物设计
  • 雪花算法生成ID传到前端之后精度丢失问题
  • Windows 10 - 适用于各种服务(Redis、MySQL)的文件迁移到其他目录后,导致的各种服务找不到的问题 - 注册服务 - 关闭服务 - 重启服务
  • Java 串行接口调用优化
  • 【Java 进阶篇】JavaScript `typeof` 操作符详解
  • electron之进程间通信
  • Linux网络编程:UDP协议和TCP协议
  • 【SCS-CN】SCS-CN模型中CN值的确定
  • 【C++】继承 ① ( 面向对象特点 | 类之间的关系 | 单继承与多继承 | 继承关系特性 )
  • 虹科方案 | 虹科ATTO加速虚拟存储管理
  • Docker项目部署lnmp+wordpress
  • leetcode 121. 买卖股票的最佳时机、122. 买卖股票的最佳时机 II
  • 系统架构设计:5 论软件的可靠性设计
  • 03 独立看门狗 hal库 stm32cubemx
  • 大数据学习(6)-hive底层原理Mapreduce