【MySQL】初始MySQL、库与表的操作
目录
基本使用
使用案例
SQL分类
存储引擎
库的操作
字符集和校验规则
查看系统默认字符集和校验规则
查看数据库支持的字符集
查看数据库支持的字符集校验规则
指定编码常见数据库
校验规则对数据库的影响
操纵数据库
库的备份与恢复
表的操作
创建表
查看表
修改表
删除表
基本使用
连接服务器
mysql -h 127.0.0.1 -P 3306 -u root -p
- -h:指明登录部署了mysql的主机;
- -P:指明我们要访问的端口号
- -u:指明登录用户;
- -p:指明需要输入密码。
什么是数据库
mysql--数据库服务的客户端,mysqld--数据库服务的服务器端(带d表明是一种守护进程),mysql本质是基于C(mysql)和S(mysqld)模式的网络服务,
mysql既然是一种网络服务,就要绑定端口号,默认是3306。mysql是一套给我提供数据存取的服务的网络程序。数据库一般指在磁盘或者内存中存储的特定结构组织的数据(将来在磁盘上存储的一套数据库方案)。数据库服务特指mysqld。
存储数据用文件就行了,为什么还要有数据库?
一般文件确实提供了数据的存储功能,但是文件并没有提供非常好的数据管理能力(用户角度)。
数据库本质:对数据内容存储的一套解决方案,你给我字段或要求,我(数据库)给你直接返回结果。
文件保存有如下缺点:
- 文件的安全性问题;
- 文件不利于数据查询和管理;
- 文件不利于存储海量数据;
- 文件在程序控制中不方便。
使用案例
- 创建数据库
create database helloworld;
建立数据库,本质就是linux下的一个目录。
- 使用数据库
use helloworld;
- 创建数据库表
create table student(id int,name varchar(32),gender varchar(32)
);
在数据库内建立表,本质就是在Linux下创建对应的文件即可!
- 表中插入数据
insert into student (name, age, gender) values ('姓名',20,'男');
- 查询表中数据
select * from student;
这个工作实际上是mysqld帮我们做的。数据库本质也是文件,只不过这些文件并不由程序员直接操作,而是由数据库服务帮我们进行操作。
服务器,数据库,表关系
数据逻辑存储
SQL分类
- DDL,数据定义语言,用来维护存储数据的结构代表指令:create、drop、alter;
- DML,数据操纵语言,用来对数据进行操作的代表指令:insert、delete、update;其中还包括数据查询语言,代表指令select;
- DCL,数据控制语言,主要负责权限管理和事务代表指令:grant,revoke、commit。
存储引擎
存储引擎是:数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。其中,最常用的是InnoDB和MylSAM。
库的操作
- 创建数据库:create database db_name; -- 本质就是在/var/lib/mysql创建一个目录
- 删除数据库:drop database db_name; -- 删除目录
字符集和校验规则
创建数据库的时候,有两个编码集:
- 数据库编码集:数据库未来存储数据;
- 数据库校验集:支持数据库,进行字段比较使用的编码,本质也是一种读取数据库中数据所采用的编码格式。
数据库无论对数据做任何操作,都必须保证操作和编码必须是编码一致的!
查看系统默认字符集和校验规则
show variables like 'character_set_database';
show variables like 'collation_database';
查看数据库支持的字符集
show charset;
查看数据库支持的字符集校验规则
show collation;
指定编码常见数据库
1.创建名为d1的数据库,当没有指定字符集和校验规则时,系统默认采用默认字符集:utf8,校验规则:utf8_general_ci;
create database d1;
2.创建一个使用utf8字符集的d2数据库;
create database d2 charset=utf8;
3.创建一个utf8字符集,并指定检验集utf8_general_ci(这种不区分大小写)的d3数据库
create database d3 charset=utf8 collate utf8_general_ci;
校验规则对数据库的影响
- 不区分大小写:校验规则使用utf8_general_ci;
- 区分大小写:校验规则使用utf8_bin;
采用哪种校验规则,会对查询结果或排序结果有影响。
操纵数据库
数据库删除
drop database [if exists] db_name;
在执行删除数据库操作后,里面的数据表都会被删除,所以,不要随意删除数据库,最好做备份再删除。
查看数据库
show database;
显示创建语句
show create database db_name;
查看当前在哪个数据库
select database();
修改数据库
alter database db_name charset=gbk collate gbk_chinese_ci;
对数据库的修改主要是修改数据库的字符集和校验规则。
库的备份与恢复
备份
mysqldump -P3306 -u root -p 密码 数据库名 > 数据库备份存储的文件路径;
例如,我们将数据库test备份,形成test.sql,test.sql中其实是我们整个创建数据库,建表,导入数据的语句都放在这个文件中。
还原
source 文件路径;
注意:
- 如果备份的是数据库中的一张表,那么这样做:
mysqldump -u root -p 数据库名 表名1 表名2 > 路径
- 同时备份多个数据库
mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径
- 如果备份一个数据库时,没有带上-B参数,在恢复数据库时,需要先创建空数据库(可以换成别的名字),然后使用数据库,再使用source还原。
查看连接情况
show processlist;
可以告诉当前有哪些用户连接到我们的MySQL,这可以帮助我们看有没有异常用户,是不是数据库被入侵了。
表的操作
创建表
create table table_name(field1 datatype,field2 datatype,field3 datatype
)character set 字符集 collate 校验规则 engine 存储引擎;
其中,field表示列名,datatype表示列的类型,character set表示字符集,如果没有指定字符集,则以所在数据库的校验规则为准;collate校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准。
下面创建一个表实例:
创建表的存储引擎是InnoDB。
存储引擎是MyIsam。(在当前云服务器上,要使用utf8mb4而不能utf8)
不同的存储引擎,创建表的文件不一样。
查看表
查看表结构
desc 表名;
查看表的更详细信息
加\G可以清晰看到主要字段。
修改表
修改表名
关于表的修改,我们需要有表的增加列,删除列,修改列,修改表名字,修改列名字等。
alter table user1 rename to user;
案例:
- 先向表中插入两条记录:
insert into user values(1, '张三', '123456', '1');
insert into user values(1, '李四', '54321', '2');
- 在user中添加一个字段,用于保存图片路径
mysql> alter table user add image_path varchar(200) comment '这个是图片路径' after sex;
- 修改name,将其长度修改为60,
修改的结果是,把原来name所有的属性用新设置的属性全都覆盖掉了。
- 删除password列
注意,删除字段及其对应的列数据全都没了。
- 修改表名为User
其中,to可以省略。
- 修改表中某一列的名称。
alter table User change name xingming varchar(60) COLLATE utf8mb4_general_ci DEFAULT NULL;
其中,新名称xingming后面必须加上对应的属性(可以通过show create table User;查询)。
删除表
温馨提示:不要轻易修改表名字以及列名字,如果一改,那上层所有都得改。
相关文章:

