数据库之 基础概念、安装mysql、sql语句基础

数据库之 基础概念、安装mysql、sql语句基础

【一】存储数据的演变过程:

  1. 文件存储: 初始阶段随意存放数据到文件,格式任意。
  2. 目录规范引入: 软件开发使用目录规范,限制数据位置,建立专门文件夹。
  3. 本地数据存储: 游戏数据本地保存,账号在本地有效。
  4. 单机转联网: 互联网时代,数据库服务端建立,数据统一存储,实现共享和稳定性。

【二】数据库的本质

  • 网络通信应用程序
  • 每人可开发数据库

【三】数据库的分类:

【1】关系型数据库

  • 包含:

    • MySQL, Oracle, db2, access, SQL Server
    • 采用关系模型,支持SQL查询语言。
  • 特点

    • 彼此关联表格存储,字段限制数据格式,支持各种操作

【2】非关系型数据库

  • 包含:

    • Redis, MongoDB, Memcached
    • 采用不同模型,如键值对、文档、图形。
  • 特点:

    • K:V形式存储,适用于临时高速访问不提供复杂查询和事务支持

【四】SQL语句由来

【1】Socket通信

  • 底层网络通信使用Socket
  • 服务端和客户端通过Socket进行消息传递。
    • mysqld.exemysql.exe 是 MySQL 数据库的客户端和服d务端程序,分别负责数据库的服务和客户端连接。

【2】SQL语句的产生

  • 为了使 MySQL 不仅能支持 MySQL 自己的客户端应用程序,还能支持其他编程语言
  • MySQL 采用了 SQL 作为统一的语言来进行数据操作。

【五】数据库的基本单位

【1】库(Database)

  • 存储和组织数据的容器
  • 类似文件夹,可以包含多个表。

【2】表(Table)

  • 用于存储和展示数据
  • 由行(记录)和列(字段)组成,类似电子表格。

【3】记录(Record)

  • 记录也称作行,是表中的一个数据项或实体。

  • 每行代表一个完整数据记录,包含各字段的具体数值或信息。

  • 类似于电子表格的一行数据

【4】表头(Header)

  • 表中的第一行,描述每列字段的含义,方便数据理解和查询

  • 通过表头可以了解每个列字段所代表的意义

  • 类似于电子表格的第一行

【5】表单(Form)

  • 用于收集和展示数据的界面
  • 包含输入字段和操作按钮,用户可进行数据录入、编辑和提交。

【六】数据库安装

【0】各个服务器的端口

  • MySQL :3306
  • Redis : 6379
  • MongoDB : 27017
  • Django : 8000
  • flask : 5000

【1】官网下载Mysql

  • MySQL :: Download MySQL Community Server

  • 选择5.7.44版本

  • 下载Windows (x86, 64-bit), ZIP Archive

【2】解压文件

  • 解压得到的文件夹就是安装目录,放置自己指定位置
  • 不要含有中文

【3】添加环境变量

  • 将文件夹的bin目录添加到系统环境变量Path中
D:\mysql\mysql-5.7.44-winx64\bin
【4】创建指定文件
  1. 在解压文件下创建my.ini配置文件

    • 文件内容
    [mysqld]
    # 设置3306端口
    port=3306
    # 设置mysql的安装目录
    basedir="D:\mysql\mysql-5.7.44-winx64"
    # 设置mysql数据库的数据的存放目录,就是前面手动创建的data目录
    datadir="D:\mysql\mysql-5.7.44-winx64\data"
    # 允许最大连接数
    max_connections=200
    # 允许连接失败的次数。
    max_connect_errors=10
    # 服务端使用的字符集默认为utf8mb4
    character-set-server=utf8mb4
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
    # 默认使用“mysql_native_password”插件认证, mysql_native_password
    default_authentication_plugin=mysql_native_password
    [mysql]
    # 设置mysql网络通信的默认字符集
    default-character-set=utf8mb4
    [client]
    # 设置mysql客户端连接服务端时默认使用的端口
    port=3306
    # 设置mysql客户端的默认字符集
    default-character-set=utf8mb4
    
  2. 创建文件夹data

  3. 最终的目录结构

请添加图片描述

【5】初始化数据库

  • 打开cmd窗口(管理员),输入
mysqld --initialize --console
  • data文件夹下将得到初始化的数据
  • 最后会得到初始化密码,这个要赋值下来

请添加图片描述

【6】注册系统服务

  • 把mysql注册到操作系统作为系统服务,保证将来电脑重启了就可以开机自启了
mysqld --install
  • 注销方法
mysqld --remove

【7】启动和关闭服务

  • 启动服务
net start MySQL
  • 关闭服务
net stop MySQL
  • 重启服务
net stop MySQL && net start MySQL

【8】修改密码

  • 先登录
# 登录方式一
mysql -uroot -p
# 登录方式二
mysql -uroot -p密码
  • 修改密码
alter user 'root'@'localhost' identified by '新密码';
  • 刷新权限
FLUSH PRIVILEGES;
  • 退出MySQL客户端
exit;
  • 登录,输入新密码
mysql -u root -p

【9】跳过登录密码

  • 在my.ini文件中添加指定信息
[mysql]
# 不需要每次输入验证码即可登陆
user="root"
password=新密码
  • 重启服务
net stop MySQL && net start MySQL
  • 登录
mysql -uroot

【七】SQL语句基础

  • MySQL是关系型数据库,操作它需要使用SQL(结构化查询语言)。

