读书记录《SQL从小白到大牛》01

读书记录《SQL从小白到大牛》01

接地气的书名,内容应当值得一读。

第一篇 SQL基础

01 一些基础概念

  • SQL是结构化查询语言(Structured Query Language),是一套用来输入、更改和查看关系数据库内容的命令。
  • 数据库发展经历三个阶段:人工管理——文件系统——数据库系统
  • 数据库数据逻辑模型:网状模型、层次模型、关系模型、对象模型

02 一些定义

  • 二维表:关系模型的数据结构是一个二维表组成的集合
  • 关系:每个二维表称为关系
  • 实体:系统中的人事物
  • 表:这些实体所构成的集合
  • 元组:也称为记录,就是行。
  • 字段:也称为列。
  • 键:Key。码,分为超键、候选键、主键、外键。
    • 超键(Super Key),能够唯一标识一行数据的字段或者字段集。【可以有多种组合】
    • 候选键(Candidate Key),是包含最少字段的超键。
    • 主键(Primary Key),从候选键中选择出来的。
    • 外键(Foreign Key),一个关系数据库可能包含多个表,通过外键关联起来。

03 SQL概述

  • SQL主要分为5类,数据定义语言、数据操作语言、数据控制语言、事务控制语言、数据控制语言。

  • 数据定义语言(DDL)

    • CREATE 创建
    • DROP 删除
    • ALTER 修改
    • TRUNCATE 删除
  • 数据操作语言(DML)

    • INSERT 插入数据
    • UPDATE 更新数据
    • DELETE 删除数据
    • SELECT 选择数据
  • 数据控制语言(DCL)

    • GRANT 授权
    • REVOKE 取消授权
  • 事务控制语言(TCL)

    • COMMIT 提交事务
    • ROLLBACK 回滚事务
    • SAVEPOINT 设置事务保存点
  • 数据查询语言(DQL)

    • SELECT 数据查询

SQL标准

  • SQL不区分大小写
  • 忽略空白
  • 语句结束符为;, 单独一句可以不用

学习环境搭建

  1. SQLite搭建

    www.sqlite.org

  2. DB4S

    https://sqlitebrowser.org/dl/

image-20240707205201810

具体操作语言指令

文中详细介绍了DB4S的使用方法(依旧是使用SQL语句),因此直接介绍具体的操作语言指令 (部分)。

1 新建表、设置表格式
CREATE TABLE student (s_id INTEGER,s_name VARCHAR(20),gender CHAR (1),PIN  CHAR(18))

INTEGER定义整数类型;

VARCHAR(20)定义可变长度,最大长度为20B;

CHAR(1)表示固定长度为1B的字符串类型。

2 指定候选键

两种定义方式:

CREATE TABLE student (s_id INTEGER,s_name VARCHAR(20),gender CHAR (1),PIN  CHAR(18) UNIQUE)
CREATE TABLE student (s_id INTEGER,s_name VARCHAR(20),gender CHAR (1),PIN  CHAR(18) ,UNIQUE (PIN))

指定主键:PRIMARY KEY(s_id)

指定外键: 1 s_id INTEGER REFERENCES students (s_id)

2 FPREIGN KEY(s_id) REFERENCES student(s_id)

3 约束

DEFAULT 'F’定义默认值

NOT NULL 禁止空值

都加在CREATE TABLE 里面语句的末尾。

4 CHECK约束

单独一句

score INTEGER CHECK(score>-0 AND score <=100)

修改表

修改表名

ALTER TABLE table_name
RENAME TO new_table_name

添加字段

ALTER TABLE table_name
ADD field_name datatype[(size)]

删除字段

ALTER TABLE table_name
DROP COLUMN field_name

删除表

DROP TABLE table_name

修改数据

/*插入数据*/INSERT INTO table_name 
[(field_list)]
VALUES
(value_list);/*更改数据*/
UPDATE table_name
SET field1 = value1, field2 = value2,...
[WHERE condition];
/*例如 WHERE 编号=666*//*更改数据*/
DELETE FROM table_name
[WHERE condition];

