首页 > 数据库 >数据库初识、介绍、SQL语句的由来(库、表、记录表头、表单)、SQL语句基础(注释以及修改指令)

数据库初识、介绍、SQL语句的由来(库、表、记录表头、表单)、SQL语句基础(注释以及修改指令)

时间:2024-06-04 15:15:03浏览次数:16  
标签:语句 存储 记录表 数据库 表单 SQL 数据

【一】数据库初识

【1】文件存储

(1)基于内存保存

  • 一开始做员工系统是基于列表或字典(内存)来存储数据

(2)文件操作

  • 在Python指令中学习文件操作,将一些数据都保存到了本地的文本文件中。

  • 因为先前学习了如何搭建TCP的客户端和服务端

  • 并且在这之中 TCP 服务端作为存储服务,TCP客户端用来上传和下载文件数据。所以我们称存储数据的位置就是数据库

  • 内存 ---》文件---》TCP服务端

(3)总结

  • 数据库的本质就是一个基于网络通信保存数据的应用程序。

  • 每个人都有开发一块数据库的能力

【二】数据库的介绍

【1】关系型数据库

  • MySQL
  • Oracle
  • db2
  • access
  • sql server
  • 这些数据库都采用关系模型来组织数据,并且支持SQL查询语句。

【2】非关系型数据库

  • Redis
  • MongoDB
  • Memcached
  • 这些数据库不采用关系模型来组织数据,而是采用了其他的模型,例如键值对模型、文档模型、图形模型等。

【3】关系型(存储数据)

  • 特点
    • 彼此之间是有关联的。
    • 存储数据的表型形式通常以表格形式存储
    • 每个字段限制当前字段存储的类型
    • 关系型数据库还支持增删改查,插入、更新和查询等。

【4】非关系型(缓存数据)

  • 特点
    • 存储数据通常是K:V形式存储数据
    • 非关系型数据库通常用于存储临时性的、高速访问的数据,这些数据通常以键值对的形式存储,其中 “键” 表示数据的唯一标识, “值” 表示实际的数据内容。
    • 由于非关系型数据库通常不提供事务支持和复杂的查询功能,因此不适合存储长期保存的历史数据。

【5】数据库的应用场景

(1)需求

  • 假设现在你已经是某大型互联网公司的高级程序员,让你写一个火车票购票系统,来hold住十一期间全国的购票需求,你怎么写?
  • 在同一时段抢票的人数如果太多,那么你的程序不可能运行在一台机器上,应该是多台机器一起分担用户的购票请求。

(2)实现需求

  • 那么问题就来了,票务信息的数据存在哪里?存在文件里么?

  • 如果存储在文件里,那么存储在哪一台机器上呢?是每台机器上都存储一份么?

    • 首先,如果其中一台机器上卖出的票另外两台机器是感知不到的,
    • 其次,如果我们将数据和程序放在同一个机器上,如果程序和数据有一个出了问题都会导致整个服务不可用。
    • 最后,操作或修改文件中的内容对python代码来说是一件很麻烦的事。
  • 基于上面这些问题,单纯的将数据存储在和程序同一台机器上的文件中是非常不明智的。

  • 根据上面的例子,我们可以知道,将文件和程序存在一台机器上是很不合理的,同时,操作文件是一件很麻烦的事,所以我们可以使用数据库来存储数据。

【三】SQL语句的由来

【1】socket通信

  • 任何基于网络通信的应用程序底层用的都是scoket

    • 服务端
      • 基于socket通信
      • 收发消息
    • 客户端
      • 基于socket通信
      • 收发消息

【2】由来

  • 为了使 MySQL 不仅能支持 MySQL 自己的客户端应用程序,还能支持其他编程语言
  • MySQL 采用了 SQL 作为统一的语言来进行数据操作。
  • 这样就可以让服务器端兼容所有语言,因为所有的客户端应用程序都可以通过执行相同的 SQL 语句来进行数据操作。

