入门 MySQL 数据库:基础指南

news2024/12/26 17:44:00

简介

        MySQL 是一个非常流行的开源关系型数据库管理系统(RDBMS),广泛用于 Web 应用、企业应用和数据仓库。本博客将引导你从零开始,学习 MySQL 数据库的基础知识。

什么是 MySQL?

        MySQL 是一个基于 SQL(Structured Query Language,结构化查询语言)的数据库管理系统,它允许用户创建、修改、查询和删除存储在数据库中的数据。MySQL 是一个多用户、多线程的数据库系统,支持多种操作系统。

为什么选择 MySQL?

  • 开源:MySQL 是免费的,并且拥有一个活跃的社区,提供持续的更新和支持。
  • 跨平台:支持多种操作系统,如 Windows、Linux 和 macOS。
  • 高性能:优化了读写性能,适合处理大量数据。
  • 灵活性:支持多种数据类型,包括整数、浮点数、字符串和日期等。
  • 安全性:提供多层次的安全特性,包括用户权限管理、加密连接等。、

企业级 MySQL 版本对比

MySQL 提供了两种主要的企业级版本:社区版和企业版。

社区版

  • 免费:社区版完全免费,适合个人学习和小型项目。
  • 功能:包含基本的数据库功能,可能包含一些测试性质的新功能,但稳定性可能不如企业版。

企业版

  • 收费:企业版是商业产品,需要购买许可证。
  • 稳定性:提供更高级的功能和更稳定的性能,适合大型企业使用。

远程登录配置

Linux 系统

  • 安装 MySQL 后,默认情况下 MySQL 8 不会提示设置 root 密码,可以使用系统 root 用户直接登录。
  • 要实现远程登录,需要确保数据库用户具有远程权限,并且在配置文件 /etc/mysql/mysql.conf.d/mysqld.conf 中设置 bind-address 为 0.0.0.0 或者具体的外网 IP 地址。
  • 重启 MySQL 服务以应用更改

在此之前我们详细讲了怎么远程登录

安装 MySQL

我们之前已经写过了安装MySQL 的具体步骤,这边就不再详细阐述了。(点击对应系统可跳转) 

Windows

  1. 访问 MySQL 官方网站下载 Windows 版本的安装程序。
  2. 运行安装程序并遵循安装向导。
  3. 在安装过程中,设置 root 用户的密码。

Linux (Ubuntu 示例)

  1. 更新包索引。
  2. 安装 MySQL Server。
  3. 安装配置。
  4. 验证安装。

MySQL 基本指令

数据库操作(实例均在cmd 命令窗口中执行)

首先要进行操作前先登录进入mysql

  • 展示所有数据库:
    SHOW DATABASES;

  • 创建数据库,指定字符集:
    CREATE DATABASE database_name CHARACTER SET utf8;

  • 删除数据库:
    DROP DATABASE database_name;

  • 查看当前使用的数据库:
    SELECT DATABASE();


    因为我们还未使用数据库,所以显示为NULL,使用"mysql"数据库后:

  • 使用数据库:
    USE database_name;

 这边切换数据库到python2407

数据表操作

  • 显示所有表:
    SHOW TABLES;

  • 创建数据表:
    CREATE TABLE table_name ( column1 datatype constraint1, column2 datatype constraint2, ... );

  • 这里是每个部分的详细说明:

    • table_name:新创建的表的名称。
    • column1column2, ..., columnN:表中的列名称。
    • datatype:每个列的数据类型,例如 INTVARCHARDATEFLOAT 等。
    • constraint1constraint2, ..., constraintN:每个列的约束条件,用于限制列中数据的规则,例如 NOT NULLPRIMARY KEYUNIQUEDEFAULT 等。
  • 下面是一些常见的数据类型和约束条件的例子:

    • INT:整型,用于存储整数。
    • VARCHAR(length):变长字符串,length 表示字符串的最大长度。
    • CHAR(length):固定长度字符串,length 表示字符串的长度,不足部分会用空格填充。
    • DATE:日期类型,存储格式为 YYYY-MM-DD
    • FLOAT 或 DOUBLE:浮点数类型,用于存储小数。
    • BOOLEAN:布尔类型,存储 TRUE 或 FALSE
  • 约束条件示例:

    • NOT NULL:该列的值不能为 NULL。
    • PRIMARY KEY:该列的值必须是唯一的,且不能为 NULL,一个表只能有一个主键。
    • UNIQUE:该列的值必须唯一,可以有多个 NULL 值。
    • DEFAULT value:如果插入记录时没有为该列指定值,则使用默认值 value
    • AUTO_INCREMENT:用于数值类型的列,每当新行插入时,该列的值会自动增加。通常用于主键。
    • CHECK (condition):检查约束,确保列的值满足指定的条件(MySQL 8.0.16 及以上版本支持)。
  • 查看表结构:
    DESC table_name;

  • 删除数据表:
     DROP TABLE table_name;