后续一些内容

  • 视图管理

  • 查询数据

  • 汇总查询结果

  • 子查询

  • 表的连接

待更新

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

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

相关文章

SMA 内孔 弯头——KH-SMA-K513-G

品  牌&#xff1a; kinghelm(金航标) 厂家型号&#xff1a; KH-SMA-K513-G 封装&#xff1a; 插件 商品毛重&#xff1a; 2.86克(g) 包装方式&#xff1a; 袋装

使用Mybatis批量插入大量数据的实践

前言 在项目开发过程中&#xff0c;我们经常会有批量插入的需求&#xff0c;例如&#xff1a;定时统计任务 但是受限于MySQL中 max_allowed_packet 参数限制&#xff0c;5.7版本默认值为4M&#xff0c;这显然不太符合我们的需求&#xff0c;当然我们也可以通过修改此值来适应…

【Unity几种数据存储之间的区别】PlayerPrefs、Json、XML、二进制、SQLite数据存储之间的优缺点以及如何选择

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 专栏交流&#x1f9e7;&…

Meta关于深度学习推荐系统的Scaling Law的研究

作者 | 番茄爱鸡蛋 整理 | NewBeeNLP https://zhuanlan.zhihu.com/p/688913185 大家好&#xff0c;这里是 NewBeeNLP。今天看看 Meta 关于深度学习推荐系统 Scaling Law 的研究。 零、论文信息 论文题目&#xff1a;Wukong: Towards a Scaling Law for Large-Scale Recommend…

更好的预测方法:使用前后控制图

我已经写了很多关于阶段控制图的文章&#xff0c;因为我认为它们是一个非常好的可视化工具。它们有许多用途而且很容易创建。除了有助于分析改进或变更前后的流程之外&#xff0c;它们还是更准确预测或预报的重要第一步。 不同的预测方式或用不同的方法预测 有很多不同的方法…

硅纪元视角 | Speak火了!3个月收入翻倍,OpenAI为何频频下注?

在数字化浪潮的推动下&#xff0c;人工智能&#xff08;AI&#xff09;正成为塑造未来的关键力量。硅纪元视角栏目紧跟AI科技的最新发展&#xff0c;捕捉行业动态&#xff1b;提供深入的新闻解读&#xff0c;助您洞悉技术背后的逻辑&#xff1b;汇聚行业专家的见解&#xff0c;…

信息技术课堂上如何有效防止学生玩游戏?

防止学生在信息技术课堂上玩游戏需要综合运用教育策略和技术手段。以下是一些有效的措施&#xff0c;可以用来阻止或减少学生在课堂上玩游戏的行为&#xff1a; 1. 明确课堂规则 在课程开始之初&#xff0c;向学生清楚地说明课堂纪律&#xff0c;强调不得在上课时间玩游戏。 制…

【十八】【QT开发应用】标签页QTabWidget的常见用法

#include "widget.h" // 包含自定义的widget头文件 #include <QHBoxLayout> // 包含QHBoxLayout头文件&#xff0c;用于水平布局 #include <QTabWidget> // 包含QTabWidget头文件&#xff0c;用于创建标签页控件 #include <QDebug> // 包含QDebug头…

医院人员管理项目01_下午,css

文章目录 层叠样式表在html文件中引入css样式表&#xff1a;2种方法如何设置样式&#xff1a;3种css选择器继承权重 层叠样式表 引入html网页中的方式&#xff0c;共3种。 行内样式&#xff08;内联样式&#xff09;&#xff1a;直接在html中设置 内部样式&#xff1a;css代…

学诚教育在线管理系统-计算机毕业设计源码98076

目 录 摘要 1 绪论 1.1 选题背景与意义 1.2开发现状 1.3论文结构与章节安排 2 开发环境及相关技术介绍 2.1 MySQL数据库 2.2 Tomcat服务器 2.3 Java语言 2.4 Spring Cloud框架介绍 3 教育在线管理系统系统分析 3.1 可行性分析 3.1.1 技术可行性分析 3.1.2 经济可…