【MySQL】初始MySQL、库与表的操作
目录 基本使用 使用案例 SQL分类 存储引擎 库的操作 字符集和校验规则 查看系统默认字符集和校验规则 查看数据库支持的字符集 查看数据库支持的字符集校验规则 指定编码常见数据库 校验规则对数据库的影响 操纵数据库 库的备份与恢复 表的操作 创建表 查看表 …...

将DeepSeek接入Word,打造AI办公助手
最近,DeepSeek热度一路高涨,成为AI领域的焦点。通过开放的API,我们可以将DeepSeek接入Word,直接进行AI对话。更进一步,还能利用DeepSeek辅助修改文档,甚至提出一些排版建议。 Word报告工具已经新增“DeepS…...

Coze,Dify,FastGPT,对比
在当今 AI 技术迅速发展的背景下,AI Agent 智能体成为了关键领域,Coze、Dify 和 FastGPT 作为其中的佼佼者,各有千秋。 平台介绍 - FastGPT:由环界云计算公司发起,是基于大语言模型(LLM)的开源…...

Kafka 日志存储 — 磁盘存储
Kafka 依赖与磁盘来存储和缓存消息,采用文件追加的方式来写入消息。顺序写盘的速度快于随机写内存。 1 磁盘存储 除顺序写入外,Kafka中大量使用了页缓存、零拷贝等技术来进一步提升吞吐性能。 1.1 页缓存 页缓存是操作系统实现的一种磁盘缓存&#x…...

996引擎 - NPC-添加NPC引擎自带形象
996引擎 - NPC-添加NPC引擎自带形象 截图参考添加NPC参考资料截图参考 添加NPC 编辑NPC表:Envir\DATA\cfg_npclist.xls 1.1. 需要临时隐藏NPC时可以在id前加 // 1.2. 如果NPC朝向不对,可以调整dir 列。(按8方向,上是0顺时针数。我这里给的4) 1.3. 形象代码:NPC代码、怪物…...