删除表之后,此时我们再来查看数据库的表,已经没有了  table_name 这张表。

CURD 操作

  • 查(SELECT):查询数据,支持条件查询、排序、分组等。
  • 增(INSERT):添加数据。
    INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);

  • 改(UPDATE):更新数据。
    UPDATE table_name SET column1 = value1 WHERE condition;

  • 删(DELETE):删除数据。
    DELETE FROM table_name WHERE condition;

 

用户管理

  • 创建用户:
    CREATE USER 'username'@'%' IDENTIFIED BY 'password';

  • 分配权限:
    GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'%'; FLUSH PRIVILEGES;

  • 删除用户:
    DROP USER 'username'@'%';

  • 修改密码:
    ALTER USER 'username'@'%' IDENTIFIED BY 'new_password';

 

特殊数据类型

  • 整型(int):存储整数。
  • 字符串(varchar, char):存储可变长度或固定长度的字符串。
  • 日期时间(datetime):存储日期和时间。
  • 枚举(enum):从预定义的值列表中选择。

结语

通过本博客的进阶指南,你现在应该对 MySQL 的企业级版本、远程登录配置、基本指令、用户管理和特殊数据类型有了更深入的了解。MySQL 是一个功能强大的数据库系统,适用于各种规模的应用。继续探索和实践,你将能够更深入地掌握 MySQL 的使用。

如果你有任何问题或需要进一步的帮助,请在评论区留言,或者加入 MySQL 社区与其他用户交流。祝你在 MySQL 的学习旅程中一切顺利!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

秒懂Linux之制作简易shell

目录 一.全部代码 二.自定义shell 一.全部代码 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <sys/types.h> #include <sys/wait.h>#define SIZE 1024 #define MAX_ARGC 64 #define SEP &…

pnpm【实用教程】2024最新版

pnpm 简介 pnpm 全称 performant npm&#xff0c;即高性能的 npm&#xff0c;由 npm/yarn 衍生而来&#xff0c;解决了 npm/yarn 内部潜在的 bug&#xff0c;极大的优化了性能&#xff0c;扩展了使用场景&#xff0c;被誉为 最先进的包管理工具 安装 pnpm npm i -g pnpm使用 pn…

安全基础学习-SM4加密算法

SM4 是一种中国国家密码标准(GB/T 32907-2016)中定义的分组加密算法,又称为“中国商用密码算法SM4”。它是由中国国家密码管理局发布的,并广泛应用于金融、电子商务和其他需要数据加密的场景。 1、SM4 算法概述 SM4 是一种对称加密算法,意味着加密和解密使用相同的密钥。…

升级 kubeadm 部署的 k8s 集群

文章目录 一、环境二、注意事项1、备份数据2、跨版本升级3、支持的版本偏差3.1、kube-apiserver3.2、kubeklet3.3、kube-proxy3.4、kube-controller-manager、kube-scheduler 和 cloud-controller-manager3.5、kubectl 4、升级流程 三、版本升级&#xff08;补丁版本升级&#…

css 文字图片居中及网格布局

以下内容纯自已个人理解&#xff0c;直接上代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><…

ervlet、jsp、Cookie、Ajax学习

系列文章目录 第一章 基础知识、数据类型学习 第二章 万年历项目 第三章 代码逻辑训练习题 第四章 方法、数组学习 第五章 图书管理系统项目 第六章 面向对象编程&#xff1a;封装、继承、多态学习 第七章 封装继承多态习题 第八章 常用类、包装类、异常处理机制学习 第九章 集…

Nginx 正则表达式与rewrite

目录 一、正则表达式 二、rewrite 2.1 rewrite简述 2.2 rewrite 跳转 2.3 rewrite 执行顺序 2.4 rewrite 语法格式 三、location 3.1 location 类别 3.2 location常用匹配规则 3.3 location优先级 3.4 示例说明 3.5 匹配规则总结 3.6 三个匹配规则定义 四、实战…

【业务场景实战】如何优雅地进行缓存预热?

从Java基础到中间件再到微服务&#xff0c;我们学了这么多&#xff0c;但遇到真实项目的时候&#xff0c;还是不会根据所学知识&#xff0c;对项目进行改造&#xff1b;或者太久不用早已忘记。学会用才是走得更远&#xff01; 缓存穿透、雪崩&#xff0c;大家都不陌生&#xf…

