首页 > 数据库 >web学习笔记(五十二)数据库

web学习笔记(五十二)数据库

时间:2024-04-06 17:03:09浏览次数:460  
标签:语句 web WHERE 数据库 SQL 五十二 数据 SELECT

目录

1. 数据库的相关概念

1.1 什么是数据库

1.2 常见数据库的分类

1.3 传统型数据库的数据组织结构

1.4 补充

2.  使用 SQL 管理数据库

2.1 什么是 SQL?

2.2 SQL 能做什么

2.3  SQL 的 SELECT 语句

2.4  SQL 的 INSERT INTO 语句

2.5  SQL 的 UPDATE 语句

2.6  SQL 的 DELETE 语句

2.7  SQL 的 WHERE 子句

2.8  SQL 的 AND 和 OR 运算符 

2.9  SQL 的 ORDER BY 子句

 2.10  SQL 的 COUNT(*) 函数

3.  在node中使用mysql的步骤

4.  使用 mysql 模块操作 MySQL 数据库进行增删改查的操作 

4.1 查询数据

4.2 插入数据

4.3 更新数据

4.4 删除数据 


1. 数据库的相关概念

1.1 什么是数据库

       数据库(database)是用来组织、存储和管理数据的仓库。当今世界是一个充满着数据的互联网世界,充斥着大量的数据。数据的来源有很多,比如出行记录、消费记录、浏览的网页、发送的消息等等。除了文本类型的数据,图像、音乐、声音都是数据。为了方便管理互联网世界中的数据,就有了数据库管理系统的概念(简称:数据库)。用户可以对数据库中的数据进行新增、查询、更新、删除等操作。

1.2 常见数据库的分类

传统性数据库(关系型数据库 或 SQL 数据库):MySQL(目前使用最广泛、流行度最高的开源免费数据库;Community + Enterprise)、Oracle(收费)、SQL Server(收费)。

新型数据库(非关系型数据库 或 NoSQL 数据库):Mongodb 数据库(Community + Enterprise)。

1.3 传统型数据库的数据组织结构

    数据的组织结构:指的就是数据以什么样的结构进行存储。传统型数据库的数据组织结构,与 Excel 中数据的组织结构比较类似。在传统型数据库中,数据的组织结构分为数据库(database)、数据表(table)、数据行(row)、字段(field)这 4 大部分组成。我们通常使用phpStudy 提供运行MySQL的运行环境,再用Navicat for MySQL来存储和管理数据。

1.4 补充

  • DataType数据类型:init整数 varchar 字符串 tinyint 布尔值
  • pk表示主键,是唯一标识。
  • NN 值不允许为空
  • 索引类型选择UQ(unique)表示值唯一,索引方法可以选择btree
  • AI值自动增长

2.  使用 SQL 管理数据库

2.1 什么是 SQL?

      SQL(英文全称:Structured Query Language)是结构化查询语言,SQL 是一门数据库编程语言。专门用来访问和处理数据库的编程语言。能够让我们以编程的形式,操作数据库里面的数据。使用 SQL 语言编写出来的代码,叫做 SQL 语句。SQL 语言只能在关系型数据库中使用(例如 MySQL、Oracle、SQL Server)。非关系型数据库(例如 Mongodb)不支持 SQL 语言

2.2 SQL 能做什么

  • 从数据库中查询数据
  • 向数据库中插入新的数据
  • 更新数据库中的数据
  • 从数据库删除数据
  • 可以创建新数据库
  • 可在数据库中创建新表
  • 可在数据库中创建存储过程、视图
  • etc…

2.3  SQL 的 SELECT 语句

       SELECT 语句用于从表中查询数据。执行的结果被存储在一个结果表中(称为结果集)。SQL 语句中的关键字对大小写不敏感。SELECT 等效于 select,FROM 等效于 from。

(1) *表示选中表中所有列

SELECT * FROM user
--user表示表名

(2 ) 若需要选取某一列的内容可以直接将列名写入,如果需要选中多列,那么列名之间需要用逗号隔开

SELECT username,pwd FROM user
--user表示表名

2.4  SQL 的 INSERT INTO 语句

 INSERT INTO 语句用于向数据表中插入新的数据行,语法格式:INSERT INTO user (列名一,列名二,列名三)VALUES(值一,值二,值三)