【3】库/表/记录/表头/表单

(1)库(Database)

  • 库是指在数据库管理系统中用于存储和组织数据的容器。
  • 它可以视为一个文件夹,用于存放相关的数据表。 数据库中可以包含多个库,每个库可以包含多个表。

(2) 表(Table)

  • 表是数据库中的一个基本组成单位,用于存储和展示数据。
  • 表由行(记录)和列(字段)组成,每一行表示一个记录,每一列表示一个字段。
  • 表可以看作是一个二维数据结构,类似于电子表格。

(3)记录(Record)

  • 记录也称作行,是表中的一个数据项或实体。
  • 每一行都代表了一个完整的数据记录,其中包含了各个字段的具体数值或信息。
  • 例如,在一个学生信息表中,每一行代表一个学生的具体信息。

(4)表头(Header)

  • 表头是表中的第一行,用于描述每个列字段的含义或名称。
  • 表头通常包含了列的标签或标题,通过表头可以了解每个列字段所代表的意义,方便数据的理解和查询。

(5)表单(Form)

  • 表单是一种用来收集和展示数据的界面形式,常见于数据输入和显示的场景中。
  • 表单通常包含了各种输入字段(例如文本框、下拉列表等)和相关的操作按钮,用户可以通过表单进行数据的录入、编辑和提交等操作。
  • 表单的数据可以被存储到相应的表中,用于后续的数据处理和分析。

(6)小结

  • 库:

    • 相当于我们的文件夹
  • 表:

    • 相当于我们的文件
  • 记录:

    • 相当于我们一行行的数据
  • 表头:

    • 表格的第一行字段
  • 表单:

    • 表头对应的每一条数据

【四】SQL语句基础

【1】引入

  • 前面的学习中我们提到,mysql是关系型数据库,
  • 所以我们要操作mysql就需要使用SQL(结构化查询语言)。

【2】SQL规范

  • 在数据库管理系统中,SQL语句关键字不区分大小写(但建议用大写) ,参数区分大小写。

    • 建议命令大写,数据库名、数据表名、字段名统一小写,如数据库名、数据表名、字段名与关键字同名,使用反引号 圈起来,避免冲突。
  • SQL语句可单行或多行书写,默认以英文分号(;)结尾,关键词不能跨多行或简写。

  • 字符串跟日期类型的值都要以 单引号括起来,单词之间需要使用半角的空格隔开。

  • 用空格和缩进来提高SQL语句的可读性。

【3】注释语法

(1)单行注释

-- 单行注释 

# mysql支持单行注释

(2)多行注释

/*   
多行注释  
*/

【4】SQL类型

(1)数据定义语言(Data Definition Language, DDL)

  • 用于创建或删除数据库以及数据表的语句,DDL包含以下几种指令:
  • CREATE: 创建数据库和表等对象
  • DROP: 删除数据库和表等对象
  • ALTER: 修改数据库和表等对象的结构

(2)数据操纵语言(Data Manipulation Language, DML)

  • 用于对数据表中的数据进行增删查改的。
  • SELECT: 查询表中的数据
  • INSERT: 向表中插入新数据
  • UPDATE: 变更表中的数据
  • DELETE: 删除表中的数据

(3)数据控制语言(Data Control Language,DCL)

  • 用于对控制数据库的操作权限的,包括用户权限以及数据操作权限。
  • COMMIT: 确认对数据库中的数据进行的变更
  • ROLLBACK: 取消对数据库中的数据进行的变更
  • GRANT: 赋予用户操作权限
  • REMOVE: 取消用户的操作权限

(4)常用命令

命令 描述
help 查看系统帮助想你想
status 查看数据库管理系统的状态信息
exit 退出数据库终端连接
quit 退出数据库终端连接
\c 当打错命令了,想换行重新写时可以在错误命令后面跟着\c回车

