IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 数据库与身份认证 -> 正文阅读

[大数据]数据库与身份认证

数据库基本概念

1.数据库:用来组织,存储和管理数据的仓库
2.常见的数据库分类:

  • MySQL【目前使用最广泛,流行度最该的开源免费数据库】
  • Oracle
  • SQL Server
    -上述是传统型数据库,关系型数据库
  • Mongodb数据库【新型数据库,菲关系型数据库】
    3.传统型数据库的数据组织结构:数据库,数据表,数据行,字段
    4.实际开发中库,表,行,字段的关系
    ①在实际开发中,一般情况下,每个项目都对应独立的数据库
    ②不同的数据,要存储到数据库的不同的表中
    ③每个表中具体存储哪些信息没有字段决定
    ④表中德夯,代表每一条具体的数据

安装配置数据库

创建数据库
创建数据表:点击create table----输入表格名称—填写数据表的描述项----设计表的字段
int:整数 varchar(len)字符串 tinyint(1)布尔值

字段的特殊标识符:
PK:主键,唯一标识
NN:值不允许为空
UQ:值唯一
AI:值自动增长
向表中写入数据

MYSQL的基本使用

*注明:SQL中的注释-- *
1.Select语句

-- 从指定的表中查询出【所有的数据】 *表示所有的数据
select * from 表名称;
-- 从FROM指定的表中,查询出指定的列名称(字段)的数据
SELECT 列名称 FROM 表名称;

SQL语句实例

select * from users;
select username from users;

2.Insert into:项数据表中插入新的数据行
语法上格式:

-- 向指定的表中插入激烈数据,列的值通过values一一指定
-- 列的名称要与值一一对应,多个列名称和多个列名称所对应的值要用英文的逗号隔开
insert into table_name(1,2……)values(1,值2……)

实例代码

insert into users (username,password) values ('tony','098123')

3.update语句:用于修改表中的数据

-- SET后面指定对应的新值
-- WHERE指定更新的条件
-- 如果要改变表中多个列名称的值则需要将需要改变的值用英文的逗号隔开
UPDATE 表名称 SET 列名称=新值 WHERE (更新的条件==列名称=某值)

实例代码

-- 将id为1的人的密码改成888888
update users set password='888888' where id='1'

update users set password='ad123',status=1 where id='1'

4.DELETE语句:删除表里面的行

-- 从指定表中,根据where条件,删除对应的数据行
delete FROM 表名称 where 列名称=

示例代码

delete from users where id='2'

5.where 子句
用来限定选择得标准

(1)=--------等于
(2)<>(!=)-------不等于
(3) >----------大于
(4)<----------小于
(5)>=---------大于等于
(6)<=-------小于等于
(7)between------在某个范围内
(8)like-------搜索某种模式
6.AND和OR运算符:把两个或多个条件结合起来
AND:表示必须同时满足多个条件
OR:只要满足任意一个条件即可

示例代码

select * from users where id<'11' and status=0;

select * from users where id<'11' or username='tony'

7.order by
order by预警与根据限定的列对结果进行排序【默认按照升序对记录进行排列】
升序:ASC
降序:DESC

示例代码

select * from users order by id asc;

select * from users order by id desc;

8.order by的多重排序:将排序的条件写在 order by的后面然后用英文的逗号隔开

示例代码

select * from users order by id desc,username asc;

9.count(*):用于返回查询结构的总数据条数
语法格式:

select count(*) from 表名称 where 条件

10,使用AS为列设置别名
如果要给多个列名设置别名。只需要将这些列的名称用英文的逗号隔开即可

select count(*) as total from users where status=0 

在项目中操作MySQL

1.在项目中操作MySQL的步骤
①安装MySQL数据库的第三方模块(mysql)
②通过mysql模块连接到MYSQL数据库
③通过mysql模块执行SQL语句
2.安装与配置mysql模块:npm install mysql
3.配置mysql模块
步骤:

  1. 导入mysql模块
  2. 建立与MySQL数据库的连接:调用createePoool
    数据库的IP地址:host
    登录数据库的账号:user【默认root】
    登录数据库的密码:password
    指定操作的数据库:database
    示例代码:
// 1. 导入mysql模块
const mysql=require('mysql')
// 2. 建立与MySQL数据库的连接:调用createePoool
const db=mysql.createPool({
    host:'127.0.0.1',
    user:'root',
    password:'admin123',
    database:'my_db_01'

测试mysql模块能否正常工作
调用db.query()函数,指定要执行的SQL语句,通过回调函数拿到执行的结果
语法

db.query('SQL语句'(err,result)=>{
)

实际测试代码

db.query('select * from users',(err,result)=>{
    if(err){
       return console.log(err.message);
    }
    else{
        console.log(result);
    }
})

4.向users表中插入对象
步骤
(1)创建要插入到users表中的数据对象
(2)创建待执行的SQL语句,其中?表示占位符
(3)使用query方法,以数组的形式,依次为占位符指定具体的数据
如果result.affectedRows==1则证明插入成功
实例代码

const user={username:'Joe',password:'Joe888'}
const sqlStr='insert into users (username,password) values (?,?)'
db.query(sqlStr,[user.username,user.password],(err,result)=>{
    if(err){
        return console.log('添加失败'+err.message);
    }
    if(result.affectedRows===1){
        console.log('添加成功');
    }
})

简便方式

const user={username:'May',password:'May888'}
const sqlStr='insert into users set ?'
db.query(sqlStr,user,(err,result)=>{
    if(err){
        return console.log('添加失败'+err.message);
    }
    if(result.affectedRows===1){
        console.log('添加成功');
    }
})

5.更新数据 update
测试代码:

const user={id:7,username:'Alice',password:'Alice123'}
const sqlStr='update users set username=?,password=? where id=?'
db.query(sqlStr,[user.username,user.password,user.id],(err,result)=>{
    if(err) {return console.log('添加失败'+err.message);}
    if(result.affectedRows===1){
        console.log('更新成功');
    }
})

简便方式

const user={id:9,username:'CAT',password:'cat123'}
const sqlStr='update users set ? where id=?'
db.query(sqlStr,[user,user.id],(err,result)=>{
    if(err) {return console.log('添加失败'+err.message);}
    if(result.affectedRows===1){
        console.log('更新成功');
    }
})

6.删除数据的值

const sqlStr='delete from users where id=?'
db.query(sqlStr,7,(err,result)=>{
        if(err) {return console.log('删除失败'+err.message);}
        if(result.affectedRows===1){
            console.log('删除成功');
        }
    })

7.标记删除:为了保险起见,推荐使用标记删除的形式,来模拟删除的动作
相当于在表中设置类似于status这样的状态字段,来标记当前的这天数据是否被删除

当用户执行了删除的动作时,我们真正的并没有执行delete语句将这条数据删除掉,而是执行了update语句,将这条数据的status字段标记为删除即可

示例代码:

const sqlStr='update users set status=? where id=?';
db.query(sqlStr,[1,3],(err,result)=>{
            if(err) {return console.log('删除失败'+err.message);}
            if(result.affectedRows===1){
                console.log('删除成功');
            }
        })

在Express中操作数据库

前后端的身份认证

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-26 12:16:31  更:2021-10-26 12:17:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 3:11:03-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码