【Linux操作系统】——Centos7下安装python3.8

1.Centos7下安装python3.8 1.1 安装依赖包 yum install gcc openssl-devel bzip2-devel libffi-devel zlib-devel ncurses-devel sqlite-devel readline-devel readline-devel make在CentOS 7上安装Python时&#xff0c;‌需要安装一些必要的依赖包以确保Python的正常编译和运…

HarmonyOS NEXT - 项目基础框架的搭建

demo 地址: https://github.com/iotjin/JhHarmonyDemo 代码不定时更新&#xff0c;请前往github查看最新代码 HarmonyOS NEXT - 项目基础框架的搭建 序前置工作项目的目录结构主界面实现BaseTabBar代码实现子页面实现路由跳转登录页面和主页面切换登录实现退出登录 序 项目基于…

Spark-环境启动

一、概览 从start-all.sh开始捋&#xff0c;一直捋到Master、Worker的启动并建立通信 二、宏观描述 Master端 1、start-all.sh调用start-master.sh启动Master 2、执行org.apache.spark.deploy.master.Master中main方法 3、通过工厂模式创建RpcEnv子类NettyRpcEnv a、创建…

viper配置文件读取管理库 一个支持12种文件类型,5种远程协议的配置文件管理和加载工具库 使用方法示例

viper是一个不错的配置文件管理库&#xff0c; 他支持的配置文件类型依次有 "json", "toml", "yaml", "yml", "properties", "props", "prop", "hcl", "tfvars", "dotenv&quo…

java:实现简单的验证码功能

效果 实现思路 验证码图片的url由后端的一个Controller生成&#xff0c;前端请求这个Controller接口的时候根据当前时间生成一个uuid&#xff0c;并把这个uuid在前端使用localStorage缓存起来&#xff0c;下一次还是从缓存中获取。 Controller生成验证码之后&#xff0c;把前…

Qt 学习第六天:页面布局

如何设计页面&#xff1f; 有个类似沙盒模式的玩法&#xff0c;Qt Widget Designer可以更好的帮助我们设计页面 点击.ui文件进入 右上方可以看到四种常见的布局&#xff1a; 四种布局 &#xff08;一&#xff09;水平布局horizontalLayout&#xff1a;QHBoxLayout H 是 hori…

c++实现B树(上)

哈喽啊&#xff01;好久不见&#xff0c;甚是想念&#xff01;失踪人口要回归了&#xff0c;时隔一个多月小吉我终于要更新blog了&#x1f389;。在停更的一个多月中&#xff0c;小吉也有在好好学习提升自己&#xff0c;立志给大家呈现好文章。  现在让我们进入正题吧&#xf…

初识C++:开启C++之旅

目录 1.C的第一个程序 2.namesapce命名空间域 2.1namespace的意义 2.2.2namespace的定义 2.3命名空间的使用 3.C输入/输出 4.缺省参数 5.函数重载 6.引用 6.1引用的特性 6.2引用的使用 1.C的第一个程序 c版本&#xff1a; #include<iostream>using std::cout…

kali安装wechart

前言&#xff1a; 突发奇想想在kali安装个wechart&#xff0c;试了下网上的很多&#xff0c;玩坏了一个虚拟机算是找到了一个不错的方法&#xff0c;这里记录下&#xff0c;防迷路 基础配置&#xff1a; 首先修改源&#xff1a; vim /etc/apt/sources.list 注释默认配置&…

EasyCVR视频汇聚平台:打造全栈视频监控系统的基石,解锁可视化管理与高效运维

随着科技的飞速发展&#xff0c;视频监控已成为现代社会不可或缺的一部分&#xff0c;广泛应用于社区、公共场所、工业领域等多个场景。EasyCVR视频汇聚平台&#xff0c;作为一款高性能的视频汇聚管理平台&#xff0c;凭借其强大的视频处理、汇聚与融合能力&#xff0c;在构建全…

centos8 安装zookeeper

1&#xff1a;下载 zookeeper官网 解压&#xff1a;tar -zxvf apache-zookeeper-3.6.3.tar.gz 修改自己想要的文件目录 mv apache-zookeeper-3.6.3 zookeeper_3.6.3 备份一下 配置文件 cp zoo_sample.cfg zoo.cfg vim zoo.cfg 编辑日志文件和端口号

nginx实战演练

目录 一.Nginx架构和安装&#xff08;未完待续&#xff09; <1>.Nginx概述 <2>.Nginx架构和进程 <3>.Nginx模块 <4>.Nginx安装(编译安装) 二.Nginx基础配置 <1>.关闭debug <2>.将nginx软件添加到环境变量 <3>.开机自启动脚…