【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分类 存储引擎 库的操作 字符集和校验规则 查看系统默认字符集和校验规则 查看数据库支持的字符集 查看数据库支持的字符集校验规则 指定编码常见数据库 校验规则对数据库的影响 操纵数据库 库的备份与恢复 表的操作 创建表 查看表 …...
信息学奥赛一本通 1342:【例4-1】最短路径问题
【题目描述】 平面上有n个点(n<100),每个点的坐标均在-10000~10000之间。其中的一些点之间有连线。 若有连线,则表示可从一个点到达另一个点,即两点间有通路,通路的距离为两点间的直线距离。现在的任务是…...
芯片AI深度实战:基础篇之langchain
基于ollama, langchain,可以构建一个自己的知识库,比如这个 Build Your Own RAG App: A Step-by-Step Guide to Setup LLM locally using Ollama, Python, and ChromaDB | HackerNoon 这是因为: 以上范例就实现了这样一个流程: 系列文章&…...
Autogen_core 测试代码:test_cache_store.py
目录 原始代码测试代码代码中用到的typing注解 原始代码 from typing import Dict, Generic, Optional, Protocol, TypeVarT TypeVar("T")class CacheStore(Protocol, Generic[T]):"""This protocol defines the basic interface for store/cache o…...
AI大模型开发原理篇-1:语言模型雏形之N-Gram模型
N-Gram模型概念 N-Gram模型是一种基于统计的语言模型,用于预测文本中某个词语的出现概率。它通过分析一个词语序列中前面N-1个词的出现频率来预测下一个词的出现。具体来说,N-Gram模型通过将文本切分为长度为N的词序列来进行建模。 注意:这…...
Haproxy入门学习二
一、Haproxy的算法 1.haproxy通过固定参数balance指明对后端服务器的调度算法,其中balance参数可以配置在listen或backend选项中 2.haproxy的调度算法分为静态和动态调度算法,其中有些算法可以根据参数在静态和动态算法中相互转换 3.静态算法:…...
【C++题解】1014. 编程求1+1/2+1/3+...+1/n
问题:1014. 编程求11/21/3…1/n 类型:简单循环 题目描述: 编程求 11/21/3⋯1/n 。 输入: 输入一行,只有一个整数 n(1≤n≤200) 。 输出: 输出只有一行(这意味着末尾有一个回车符号&#x…...
Java基础知识-第14章-Java注解
1、注解(Annotation)概述 从JDK5.0开始,Java增加了对元数据(MetaData) 的支持,也就是Annotation(注解)Annotation其实就是代码里的特殊标记,这些标记可以在编译,类加载,运行时被读取,并执行相应的处理。通…...
python算法和数据结构刷题[1]:数组、矩阵、字符串
一画图二伪代码三写代码 LeetCode必刷100题:一份来自面试官的算法地图(题解持续更新中)-CSDN博客 算法通关手册(LeetCode) | 算法通关手册(LeetCode) (itcharge.cn) 面试经典 150 题 - 学习计…...
【javaweb项目idea版】蛋糕商城(可复用成其他商城项目)
该项目虽然是蛋糕商城项目,但是可以复用成其他商城项目或者购物车项目 想要源码的uu可点赞后私聊 技术栈 主要为:javawebservletmvcc3p0idea运行 功能模块 主要分为用户模块和后台管理员模块 具有商城购物的完整功能 基础模块 登录注册个人信息编辑…...
人格分裂(交互问答)-小白想懂Elasticsearch
通过交互式追问了解一个中间件 ? 啥是Elasticsearch ! 分布式搜索和分析引擎 ? 为啥是分布式搜索,单体难道用不了吗 ? 实际上是说这个东西可以分布式部署 ! 单机可用但扩展性差,分布式通过分片、副本和负载均衡实现海量数据存储与高并发处理 ? 提…...
独立开发者日刊 | Deepseek 统一多模态 AI Janus 开源 |语音秒变文章 | 免费 AI 视频答案引擎
独立开发者产品日刊,每日汇集 ProductHunt 热榜产品介绍,⚡️ 1句Slogan榨干产品灵魂,⚡️ 3秒 get 全球独立开发者的爆款灵感。关注小前,每日捕获全球产品灵感。 Jotform for Canva 标语:为 Canva 创建强大表单类别&a…...
1999-2020年 全国各地区-财政状况分析-一般预算收入-各项税收-个人所得税
1999-2020年 全国各地区-财政状况分析-一般预算收入-各项税收-个人所得税https://download.csdn.net/download/2401_84585615/89575946 https://download.csdn.net/download/2401_84585615/89575946 一般预算收入是指各级政府按照预算法规定,将预计取得的各项收入纳…...
基础项目实战——3D赛车(c++)
目录 前言一、渲染引擎二、关闭事件三、梯形绘制四、轨道绘制五、边缘绘制六、草坪绘制七、前后移动八、左右移动九、曲线轨道十、课山坡轨道十一、循环轨道十二、背景展示十三、引入速度十四、物品绘制十五、课数字路障十六、分数展示十七、重新生成十八、…...
AboutDialog组件的功能和用法
文章目录 1 概念介绍2 使用方法3 示例代码 我们在上一章回中介绍了AlertDialog Widget相关的内容,本章回中将介绍AboutDialog Widget.闲话休提,让我们一起Talk Flutter吧。 1 概念介绍 我们在这里说的AboutDialog是一种弹出式窗口,和上一章回中介绍的Al…...
hdfs之读写流程
写入流程: 客户端Client想将文件a.txt上传至hdfs,首先向Namenode发送请求进行权限校验,Namenode通过后会计算出来三个节点,并将这三个节点告知客户端,客户端将输入进行切割成块,一个一个的块进行传输&…...
链表的介绍
目录 引言优缺点与链表相似的数据结构注意事项单向链表的实现基础实现创建类创建成员变量创建特殊方法 增加数据push_back方法insert方法 删除数据del_back方法del_index方法 clear方法查询数据at方法与重载的中括号运算符toArray方法indexOf方法 修改数据获取链表大小测试方法…...
背着开发板回家过年~
大家好,我是bug菌~ 小明,过年了, 别再死磕什么STM32底层驱动、linux平台总线驱动框架、嵌入式实时操作系统源码这些了。 你背着电脑和开发板回家,压根没一点实际用处。 发小们潇洒地出入各种娱乐场所,唱着歌࿰…...
Kafka 日志存储 — 磁盘存储
Kafka 依赖与磁盘来存储和缓存消息,采用文件追加的方式来写入消息。顺序写盘的速度快于随机写内存。 1 磁盘存储 除顺序写入外,Kafka中大量使用了页缓存、零拷贝等技术来进一步提升吞吐性能。 1.1 页缓存 页缓存是操作系统实现的一种磁盘缓存&#x…...
【机器学习】自定义数据集 使用tensorflow框架实现逻辑回归并保存模型,然后保存模型后再加载模型进行预测
一、使用tensorflow框架实现逻辑回归 1. 数据部分: 首先自定义了一个简单的数据集,特征 X 是 100 个随机样本,每个样本一个特征,目标值 y 基于线性关系并添加了噪声。tensorflow框架不需要numpy 数组转换为相应的张量࿰…...
RK3568中使用QT opencv(显示基础图像)
文章目录 一、查看对应的开发环境是否有opencv的库二、QT使用opencv 一、查看对应的开发环境是否有opencv的库 在开发板中的/usr/lib目录下查看是否有opencv的库: 这里使用的是正点原子的ubuntu虚拟机,在他的虚拟机里面已经安装好了opencv的库。 二、…...
Brave132 编译指南 Windows 篇:获取源码(六)
1. 引言 在 Brave 浏览器 132 版本的编译过程中,获取源代码是至关重要的第一步。源代码包含了 Brave 浏览器的所有核心功能、特性和组件的实现细节,是深入理解、定制和优化 Brave 的基础。通过获取和管理源代码,开发者能够深入探索 Brave 的…...
解决 pip install 出现 error: subprocess-exited-with-error 错误的方法
解决 pip install 出现 error: subprocess-exited-with-error 错误的方法_pip安装报错 subprocess-CSDN博客文章浏览阅读10w次,点赞62次,收藏86次。通过上述步骤,我们成功解决了 pip install 时出现的 error: subprocess-exited-with-error 错…...
网络安全攻防实战:从基础防护到高级对抗
📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 引言 在信息化时代,网络安全已经成为企业、政府和个人必须重视的问题。从数据泄露到勒索软件攻击,每一次…...
DeepSeek大模型技术解析:从架构到应用的全面探索
一、引言 在人工智能领域,大模型的发展日新月异,其中DeepSeek大模型凭借其卓越的性能和广泛的应用场景,迅速成为业界的焦点。本文旨在深入剖析DeepSeek大模型的技术细节,从架构到应用进行全面探索,以期为读者提供一个…...
Deepseek的api调用报错乱码问题
最近的deepseek也是很火,但是在调用api的过程中也会出现一些大大小小的问题,所以这里也给出一种问题和他的解决方案,报错的类型如下图所示 API Streaming Failed Command failed with exit code 1: powershell (Get-CimInstance -ClassName W…...
.NET Core 中依赖注入的使用
ASP.NET Core中服务注入的地方 在ASP.NET Core项目中一般不需要自己创建ServiceCollection、IServiceProvider。在Program.cs的builder.Build()之前向builder.Services中注入。在Controller中可以通过构造方法注入服务。 低使用频率的服务 把Action用到的服务通过Action的参…...
Mysql Resultset 解析记录
Mysql Resultset 解析记录 结果集消息头字段定义结果数据完整spicy文件 结果集消息头 消息头由消息体长度消息序列号消息体组成;消息头长度为3字节,消息序列号长度为1字节。 结果集的消息头消息体内容为结果集的列数。 结果集消息头的spicy1格式如下&a…...
ThinkPhp伪静态设置后,访问静态资源也提示找不到Controller
ThinkPhp没有配置伪静态时,除了默认的IndexController能访问,其他路由Controller都访问不到,提示404错误。配置了伪静态后就解决了这个问题。 但是当我的ThinkPhp后台项目中有静态资源放在public目录(或子目录)中需要…...
【回溯+剪枝】找出所有子集的异或总和再求和 全排列Ⅱ
文章目录 1863. 找出所有子集的异或总和再求和解题思路:子集问题解法(回溯 剪枝)47. 全排列 II解题思路:排序 回溯 剪枝 1863. 找出所有子集的异或总和再求和 1863. 找出所有子集的异或总和再求和 一个数组的 异或总和 定义为…...
单细胞-第五节 多样本数据分析,打分R包AUCell
文件在单细胞\5_GC_py\1_single_cell\3.AUCell.Rmd 1.基因 rm(list = ls()) load("g.Rdata")2.AUCell https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9897923 IF: NA NA NA用这个文章里的方法,将单细胞亚群的marker基因与ros相关基因取交集,用作AUCell的基因集…...
锁升级过程与优化操作
前文我们学习了CAS自旋锁知道CAS对应的就是一条指令操作,属于一种轻量级锁,那么有轻必有重,从无锁到轻量级锁到重量级锁是一个升级过程,此文我们对锁升级的过程以及一些优化锁的操作一探究竟。 1. 锁升级 从前文 《程序员不可能不…...
android主题设置为..DarkActionBar.Bridge时自定义DatePicker选中日期颜色
安卓自定义DatePicker选中日期颜色 背景:解决方案:方案一:方案二:实践效果: 背景: 最近在尝试用原生安卓实现仿element-ui表单校验功能,其中的的选择日期涉及到安卓DatePicker组件的使用&#…...
Kafka常见问题之 `javax.management.InstanceAlreadyExistsException`
文章目录 Kafka常见问题之 javax.management.InstanceAlreadyExistsException1. 概述2. 常见原因3. 具体异常示例4. 解决方案4.1 确保单一 Kafka Producer 实例4.2 配置 Kafka Broker 和 Producer 使用唯一的 JMX 名称(对于Producer重点检查 client.id)4…...
数据分析系列--③RapidMiner算子说明及数据预处理
一、算子说明 1.新建过程 2.算子状态灯 状态灯说明: (1)状态指示灯: 红色:指示灯说明有参数未被设置或输入端口未被连接等问题; 黄色:指示灯说明还未执行算子,不管配置是否基本齐全; 绿色:指示灯说明一切正常,已成功执行算子。 (2)三角…...
Gradle配置指南:深入解析settings.gradle.kts(Kotlin DSL版)
文章目录 Gradle配置指南:深入解析settings.gradle.kts(Kotlin DSL版)settings.gradle.kts 基础配置选项单项目配置多项目配置 高级配置选项插件管理(Plugin Management)基础配置模板案例:Android项目标准配…...
专为课堂打造:宏碁推出三款全新耐用型 Chromebook
IT之家 1 月 25 日消息,宏碁(Acer)昨日(1 月 24 日)发布公告,针对教育市场,推出 Chromebook Spin 512 (R857T)、Chromebook Spin 511 (R757T) 和 Chromebook 511 (C737) 三款产品,兼…...
电商系统-用户认证(三)基于公钥解析JWT令牌
一、 基于私钥生成jwt令牌 步骤: 导入认证服务 将shangcheng_user_auth工程导入到项目中去,如下图 启动eureka,再启动认证服务 3) 认证服务中创建测试类 public class CreateJwtTest { /**** 创建令牌测试*/Testpublic voi…...
验证回文串
hello 大家好!今天开写一个新章节,每一天一道算法题。让我们一起来学习算法思维吧! function isPalindrome(s) {// 第一步:将字符串中的所有大写字符转换为小写字符s s.toLowerCase();// 第二步:使用正则表达式移除所…...
Java定时任务实现方案(四)——Spring Task
Spring Task 这篇笔记,我们要来介绍实现Java定时任务的第四个方案,使用Spring Task,以及该方案的优点和缺点。 Spring Task是Spring框架提供的一个轻量级任务调度框架,用于简化任务调度的开放,通过注解或XML配置的…...
Python 数据分析 - Matplotlib 绘图
Python 数据分析 - Matplotlib 绘图 简介绘图折线图单线多线子图 散点图直方图条形图纵置横置多条 饼图 简介 Matplotlib 是 Python 提供的一个绘图库,通过该库我们可以很容易的绘制出折线图、直方图、散点图、饼图等丰富的统计图,安装使用 pip install…...
深入探讨数据库索引类型:B-tree、Hash、GIN与GiST的对比与应用
title: 深入探讨数据库索引类型:B-tree、Hash、GIN与GiST的对比与应用 date: 2025/1/26 updated: 2025/1/26 author: cmdragon excerpt: 在现代数据库管理系统中,索引技术是提高查询性能的重要手段。当数据量不断增长时,如何快速、有效地访问这些数据成为了数据库设计的核…...
【Redis】hash 类型的介绍和常用命令
1. 介绍 Redis 中存储的 key-value 本身就是哈希表的结构,存储的 value 也可以是一个哈希表的结构 这里每一个 key 对应的一个 哈希类型用 field-value 来表示 2. 常用命令 命令 介绍 时间复杂度 hset key field value 用于设置哈希表 key 中字段 field 的值为…...
World Creator地形导入UE
修改导出分辨率1009x1009, 虚幻默认参数的整体分辨率是1009 导出预设选择高度图(heigh map)格式选择PNG 16位,或者RAW 16位,需要反转y轴(与虚幻不同),命名格式会自动带一个 , 将改成_ 或者删掉自己命名 &am…...
mybatis(104/134)
动态sql标签,用于选择查询 if标签 where标签 :自动生成where,取决于后面有没有条件,会自动去除条件前面的and和or,不会去除语句后面的 trim标签:自动生成where,在语句后自动去除后缀and和or for…...
制造企业的成本核算
一、生产成本与制造费用的区别 (1)生产成本,是直接用于产品生产,构成产品实体的材料成本。 包括企业在生产经营过程中实际消耗的原材料、辅助材料、备品备件、外购半成品、燃料、动力包装物以及其它直接材料,和直接参加产品生产的工人工资,以及按生产工人的工资总额和规…...
Windows中本地组策略编辑器gpedit.msc打不开/微软远程桌面无法复制粘贴
目录 背景 解决gpedit.msc打不开 解决复制粘贴 剪贴板的问题 启用远程桌面剪贴板与驱动器 重启RDP剪贴板监视程序 以上都不行?可能是操作被Win11系统阻止 最后 背景 远程桌面无法复制粘贴,需要查看下主机策略组设置,结果按WinR输入…...
详解排序算法
文章目录 1. 排序算法分类2. 比较排序算法介绍2.1 插入排序2.1.1 直接插入排序2.1.2 希尔排序 2.2 选择排序2.2.1 直接选择排序2.2.2 堆排序2.2.2.1 向下调整算法建堆2.2.2.2 向上调整算法建堆2.2.2.3 进行堆排序2.2.2.4 堆排序时间、空间复杂度分析2.2.2.5 利用堆排序解决TOP-…...
练习题 - Django 4.x File 文件上传使用示例和配置方法
在现代的 web 应用开发中,文件上传是一个常见的功能,无论是用户上传头像、上传文档,还是其他类型的文件,处理文件上传都是开发者必须掌握的技能之一。Django 作为一个流行的 Python web 框架,提供了便捷的文件上传功能和配置方法。学习如何在 Django 中实现文件上传,不仅…...
Vue 响应式渲染 - 待办事项简单实现
Vue 渐进式JavaScript 框架 基于Vue2的学习笔记 - Vue 响应式渲染 - 待办事项简单实现 目录 待办事项简单实现 页面初始化 双向绑定的指令 增加留言列表设置 增加删除按钮 最后优化 总结 待办事项简单实现 页面初始化 对页面进行vue的引入、创建输入框和按钮及实例化V…...