读书记录《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];

后续一些内容

  • 视图管理

  • 查询数据

  • 汇总查询结果

  • 子查询

  • 表的连接

待更新

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ROS-机械臂-基础概念

课纲 话题通信模型&#xff08;多对多&#xff09; RPC RPC&#xff0c;全称为 Remote Procedure Call&#xff0c;即远程过程调用&#xff0c;是一种通信协议&#xff0c;允许一个计算机程序在另一个网络上的计算机上执行一组函数或过程&#xff0c;而不需程序员显式编码网络…

SketchUp如何阵列?

sketchup如何阵列&#xff1f;请看下面方法。 方法 打开SketchUp。 以默认人物为例。 按M&#xff0c;选中人物&#xff0c;再按住Ctrl移动鼠标&#xff08;不要点击鼠标键&#xff09; 按键盘数字键输入距离&#xff0c;按回车&#xff0c;不要动鼠标。 按*10设置阵列数。 按…

前端开发攻略---webSocket的简单实现与使用

1、演示 2、实现流程 安装依赖 npm i ws 服务端代码 const WebSocket require(ws)// 创建一个 WebSocket 服务器&#xff0c;监听端口 3000 const wss new WebSocket.Server({ port: 3000 })// 监听连接事件 wss.on(connection, function connection(ws) {console.log(客户端…

MySQL篇四:表的约束

文章目录 前言1. 空属性2. 默认值3. 列描述4. zerofill5. 主键6. 自增长7. 唯一键8. 外键 前言 真正约束字段的是数据类型&#xff0c;但是数据类型约束很单一&#xff0c;需要有一些额外的约束&#xff0c;更好的保证数据的合法性&#xff0c;从业务逻辑角度保证数据的正确性。…

香橙派编译linux内核支持ebpf和虚拟WIFI

前言 上一篇文章香橙派5plus上跑云手机方案一 redroid(带硬件加速)中说了怎么运行redroid&#xff0c;这篇补一下怎么修改参数编译内核。 补充 上篇文章有个内容需要补充一下&#xff1a;更新完内核需要用下面的命令防止内核被apt更新&#xff0c;不然后面使用apt update又回…

MySQL 8.0新特性INTERSECT和EXCEPT用于集合运算

MySQL8.0.31 新版本的推出&#xff0c;MySQL增加了对SQL标准INTERSECT和EXCEPT运算符的支持。 1、INTERSECT INTERSECT输出多个SELECT语句查询结果中的共有行。INTERSECT运算符是ANSI/ISO SQL标准的一部分(ISO/IEC 9075-2:2016(E))。 我们运行两个查询&#xff0c;第一个会列…

HTML5新增的input元素类型:number、range、email、color、date等

HTML5 大幅度地增加与改良了 input 元素的种类&#xff0c;可以简单地使用这些元素来实现 HTML5 之前需要使用 JavaScript 才能实现的许多功能。 到目前为止&#xff0c;大部分浏览器都支持 input 元素的种类。对于不支持新增 input 元素的浏览器&#xff0c;input 元素被统一…

位置编码的具体计算方式(公式解释)

公式 (10.6.2) 描述了位置编码的具体计算方式&#xff0c;这种位置编码基于正弦和余弦函数&#xff0c;用于在自注意力机制中引入位置信息。下面我们详细解释公式和代码。 公式 (10.6.2) 公式 (10.6.2) 的目的是为输入序列中的每个词元添加一个位置编码&#xff0c;以保留序列…

厦门大学-中央空调分户计费预付费管理系统案例

厦门大学-中央空调分户计费预付费管理系统案例 实现中央空调节能与舒适的双重目标随着社会的发展和人们生活水平的提高&#xff0c;空调已成为现代建筑中不可或缺的设备。传统的集中计费方式已无法满足多样化的用户需求和节能减排的市场趋势。中央空调如何公平、公正、合理的收…

笔记本电脑投屏怎么操作?一看就会!

日常工作或办公都会用到笔记本电脑&#xff0c;但很多新手用户不知道笔记本电脑的投屏要怎么操作&#xff1f;接下来系统之家给大家介绍三种简单的操作方法&#xff0c;帮助大家轻松完成笔记本电脑投屏投屏操作&#xff0c;从而满足自己的办公或学习使用需求。 方法一 1. 直接W…