GL C++显示相机YUV视频数据使用帧缓冲FBO后期处理,实现滤镜功能。
一.前言: GitHub地址:GitHub - wangyongyao1989/WyFFmpeg: 音视频相关基础实现 系列文章: 1. OpenGL Texture C 预览Camera视频; 2. OpenGL Texture C Camera Filter滤镜; 3. OpenGL 自定义SurfaceView Texture C预览Camera视…...

【hot100】刷题记录(7)-除自身数组以外的乘积
题目描述: 给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#x…...

解决.NET程序通过网盘传到Linux和macOS不能运行的问题
问题描述:.net程序用U盘传到虚拟机macOS和Linux可以正常运行,但是网盘传过去就不行。 解决方法: 这是文件权限的问题。当你通过U盘将文件传输到虚拟机的macOS和Linux系统时,文件的权限和所有权可能得到了保留或正确设置。但如果…...

练习(复习)
大家好,今天我们来做几道简单的选择题目来巩固一下最近学习的知识,以便我们接下来更好的学习。 这道题比较简单,我们前面学过,在Java中,一个类只能继承一个父类,但是一个父类可以有多个子类,一个…...

Class2(2020):Shell基础(二)——Shell脚本设计基础
本系列博客为MIT的《Missing in CS Class》的课程笔记。 Class2(2020):Shell基础(二)——Shell脚本设计基础 注:若无特殊说明,本文中带有[]的部分均为可选参数。 脚本文件 脚本语言为解释执行,其运行需有解释器,如Python。Shel…...

HBase-2.5.10 伪分布式环境搭建【Mac】
文章目录 前言一、搭建单节点Zookeeper1. 解压zookeeper2. 配置环境变量3. 修改配置文件4. 启动zk 二、搭建伪分布式Hbase1. 解压hbase2. 配置环境变量3. 修改配置4. 启动HBase 前言 搭建hbase伪分布式环境 提示:以下是本篇文章正文内容,下面案例仅供参…...

计算机毕业设计Python+CNN卷积神经网络高考推荐系统 高考分数线预测 高考爬虫 协同过滤推荐算法 Vue.js Django Hadoop 大数据毕设
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...

macos的图标过大,这是因为有自己的设计规范
苹果官方链接:App 图标 | Apple Developer Documentation 这个在官方文档里有说明,并且提供了sketch 和 ps 的模板。 figma还提供了模板: Figma...

2025_1_29 C语言学习中关于指针
1. 指针 指针就是存储的变量的地址,指针变量就是指针的变量。 1.1 空指针 当定义一个指针没有明确指向内容时,就可以将他设置为空指针 int* p NULL;这样对空指针的操作就会使程序崩溃而不会导致出现未定义行为,因为程序崩溃是宏观的&…...

解决ImportError: cannot import name ‘notf‘
解决ImportError: cannot import name ‘notf‘ 报错: 报错代码: from torch.utils.tensorboard import SummaryWriter cannot import name notf from tensorboard.compat 解决方法: pip install numpy1.26.0 测试代码: py…...

HTML<label>标签
例子 三个带标签的单选按钮: <form action"/action_page.php"> <input type"radio" id"html" name"fav_language" value"HTML"> <label for"html">HTML</label><br&…...

shiro学习五:使用springboot整合shiro。在前面学习四的基础上,增加shiro的缓存机制,源码讲解:认证缓存、授权缓存。
文章目录 前言1. 直接上代码最后在讲解1.1 新增的pom依赖1.2 RedisCache.java1.3 RedisCacheManager.java1.4 jwt的三个类1.5 ShiroConfig.java新增Bean 2. 源码讲解。2.1 shiro 缓存的代码流程。2.2 缓存流程2.2.1 认证和授权简述2.2.2 AuthenticatingRealm.getAuthentication…...

大数据Hadoop入门1
目录 相关资料 第一部分 1.课程内容大纲和学习目标 2.数据分析和企业数据分析方向 3.数据分析基本流程步骤 4.大数据时代 5.分布式和集群 6.Linux操作系统概述 7.VMware虚拟机概念与安装 8.centos操作系统的虚拟机导入 9.VMware虚拟机常规使用、快照 第二部分 1.课…...

