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

news2024/11/15 19:27:52

读书记录《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.coloradmin.cn/o/1906929.html

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

相关文章

花朵短视频:四川江兴川丰科技有限公司

花朵短视频&#xff1a;绽放于屏幕间的自然诗篇 在快节奏的现代生活中&#xff0c;我们常常渴望一抹清新与宁静&#xff0c;以慰藉心灵的疲惫。而花朵短视频&#xff0c;就像是大自然精心编织的一首首无声诗篇&#xff0c;四川江兴川丰科技有限公司通过手机屏幕的方寸之间&…

ArcGIS中国工具(ArcGISCTools)等插件使用体验

ArcGIS中国工具&#xff08;ArcGISCTools&#xff09;的主要功能 1. 接合图表生成 这个功能允许用户生成标准分幅图的行政区边框注记&#xff0c;并在打印时自动加入。这对于需要制作标准地图的用户非常实用。 2. 图框工具 图框工具可以帮助用户创建和管理地图的图框&#…

latex改写字体和字号

文章目录 字体使用宏包设置命令声明命令 字号例子设置特定字号 设置行间距用\setlength{\baselineskip}{24pt}设置\renewcommand{\baselinestretch}{2} \selectfont中文行距&#xff08;{ctex}&#xff09; 补充&#xff1a; 字体 使用宏包 \usepackage{ctex}设置命令 只对确…

ExcelVBA运用Excel的【条件格式】(二)

ExcelVBA运用Excel的【条件格式】&#xff08;二&#xff09; 前面知识点回顾 1. 访问 FormatConditions 集合 Range.FormatConditions 2. 添加条件格式 FormatConditions.Add 方法 语法 表达式。添加 (类型、 运算符、 Expression1、 Expression2) 3. 修改或删除条件…

飞睿智能无线高速uwb安全数据传输模块,低功耗、抗干扰超宽带uwb芯片传输速度技术新突破

在信息化的时代&#xff0c;数据传输的速度和安全性无疑是每个企业和个人都极为关注的话题。随着科技的飞速发展&#xff0c;超宽带&#xff08;Ultra-Wideband&#xff0c;简称UWB&#xff09;技术凭借其性能和广泛的应用前景&#xff0c;逐渐成为了数据传输领域的新星。今天&…

一键高效处理,批量缩放PNG图片,按比例轻松调整,高效工作从此开始!

在数字时代&#xff0c;图片已经成为我们生活中不可或缺的一部分。无论是工作汇报、项目展示还是日常分享&#xff0c;图片都扮演着至关重要的角色。然而&#xff0c;当面对大量需要调整尺寸的PNG图片时&#xff0c;你是否曾经感到过困扰和繁琐&#xff1f; 第一步&#xff0c;…

App Store Connect 《数字服务法》合规性

App Store Connect 《数字服务法》合规性 - 简书 最近Apple开发者圈子比较热门的话题可能就是如标题所言。 如果不进行处理&#xff0c;App Store Connect后台已经给出了对应的影响。 如果你的应用属于国内销售&#xff0c;不走海外市场&#xff0c;那么可以直接选择非交易提…

比较(六)利用python绘制径向柱图

比较&#xff08;六&#xff09;利用python绘制径向柱图 径向柱图&#xff08;Circular Barplot&#xff09;简介 径向柱图基于同心圆网格来绘制条形图&#xff0c;虽然不如普通条形图表达准确&#xff0c;但却有抓人眼球的效果。其衍生的南丁格尔玫瑰图则广为人知。 快速绘制…

可编程直流电源的恒压模式(CV)和恒流模式(CC)

本文介绍可编程直流电源的恒压模式&#xff08;CV&#xff09;和恒流模式&#xff08;CC&#xff09;。 可编程直流电源在硬件开发过程中经常被用到&#xff0c;通常&#xff0c;它有2种模式&#xff0c;恒压模式&#xff08;CV&#xff09;和恒流模式&#xff08;CC&#xff…

合并pdf的方法,如何合并pdf文件到一个pdf,简单方法