解决Ubuntu虚拟机卡死的一种可能情况:文件系统可用率不足

Ubuntu虚拟机卡死 界面挂在/dev/sda3上开不了机了&#xff0c;情况可能的很多&#xff0c;由于我这里是虚拟机&#xff0c;给内存才分配了20G&#xff0c;我一猜就是硬存炸了&#xff0c;果不其然。。。 进入recovery mode 我们进入recovery mode先&#xff0c;在VM虚拟机开…

IOC、DI<4> Unity

IOC&#xff08;&#xff09;&#xff1a;控制反转&#xff0c;把程序上层对下层的依赖&#xff0c;转移到第三方的容器来装配 是程序设计的目标&#xff0c;实现方式包含了依赖注入和依赖查找&#xff08;.net里面只有依赖注入&#xff09; DI&#xff1a;依赖注入&#xff0c…

【Mathematical14.0最新进阶教学】-1-基础计算拓展

我在真正使用Mathematica后&#xff0c;才发觉这个软件的神奇&#xff0c;但是又有对于不知道如何使用这个神奇软件&#xff0c;因此我将我学习《The Student’s Introduction to Mathematica and the Wolfram Language (Bruce F. Torrence, Eve A. Torrence) 》的一些心得进行…

【Go】常见的变量与常量

变量 常见的变量声明方式 一、声明单个变量的多种方式 1.声明一个变量初始化一个值 //声明变量 默认值是0&#xff0c;var a int//初始化一个值a 1fmt.Println(a) 2. 在初始化的时候省去数据类型&#xff0c;通过值自动匹配当前的变量的数据类型 var b 2fmt.Println(&quo…

分享四种CAD图纸加密方法,防止盗图!

保护CAD图纸不受盗用和非法传播是设计行业中的一个重要课题&#xff0c;以下四种CAD图纸加密方法可以帮助防止图纸被未授权使用。 1.使用专业的加密软件&#xff08;最安全的方法&#xff09; 专门的加密软件&#xff0c;如安企神软件&#xff0c;可以提供更高级别的保护。它使…

【Java伴学笔记】Day-01 命令行|环境|编译解释运行|Java的相关分支|Java的特性|字面量

一、关于命令行 图形化界面的缺点 需要加载图片等一系列资源 效率较低 命令行 CMDMicrosoft Learn-CMDWindows CMD常用命令大全&#xff08;值得收藏&#xff09; 二、环境 什么是JDK JDK是Java Development Kit的缩写&#xff0c;意为Java开发工具包。它是一个用于开发Java应用…

httpd目录显示乱码问题

vim /etc/httpd/conf/httpd.conf 在<Directory “/var/www/html”>下添加&#xff1a; IndexOptions CharsetUTF-8重启httpd: systemctl restart httpd.service还是不好看&#xff0c;调整下显示宽度&#xff0c;还是这个位置&#xff1a; <Directory “/var/www/ht…

Qt使用sqlite数据库及项目实战

一.sqlite使用介绍 在Qt中使用SQLite数据库非常简单&#xff0c;SQLite是一个轻量级的嵌入式数据库&#xff0c;不需要单独的数据库服务器&#xff0c;完全使用本地文件来存储数据。 当在Qt中使用SQLite数据库时&#xff0c;需要涉及到一些SQL语句以及Qt中的相关函数&#xf…

glide加载mp4 源码堆栈调用核心代码分析

load 数据走的httpurlfetcher 的loaddata 从MultiLoader 调用而来 load到inputstream流后的处理 核心 图片是glide 首先创建解释器的时候 加了videodecoder 然后这里会从流中加载对应帧的图片保存在手机cache目录中 将这个file 作为bitmap传递 然后加载 private static final…

2024人工智能大会_强化学习论坛相关记录

求解大规模数学优化问题 规划也称为优化 四要素&#xff1a;数据、变量、目标、约束 将一个简单的数学规划问题项gpt进行提问&#xff0c;GPT给了一个近似解&#xff0c;但不是确切的解。 大模型的训练本身就是一个优化问题。 大模型是如何训练的&#xff1f;大模型训练通常使…