【1】SQL规范

  • SQL语句关键字不区分大小写,但建议用大写。
  • 命令大写,数据库名、数据表名、字段名统一小写,避免冲突。
  • 使用反引号圈起同名的数据库名、数据表名、字段名与关键字。
  • SQL语句可单行或多行书写,以英文分号(;)结尾,关键词不能跨多行或简写。
  • 字符串和日期类型的值要用单引号括起来。
  • 单词之间使用半角空格隔开。
  • 使用空格和缩进提高SQL语句可读性。

【2】注释语法

(1)单行注释
# 注释内容sql语句 --注释内容
(2)多行注释
/*
注释内容
*/

【3】SQL类型

  • 根据用途不同,SQL语句分为三大类型:
(1)数据定义语言(DDl)
  • 用于创建或删除数据库数据表
  • 包括CREATE(创建)、DROP(删除)、ALTER(修改)
(2)数据操纵语言(DML)
  • 用于对数据表中的数据进行增删改查
  • 包括SELECT(查找)、INSERT(插入)、UPDATE(更新)、DELETE(删除)
(3)数据控制语言(DCL)
  • 用于控制数据的操作权限,包括用户权限数据操作权限
  • 包括COMMIT(确认对数据库的数据变更)、ROLLBACK(取消对数据库的数据变更)、GRANT(赋予用于操作权限)、REMOVE(取消用户的操作权限)
(4)补充
  • SHOW 属于 SQL 的一种语句,它通常用于检索关于数据库、数据表、用户权限等信息

  • SHOW 不属于 DDL、DML 或 DCL 中的一种,而是用于元数据查询和展示

    • SHOW DATABASES;:显示所有数据库的列表。
    • SHOW TABLES;:显示当前数据库中所有数据表的列表。
    • SHOW COLUMNS FROM 表名;:显示指定表的列信息。
    • SHOW GRANTS FOR 用户名;:显示给定用户的权限。

【4】SQL常用命令

  • help: 查看系统帮助信息。
  • status: 查看数据库管理系统的状态信息。
  • exit 或 quit: 退出数据库终端连接。
  • \c: 在打错命令后,想重新换行时使用,输入\c回车。

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

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

相关文章

java版代码生成器

之前实现的JRT代码生成器是M版的,那么用户必须用M库才能有代码生成器的功能。为了提供给就是不用M库的用户使用,JRT再提供脚本版的java代码生成器,方便直接连关系库生成JRT的代码。 实现: import JRT.Core.MultiPlatform.JRTCon…

接口测试怎么测?接口测试的流程和步骤(超详细)

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,薪资嘎嘎涨 一、什么是接口测试 我们要想知道接口测试怎么做,首先要明白接口测试是什么?一般…

<蓝桥杯软件赛>零基础备赛20周--第18周--动态规划初步

报名明年4月蓝桥杯软件赛的同学们,如果你是大一零基础,目前懵懂中,不知该怎么办,可以看看本博客系列:备赛20周合集 20周的完整安排请点击:20周计划 每周发1个博客,共20周。 在QQ群上交流答疑&am…

HCS-华为云Stack-FusionSphere

HCS-华为云Stack-FusionSphere FusionSphere是华为面向多行业客户推出的云操作系统解决方案。 FusionSphere基于开放的OpenStack架构,并针对企业云计算数据中心场景进行设计和优化,提供了强大的虚拟化功能和资源池管理能力、丰富的云基础服务组件和工具…

栈和队列的动态实现(C语言实现)

✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅ ✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨ 🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿&#x1…

【LeetCode】112. 路径总和(简单)——代码随想录算法训练营Day18

题目链接:112. 路径总和 题目描述 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则&…

ENVI下基于知识决策树提取地表覆盖信息

基于知识的决策树分类是基于遥感影像数据及其他空间数据,通过专家经验总结、简单的数学统计和归纳方法等,获得分类规则并进行遥感分类。分类规则易于理解,分类过程也符合人的认知过程,最大的特点是利用的多源数据。 决策树分类主要的工作是获取规则,本文介绍使用CART算法…

第17章_反射机制(理解Class类并获取Class实例,类的加载与ClassLoader的理解,反射的基本应用,读取注解信息,体会反射的动态性)

文章目录 第17章_反射机制本章专题与脉络1. 反射(Reflection)的概念1.1 反射的出现背景1.2 反射概述1.3 Java反射机制研究及应用1.4 反射相关的主要API1.5 反射的优缺点 2. 理解Class类并获取Class实例2.1 理解Class2.1.1 理论上2.1.2 内存结构上 2.2 获取Class类的实例(四种方…

每日一题——LeetCode1346.检查整数及其两倍数是否存在

方法一 循环查找 用indexOf查找每个元素的两倍是否存在在数组中&#xff0c;找到了就直接return true&#xff0c;循环结束还没找到就return false var checkIfExist function(arr) {for(let i0;i<arr.length;i){let index arr.indexOf(arr[i]*2)if(index>0 &&…

小土堆pytorch学习笔记003 | 下载数据集dataset 及报错处理

目录 1、下载数据集 2、展示数据集里面的内容 3、DataLoader 的使用 例子&#xff1a; 结果展示&#xff1a; 1、下载数据集 # 数据集import torchvisiontrain_set torchvision.datasets.CIFAR10(root"./test10_dataset", trainTrue, downloadTrue) test_set …

CAD-autolisp(二)——选择集、命令行设置对话框、符号表

目录 一、选择集1.1 选择集的创建1.2 选择集的编辑1.3 操作选择集 二、命令行设置对话框2.1 设置图层2.2 加载线型2.3 设置字体样式2.4 设置标注样式&#xff08;了解即可&#xff09; 三、符号表3.1 简介3.2 符号表查找3.2 符号表删改增 一、选择集 定义&#xff1a;批量选择…

基于springboot+vue的校园资料分享平台(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目背景…