INSERT INTO user (username,pwd,status)VALUES('andi','111',1)

2.5  SQL 的 UPDATE 语句

Update 语句用于修改表中的数据。语法格式如下:

 UPDATE users set pwd='888888',status=1  WHERE id=2;

2.6  SQL 的 DELETE 语句

DELETE 语句用于删除表中的行。 DELETE from 表名 WHERE 筛选条件;

 DELETE from users WHERE id=4;

2.7  SQL 的 WHERE 子句

WHERE 子句用于限定选择的标准。在 SELECT、UPDATE、DELETE 语句中,皆可使用 WHERE 子句来限定选择的标准,WHERE 子句通常搭配一些运算符来使用,下面是一些常用运算符。

--  where 子句  查询 status =1 的用户
SELECT * FROM users  WHERE status=1;

--   where 子句  查询 id >2的所有用户

SELECT * FROM users  WHERE id>2;


-- where 子句  查询 username<>'Tom'的所有用户    !=

SELECT * FROM users  WHERE username<>'Tom';

2.8  SQL 的 AND 和 OR 运算符 

  • AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。
  • AND 表示必须同时满足多个条件,相当于 JavaScript 中的 && 运算符,例如 if (a !== 10 && a !== 20)
  • OR 表示只要满足任意一个条件即可,相当于 JavaScript 中的 || 运算符,例如 if(a !== 10 || a !== 20)
-- 使用 AND 来显示所有 status 为 0,并且 id 小于 3 的用户:

SELECT * FROM  users WHERE status=0 AND id<3;

-- 使用 OR 来显示所有 status 为 1,或者 username 为 Jack 的用户:

SELECT * FROM users WHERE status=1 OR username='Jack';

2.9  SQL 的 ORDER BY 子句

  • ORDER BY 语句用于根据指定的列对结果集进行排序。
  • ORDER BY 语句默认按照升序对记录进行排序,也可以在后面加上 ASC 关键词来升序。
  • 如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。
-- 对 users 表中的数据,按照 status 字段进行升序排序

SELECT * FROM users ORDER BY status  ASC;

-- 对 users 表中的数据,按照 id 字段进行降序排序,
SELECT * FROM users ORDER BY id DESC;
-- ORDER BY 子句 – 多重排序
-- 对 users 表中的数据,先按照 status 字段进行降序排序,再按照 username 的字母顺序,进行升序排序
SELECT * from users ORDER BY status DESC,username ASC;

 2.10  SQL 的 COUNT(*) 函数

COUNT(*) 函数用于返回查询结果的总数据条数,也可以搭配WHERE关键字来使用,也可以使用AS来增加别名。

--  SQL 的 COUNT(*) 函数    返回总数据条数    别名  AS
 SELECT count(*) from users;

 SELECT count(*) AS total  from users;

3.  在node中使用mysql的步骤

1. 安装 mysql 模块

mysql 模块是托管于 npm 上的第三方模块。它提供了在 Node.js 项目中连接和操作 MySQL 数据库的能力。我们要想在项目中使用它,需要先运行如下命令,将 mysql 安装为项目的依赖包:

npm install mysql

2. 配置 mysql 模块

在使用 mysql 模块操作 MySQL 数据库之前,必须先对 mysql 模块进行必要的配置,主要的配置步骤如下:

3.  测试 mysql 模块能否正常工作

调用 db.query() 函数,指定要执行的 SQL 语句,通过回调函数拿到执行的结果:

4.  使用 mysql 模块操作 MySQL 数据库进行增删改查的操作 

4.1 查询数据

4.2 插入数据

向表中新增数据时,如果数据对象的每个属性和数据表的字段一一对应,则可以通过如下方式快速插入数据:

4.3 更新数据

更新表数据时,如果数据对象的每个属性和数据表的字段一一对应,则可以通过如下方式快速更新表数据:

4.4 删除数据 

在删除数据时,推荐根据 id 这样的唯一标识,来删除对应的数据。示例如下:

标签:语句,web,WHERE,数据库,SQL,五十二,数据,SELECT
From: https://blog.csdn.net/shan33__/article/details/137344357