【Proteus仿真】基于Stm32的八路抢答器~

【Proteus仿真】基于Stm32的八路抢答器~ 文档资料在购买后即可获得&#xff08;如有问题可通过微信公号或b站私信联系我&#xff09; 资料包括&#xff1a; 1. Proteus仿真源文件2. keil源代码功能描述: 1. 抢答时间设置显示2. 选手得分用时显示3. 选手数据查询/清楚4.抢答…

Java | Leetcode Java题解之第213题打家劫舍II

题目&#xff1a; 题解&#xff1a; class Solution {public int rob(int[] nums) {int length nums.length;if (length 1) {return nums[0];} else if (length 2) {return Math.max(nums[0], nums[1]);}return Math.max(robRange(nums, 0, length - 2), robRange(nums, 1,…

App UI性能测试 - PerfDog使用全教程

App 性能测试指标: 响应、内存、CPU、FPS、GPU渲染、耗电、耗流等。 PerfDog的性能数据更加全面,所以下面以PerfDog来介绍安装使用流程及测试数据的获取与分析。 官网: PerfDog | 全平台性能测试分析专家 第一步,先访问官网进行注册, 注册好账号后,点击下载PerfDog,下…

【算法笔记自学】第 7 章 提高篇(1)——数据结构专题(1)

7.1栈的应用 #include <iostream> #include <string> #include <stack> using namespace std;int main() {int n, x;string action;cin >> n;stack<int> s;for (int i 0; i < n; i) {cin >> action;if (action "push") {ci…

昇思25天学习打卡营第19天|Pix2Pix实现图像转换

1. 学习内容复盘 Pix2Pix概述 Pix2Pix是基于条件生成对抗网络&#xff08;cGAN, Condition Generative Adversarial Networks &#xff09;实现的一种深度学习图像转换模型&#xff0c;该模型是由Phillip Isola等作者在2017年CVPR上提出的&#xff0c;可以实现语义/标签到真实…

生活商城app微信小程序模板源码

红色的卷皮折扣电商app小程序&#xff0c;综合生活购物商城app小程序前端模板下载。包含&#xff1a;首页、分类、购物车、列表、商品详情、个人中心、优惠券、全部订单、生活超市专题等等。一套很全通用的商城app小程序模板。 生活商城app微信小程序模板源码

YOLOv8标签可视化

这一章主要是为了可视化YOLO标签设置的,为什么要进行可视化呢,因为很多时候我们标注好数据还需要进行转换成YOLO格式,这期间如果出现转换的错误,而我们没有去检查标签的话,有可能导致训练无法得到很好的一个结果,所以需要我们对YOLO标签进行可视化来检查标签的情况。 这部…

《梦醒蝶飞:释放Excel函数与公式的力量》9.5 IRR函数

9.5 IRR函数 IRR函数是Excel中用于计算内部收益率&#xff08;Internal Rate of Return, IRR&#xff09;的函数。内部收益率是评估投资项目盈利性的重要指标&#xff0c;它表示使投资项目的净现值&#xff08;NPV&#xff09;为零的折现率。 9.5.1 函数简介 IRR函数通过一系…

【免费数字孪生平台】零代码制作智慧农业蔬菜大棚可视化

一&#xff0e;智慧农业的价值 智慧农业&#xff0c;作为农业中的智慧经济形态&#xff0c;是现代科学技术与农业种植深度融合的产物。它通过将物联网、云计算、大数据、人工智能等现代信息技术集成应用于农业生产中&#xff0c;实现了农业生产的无人化、自动化和智能化管理。…

第十一节 动态面板加密解密显示

在原型中我们经常会遇到文件加密与解密显示问题&#xff0c;下面以一个简单案例来说明实现怎么切换明文与密文不同显示方式案例说明&#xff1b; 1、添加动态面板 2、设置加密与不加密 3、添加动作事项 注意为可见时要设置面板状态向前循环&#xff0c;上一项&#xff0c;否则…