在现代办公和学习中&#xff0c;pdf格式的文件因其跨平台兼容性和安全性得到了广泛应用。然而&#xff0c;有时我们需要将多个pdf文件合并成一个&#xff0c;以便于管理和分享。本文将详细介绍几种合并pdf的方法&#xff0c;帮助读者轻松完成pdf文件的合并工作。 方法一、使用p…

uboot镜像之boot烧写

适用场景:单板上没有boot&#xff0c;和按地址烧写配合&#xff0c;可完成单板所有镜像的烧写。 原理:bootrom读取u-boot.bin至内存并执行此u-boot 然后运行uboot,通过uboot sf命令烧录uboot.bin到flash存储空间去. bootrom读取u-boot.bin至内存并执行此u-boot 通过uboot sf命…

java-数据结构与算法-02-数据结构-03-递归

1. 概述 定义 计算机科学中&#xff0c;递归是一种解决计算问题的方法&#xff0c;其中解决方案取决于同一类问题的更小子集 In computer science, recursion is a method of solving a computational problem where the solution depends on solutions to smaller instances…

swiftui中封装一个carditem视图,结合toolbar实现滚动的瀑布流,仿小红书首页

实现的效果如上图所示&#xff0c;支持左右滑动切换页面&#xff0c;也支持点击顶部的toolbar菜单切换页面&#xff0c;每个页面里面的每一项都是一个carditem.swift&#xff0c;这是我封装的一个card组件&#xff0c;用于展示每一个card内容&#xff0c;carditem.swift内容如下…

【Altium】AD-网络版一个用户非人为异常占用多个License的解决方法

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 当出现一个用户同时占用多个授权&#xff0c;又无法单独释放一个授权的情况下&#xff0c;该如何解决。 2、 问题场景 一个用户获取网络版授权后&#xff0c;AD会自动重复获取授权&#xff0c;直到该license下所有授…

Qt 线程 QThread类详解

Qt 线程中QThread的使用 在进行桌面应用程序开发的时候&#xff0c; 假设应用程序在某些情况下需要处理比较复杂的逻辑&#xff0c; 如果只有一个线程去处理&#xff0c;就会导致窗口卡顿&#xff0c;无法处理用户的相关操作。这种情况下就需要使用多线程&#xff0c;其中一个…

盲盒小程序开发:互联网下的的盲盒发展

近些年来&#xff0c;盲盒行业发展的非常迅速&#xff0c;盲盒的不确定性吸引了无数玩家&#xff0c;盲盒的市场规模逐渐扩大&#xff0c;盲盒品牌也在不断出现&#xff0c;为盲盒消费者带来更多的新鲜体验&#xff0c; 随着互联网小程序的的快速发展&#xff0c;盲盒小程序为…

告别‘找文件’大战,可道云teamOS分区管理,文件秒定位

在数字化时代&#xff0c;数据已经成为企业最宝贵的资产之一。 如何高效、安全地管理这些数据&#xff0c;成为了每一个企业必须面对的问题。 企业网盘作为一种便捷的数据存储和共享工具&#xff0c;已经成为了企业日常运营中不可或缺的一部分。 然而&#xff0c;传统的网盘管…

人员定位系统于不同场景的实际应用

人员定位系统的应用&#xff0c;尽管还没有做到大范围的普及&#xff0c;但是这一系统在不同企业&#xff0c;不同单位的实际应用效果还是很好的&#xff0c;所以人员定位系统也应用于不同场景当中了&#xff0c;那么&#xff0c;本文就来讲讲这一系统在不同场景的实际应用。 人…

汽车信息安全--欧盟汽车法规

目录 General regulation 信息安全法规 R155《网络安全及网络安全管理系统》解析 R156《软件升级与软件升级管理系统》解析 General regulation 欧洲的汽车行业受到一系列法律法规的约束&#xff0c;包括 各个方面包括&#xff1a; 1.安全要求&#xff1a;《通用安全条例&a…

【Qt】对话框

1、自定义对话框并赋予ui界面&#xff0c;用按钮呼出 https://www.bilibili.com/video/BV1rK411A7qi/?spm_id_from333.999.0.0&vd_sourcefd6555f02904e7fa85526a2ff4b8b66e 新建 - 文件和类 - Qt - Qt设计师界面类在原来的父窗口cpp文件中初始化新窗口并调用exec显示模态…