标签:语句,存储,记录表,数据库,表单,SQL,数据
From: https://www.cnblogs.com/chosen-yn/p/18230747

相关文章

  • 在SQL中,如果你想从某个表的某列中去除所有的单引号(')
    在SQL中,如果你想从某个表的某列中去除所有的单引号('),你可以使用REPLACE函数。REPLACE函数允许你搜索一个字符串中的特定子字符串,并用另一个字符串替换它。假设你有一个名为my_table的表,并且你想从名为my_column的列中去除所有的单引号,你可以使用以下SQL语句:sqlUPDATEmy_table......
  • 配置Mysql允许远程连接
    目录1.开通其他主机使用root登录的权限2.在安装mysql的本机上添加防火墙允许规则,允许33063.补充1.开通其他主机使用root登录的权限在搜索里搜索msyql进入命令行,输入密码;usermysql showtables;显示所有数据库,我们可以看到有一个名为user的表。selectHost,Use......
  • 不使用Debezium,记录PostgreSQL中的数据的数据前后变化
    如果不使用Debezium,可以使用触发器(Trigger)来记录PostgreSQL中的数据的变化。触发器是一种特殊的存储过程,当对表执行INSERT、UPDATE或DELETE操作时,会自动执行触发器中的代码。以下是一个简单的示例,展示了如何使用触发器记录数据的变化:1创建一个用于存储变化记录的表:CREATETABL......
  • SQL注入详解
    一、简介SQL注入漏洞非常复杂,区分各种数据库类型,提交方法,数据类型等注入,同样此类漏洞是WEB安全中严重的安全漏洞,学习如何利用,挖掘,修复也是很重要的二、SQL注入原理1、什么是SQL注入 SQL注入就是指Web应用程序对用户输入的数据合法性没有过滤或者是判断,攻击者可......
  • windows MySql 8免安装初并始化root权限和密码
    安装命令@ECHOOFFif"%1"=="h"gotobeginstartmshtavbscript:createobject("wscript.shell").run("""%~nx0""h",0)(window.close)&&exit:beginfltmc>nul||cd/d%~dp0&&mshtavbscript:......
  • 每日两道练习题-- 带你学会SQL server(获取所有非manager员工当前的薪水情况,对所有员工
    SQLServer在实际场景中的应用非常广泛,以下是一些主要的应用领域:企业级应用:SQLServer具有高度的稳定性、可靠性和安全性,非常适合用于企业级应用。例如,企业资源规划(ERP)系统、客户关系管理(CRM)系统、人力资源管理(HRM)系统等,这些系统都需要处理大量的数据和复杂的业务逻辑,SQLS......
  • Mysql实时数据监听高可用
    一、需求:数据实时监听在项目中有着重要的意义,例如某些项目需要监听数据库的变化,生成对应的元数据块,这个数据块为前端接口提供数据支撑或者数据计算使用,监听到某些数据的变化,及时提醒上游或下游服务等等。如何保证数据监听的高可用?本文用自身项目结构简易阐述,不喜勿喷。二、......
  • postgresql 用户管理
    --创建用户createuserkingron;--修改用户密码alteruserkingronwithpassword'1234';--限制用户的连接数alteruserkingronconnectionlimit1;--设置用户密码过期时间alteruserkingronvaliduntil'2024-2-2';--密码永不过期alteruserkingronvali......
  • 安装 postgresql
    yum安装安装PostgreSQL,postgresql-server会附带安装上postgres客户端,因此不必重复安装:yuminstallpostgresql-server检查一下版本信息:psql--version初始化数据库:postgresql-setupinitdb启动数据库:servicepostgresqlstart需要解决root用户下无法......
  • postgresql 基本语法
    模式--创建模式createschemamyschema;--设置当前模式setsearch_pathtomyschema;--查看当前数据库所有模式select*frominformation_schema.schemata;--删除模式dropschemamyschema;--删除模式以及模式下的所有表dropschemamyschemacascade;查询......