《智能家居“孤岛危机”:设备孤立如何拖垮系统优化后腿》
在科技飞速发展的今天,智能家居不再是遥不可及的概念,它正逐渐走进千家万户,为我们描绘出舒适便捷的未来生活蓝图。想象一下,下班回家前,你可以通过手机远程开启空调,让室内温度恰到好处;到家时…...

DeepSeek介绍及使用ollama本地化部署DeepSeek-R1大模型
DeepSeek 中文名深度求索人工智能基础技术研究有限公司(简称“深度求索”或“DeepSeek”),成立于2023年,是一家专注于实现AGI的中国公司。 在本月初推出 DeepSeek-R1后,该公司宣称其在执行数学、编码和自然语言推理等任务时“性能可与OpenAI…...

网络安全攻防实战:从基础防护到高级对抗
📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 引言 在信息化时代,网络安全已经成为企业、政府和个人必须重视的问题。从数据泄露到勒索软件攻击,每一次…...

9【如何面对他人学习和生活中的刁难】
我们在学习的过程中,会遇到很多来自于他人的刁难与嘲讽,如果处理不好,这会大大影响我们的心情,从而影响学习的效率 我建议,如果你学习或生活中也遇到了类似的问题,不要去生气,更不要发生冲突&a…...

kafka消费者详细介绍(超级详细)
文章目录 一、Kafka 消费者与消费者组1.1 Kafka 消费者(Consumer)概述1.1.1 消费者工作流程1.1.2 消费者的关键配置 1.2 Kafka 消费者组(Consumer Group)概述1.2.1 消费者组的工作原理1.2.2 消费者组的优点1.2.3 消费者组的再均衡…...

数据结构选讲 (更新中)
参考 smWCDay7 数据结构选讲2 by yyc 。 可能会补充的: AT_cf17_final_j TreeMST 的 F2 Boruvka算法 目录 AT_cf17_final_j Tree MST AT_cf17_final_j Tree MST link 题意 给定一棵 n n n 个点的树,点有点权 w i w_i wi,边有边权。建立…...

OpenBMC:简介
通常在服务器主板上,有一个独立的微处理器,叫作BMC(Baseboard Manager Controller),用于与主机(host)进行通信,提供带外的方式查询服务器的状态和信息,并进行管理服务器。 OpenBMC是Linux Foundation的开源BMC项目&am…...

java 正则表达式匹配Matcher 类
Matcher 类 用法 在 Java 中,Matcher 类是用于匹配正则表达式的工具,而 group() 方法是 Matcher 类中的一个重要方法,用于提取匹配结果中的捕获组(captured groups)。以下是对 group() 方法的详细解释: 1.…...

【HarmonyOS之旅】基于ArkTS开发(三) -> 兼容JS的类Web开发(三)
目录 1 -> 生命周期 1.1 -> 应用生命周期 1.2 -> 页面生命周期 2 -> 资源限定与访问 2.1 -> 资源限定词 2.2 -> 资源限定词的命名要求 2.3 -> 限定词与设备状态的匹配规则 2.4 -> 引用JS模块内resources资源 3 -> 多语言支持 3.1 -> 定…...

CSS(快速入门)
欢迎大家来到我的博客~欢迎大家对我的博客提出指导,有错误的地方会改进的哦~点击这里了解更多内容 目录 一、什么是CSS?二、基本语法规范三、CSS选择器3.1 标签选择器3.2 id选择器3.3 class选择器3.4 通配符选择器3.5 复合选择器 四、常用CSS样式4.1 color4.2 font…...

使用 concurrently 实现前后端一键启动
使用 concurrently 实现前后端一键启动 本文适合: 前后端分离项目(如 React Node.js),希望通过一条命令同时启动前端和后端服务。 工具链: Node.js、npm、concurrently。 耗时: 3 分钟。 文章目录 使用 c…...

常见端口的攻击思路
端口号端口说明攻击方向21/22/69FTP/TFTP文件传输协议匿名上传/下载、嗅探、爆破2049NFS服务配置不当139Sanba服务爆破、远程代码执行389Ldap目录访问协议注入、匿名访问、弱口令22SSH远程连接爆破、SSH映射隧道搭建、文件传输23Telnet远程连接爆破、嗅探、弱口令3389RDP远程桌…...