相关文章

  • E-R模型图-->关系模型-->数据库模型图
    一、问候语欢迎你来到我的博客!二、题目三、如何分析问题并绘制E-R模型图1、认识E-R模型三要素  在分析问题前,我们首先要知道E-R模型的三要素分别是实体(用矩形表示)、属性(用椭圆形表示)、联系(用菱形表示)。  客观存在并可相互区分的事物叫实体,例如学生、教师。  实......
  • 阿里云安装Mysql数据库
    阿里云安装mysql数据库安装数据库&创建数据库用户参照以下步骤在Linux实例中安装MySQL数据库新建数据库实例上述文章止步于新建数据库用户,下面是心间数据库实例的操作。mysql-ulhkTest-p登陆mysql(lhkTest是用户名)showdatabases;查询已有数据库createdatabasehome_......
  • JS——webAPIs(6)
    一、知识点1.正则表达式的使用//正则表达式:用于匹配字符串中字符组合的模式conststr='学习前端'//定义规则constreg=/前端///进行查找-两个方法//用于判断是否有符合规则的字符串,返回布尔值console.log(reg.test(str));//用于......
  • CS 7280数据库管理专题
    CS7280数据库管理专题2024春季项目3:大数据分析目标:1.了解Hadoop生态系统和数据分析2.熟悉MapReduce编程和Spark3.获得大数据和数据分析研究经验这将是一个为期一学期的小组项目(由两名学生)。这样做的主要目的项目是为了熟悉大数据平台,包括Hadoop系统,MapReduce编程和基于云的大......
  • WebKit结构简介
    WebKit结构简介WebKit是一个开源的浏览器网页排版引擎,由多个核心模块组成。以下是WebKit的主要组成部分和它们的功能:JavaScriptCore:这是WebKit中的JavaScript解释器,负责执行网页中的JavaScript代码。WebCore:这是整个项目的核心部分,它负责解析网页内容,生成DOM树和渲染树,并......
  • Golang中的强大Web框架Fiber详解
    Golang 取消首页编程手机软件硬件安卓苹果手游教程平面服务器首页 > 脚本专栏 > Golang >Golang Web框架FiberGolang中的强大Web框架Fiber详解2023-10-2410:31:51 作者:技术的游戏在不断发展的Web开发领域中,选择正确的框架可以极大地影响项目的效......
  • WEB漏洞挖掘详细教程--用户输入合规性(sql注入测试)
    前置教程:WEB漏洞挖掘(SRC)详细教程--信息收集篇-CSDN博客WEB漏洞挖掘(SRC)详细教程--身份认证与业务一致性-CSDN博客WEB漏洞挖掘(SRC)详细教程--业务数据篡改-CSDN博客2.4用户输入合规性2.4.1注入测试a.手动注入1.在参数中输入一个单引号”'”,引起执行查询语句的语法错误,得......
  • Arm架构下麒麟操作系统安装配置Mariadb数据库
    1、安装配置JDK(1)检查机器是否已安装JDK执行java-version命令查看机器是否安装JDK,一般麒麟操作系统默认安装openjdk1.8。  (2)安装指定版本JDK如果麒麟操作系统默认安装的openjdk1.8不符合需求的话,可以卸载机器安装的openjdk1.8并按需安装所需的openjdk版本,此步骤本文不......
  • 工业组态 物联网组态 组态编辑器 web组态 组态插件 编辑器
     体验地址:by组态[web组态插件]BY组态是一款非常优秀的纯前端的【web组态插件工具】,可无缝嵌入到vue项目,react项目等,由于是原生js开发,对于前端的集成没有框架的限制。同时由于BY组态只是一个插件,不能独立运行,必须嵌入到你方软件平台才能使用,所以你方软件平台需要提供后台接......
  • 深入探索WebKitGTK+:打造浏览器界面的核心利器
            导语:今天我要向大家介绍WebKitGTK+,这个强大的开源组件负责与操作系统交互,显示网页内容,并提供GUI界面、菜单、工具栏等组件。无论你是前端开发者还是UI设计师,这篇文章都将为你提供一个全面、实用的指南。让我们一起揭开WebKitGTK+的神秘面纱吧!       ......