读书记录《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.mzph.cn/diannao/42953.shtml

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

相关文章

Python自动化与系统安全

信息安全是运维的根本&#xff0c;直接关系到企业的安危&#xff0c;稍有不慎会造成灾难性的后果。比如经年发生的多个知名网站会员数据库外泄事件&#xff0c;信息安全体系建设已经被提到了前所未有的高度。如何提升企业的安全防范水准是目前普遍面临的问题&#xff0c;主要有…

Swagger的原理及应用详解(四)

本系列文章简介: 在当今快速发展的软件开发领域,特别是随着微服务架构和前后端分离开发模式的普及,API(Application Programming Interface,应用程序编程接口)的设计与管理变得愈发重要。一个清晰、准确且易于理解的API文档不仅能够提升开发效率,还能促进前后端开发者之…

Greenplum(一)【MPP 架构 数据类型】

1、Greenplum 入门 Greenplum 是基于 MPP 架构的一款分布式分析型数据库&#xff0c;具备关系型数据库的特点&#xff0c;因为它处理的是结构化的数据&#xff0c;同时具备大数据分布式的特点。 1.1、MPP 架构 MPP&#xff08;Massively Parallel Processing&#xff09;架构是…

从Java开发者到.NET Core初级工程师学习路线:目录

C#语言基础 1.1 C#语法概览 1.2 变量和数据类型 1.3 运算符和表达式 1.4 控制流语句 1.5 方法和参数 1.6 类和对象 1.7 继承和多态 1.8 接口和抽象类 1.9 委托和事件 1.10 泛型 1.11 LINQ (Language Integrated Query) 1.12 异步编程 (async/await) 1.13 异常处理 1.14 文件I/O…

IOC、DI<3> IServiceConllection 自定义IOC含属性注入、多实现注入,方法注入

using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks;namespace IOC.Common {public class ZenServiceCollection : IZenServiceCollection{// 记录IOC注册的抽象、实现private Di…

SpringSecurity初始化过程

SpringSecurity初始化过程 SpringSecurity一定是被Spring加载的&#xff1a; web.xml中通过ContextLoaderListener监听器实现初始化 <!-- 初始化web容器--><!--设置配置文件的路径--><context-param><param-name>contextConfigLocation</param-…

sql注入问题批量处理

问题&#xff1a;SQL注入修改&#xff0c;历史代码全是${};无法修改的比如表名&#xff0c;列名&#xff0c;动态排序之类的不改&#xff0c;其他的都要修改完成 背景&#xff1a;新公司第一个任务就是SQL注入的修改&#xff0c;历史sql全部都是${},一个个调整不太合适只能批量…

机场的出租车问题折线图

分析并可视化机场离场车辆数数据 本文将详细介绍如何使用Python的正则表达式库re和绘图库matplotlib对机场离场车辆数数据进行分析和可视化。以下是具体步骤和代码实现。 数据资源&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1rU-PRhrVSXq-8YdR6obc6Q?pwd1234 提…

Android C++系列:Linux常用函数和工具

1. 时间函数 1.1 文件访问时间 #include <sys/types.h> #include <utime.h> int utime (const char *name, const struct utimebuf *t); 返回:若成功则为 0,若出错则为- 1如果times是一个空指针,则存取时间和修改时间两者都设置为当前时间; 如果times是非空指针…

一个python文件实现openai 转换请求转换成 ollama

最近在微软开源了GraphRAG,项目&#xff0c;是一个很棒的项目&#xff0c;本着研究学习的态度下载了该项目测试&#xff0c;发现目前只可以使用openai chat gpt,或azure open chat gpt,也就是说意味着资料要上传到第三方网站处理&#xff0c;为了本地的ollama也可以使用特意开发…

轮播图案例

丐版轮播图 <!DOCTYPE html> <html lang"zh-cn"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title> 基础轮播图 banner 移入移出</t…

6000字以上论文参考:基于Java+SpringMvc+Vue技术的实验室管理系统设计与实现

可参考&#xff1a;基于JavaSpringMvcVue技术的实验室管理系统设计与实现&#xff08;6000字以上论文参考&#xff09;-CSDN博客 论文参考&#xff1a;

【python】字典、列表、集合综合练习

1、练习1(字典) 字典dic,dic {‘k1’:‘v1’, ‘k2’: ‘v2’, ‘k3’: [11,22,33]} (1). 请循环输出所有的key dic {"k1": "v1", "k2": "v2", "k3": [11, 22, 33]} for k in dic.keys():print(k)k1 k2 k3(2). 请循环输…

2024 WAIC|第四范式胡时伟分享通往AGI之路:行业大模型汇聚成海

7月4日&#xff0c;2024世界人工智能大会&#xff08;WAIC&#xff09;正式开幕。此次大会围绕核心技术、智能终端、应用赋能等板块展开&#xff0c;展览规模、参展企业数均达历史最高。第四范式受邀参展&#xff0c;集中展示公司十年来在行业大模型产业应用方面的实践。在当天…

【知网CNKI-注册安全分析报告】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造成亏损无底洞…

dockerfile里的copy只能使用相对路径吗?

在 Dockerfile 中&#xff0c;COPY 指令既可以使用相对路径&#xff0c;也可以使用绝对路径&#xff08;但绝对路径的使用方式和上下文有关&#xff09;。不过&#xff0c;在实践中&#xff0c;你通常会看到使用相对路径&#xff0c;因为 Dockerfile 的构建上下文&#xff08;b…

NewspaceGPT带你玩系列之【Song Maker】

目录 注册一个账号&#xff0c;用qq邮箱&#xff0c;然后登录选一个可用的Plus&#xff0c;不要选3.5探索GPT今天的主角是【Song Maker】翻译一下用汉语吧我写词。你谱曲和其他伴奏&#xff0c;例子&#xff1a; 摇滚&#xff0c;忧伤&#xff0c;吉他&#xff0c;鼓&#xff0…

聊一聊Oracle的空间计算函数SDO_NN

网上对这个函数介绍的很少&#xff0c;对使用上也很模糊&#xff0c;我来补充一下&#xff0c;让大家了解一下这个函数 from test1 y, test2 p where SDO_NN(p.geom,y.geom,sdo_num_res1, 0.5 )TRUE; 上面这个表达式的含义也就是说在test2中找到一个距离test1很近的&#x…

Android约束布局的概念与属性(1)

目录 1&#xff0e;相对定位约束2&#xff0e;居中和偏移约束 约束布局&#xff08;ConstraintLayout&#xff09;是当前Android Studio默认的布局方式&#xff0c;也是最灵活的一种布局方式。约束布局推荐使用所见即所得的模式进行布局&#xff0c;约束布局的大部分布局可以通…

超详细的 Linux 环境下 Anaconda 安装与使用教程

超详细的 Linux 环境下 Anaconda 安装与使用教程 前言 在数据科学和机器学习领域&#xff0c;Anaconda 是一个非常受欢迎的发行版&#xff0c;提供了许多常用的包和工具。本文将详细介绍如何在 Linux 系统上安装和配置 Anaconda 环境&#xff0c;并展示如何高效地使用它。 一…