当前位置: 首页 > news >正文

MySQL数据库管理(一)

目录

1.MySQL数据库管理

1.1 常用的数据类型​编辑

1.2 char和varchar区别

2. 增删改查命令操作

2.1 查看数据库结构

2.2 SQL语言

2.3 创建及删除数据库和表

2.4 管理表中的数据记录

2.5 修改表名和表结构

3.MySQL的6大约束属性


1.MySQL数据库管理

1.1 常用的数据类型

1.2 char和varchar区别

CHAR和VARCHAR类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同,在存储或检索过程中不进行大小写转换。

下表显示了将各种字符串值保存到CHAR(4)和VARCHAR(4)列后的结果,说明了CHAR和VARCHAR之间的差别:

字节大小

char无论是否有值,都会占用固定长度的字节大小,保存在磁盘上都是4字节。
varchar在保存字符时,默认会加一个隐藏的结束符,因此结束符会多算一个字节。

优劣比较

varchar比char节省磁盘空间。
但varchar类型的数据读写速度比char慢,因为char是连续的磁盘空间,·而varchar在多次增删改查中会产生一些磁盘空间碎片。

2. 增删改查命令操作

mysql -u root -pabc123   #登录数据库

2.1 查看数据库结构

(1)查看当前的 MySQL 版本信息及连接用户名

SELECT VERSION();
SELECT USER();

(2) 查看数据库中包含的表

SHOW DATABASES;						#大小写不区分,分号“;”表示结束

(3) 查看数据库中包含的表

use 数据库名;   #切换库
show tables;    #查看库中的表
show tables from 数据库;     #不登录数据库,直接查看数据库中的表信息


(4)查看表的结构(字段)

use 数据库名;               #切换数据库
describe 表名               #查看数据库中的表结构信息
describe  数据库名.表名;    #不登录数据库,查看数据库中的表结构信息
可缩写成:desc 表名;



2.2 SQL语言

SQL语句用于维护管理数据库,包括数据查询、数据更新、访向控制、对象管理等功能.

SQL语言分类:

DDL: 数据定义语言,用于创建数据库对象,如库、表、索引等.

DML:数据操纵语言,用于对表中数据进行管理(增、删、改).

DQL:数据查询语言,用于从数据表中查找符合条件的数据记录.

DCL:数据控制语言,用于设置或者更改数据库用户或角色权限.

2.3 创建及删除数据库和表

(1)创建新的数据库

create database 数据库名;

(2)创建新的表

use  数据库名;
create table 表名 (字段1 数据类型,字段2 数据类型,.....,[primary key(设为主键的字段名)]);     #主键一般选择能代表唯一性的字段不允许取空值(NULL),一个表只能有一个主键

(3)删除指定的数据表

use  数据库名;
drop table [数据库名].表名;           #如不用use进入库中,则需加上数据库名
drop table 


(4)删除指定的数据库

drop  database 数据库名;

2.4 管理表中的数据记录

(1)向数据表中插入新的数据记录

INSERT INTO 表名(字段1,字段2[,...]) VALUES(字段1的值,字段2的值,...);

(2)查询数据记录

use xy101  #进入数据库
SELECT 字段名1,字段名2[,...] FROM 表名 [WHERE 条件表达式];
select * from xy102;
select name,age from xy102 where sex='男';
select * from xy102 where id>=2 and id<=3;
select * from xy102 where id=1 or id=3;
select * from xy102 limit 2;       #只显示头2行
select * from xy102 limit 1,2;    #显示第1行后的前2行(不包括第1行,也就是第2、3行)
select * from xy102\G      #以列表方式竖向显示,结尾没有分号,在Xshell中可以看到效果,在Navicat中无法实现







(3)修改、更新数据表中的数据记录

update 表名 set 字段名1=字段值1, [字段名2=字段值2]  [WHERE条件表达式1];
update xy102 set id=4 where age=24;

(3)在数据表中删除指定的数据记录

delete from 表名 [where条件表达式];
delete from xy102 where id=4;

2.5 修改表名和表结构

(1)修改表名

alter table 旧的表名 rename 新的表名
alter table xy101 rename xy110;

(2)扩展表结构(增加字段)

alter table 表名 add 字段 数据类型  default ' 默认值' ;
alter table xy110 add hobby varchar(40) default '和平';
#default '和平':表示此字段设置默认值,爱好不明,可与NOT NULL配合使用


(3)修改字段(列)名,唯一键

alter table 表名 change 旧列名 新列名 数据类型  [unique key];
alter table xy110 change age aage int(11) unique key;#unique key代表唯一键,不可以添加相同值,一张表可以有多个唯一值。

(4)删除字段

alter table 表名 drop 字段名;
alter table xy110 drop hobby;

(5)添加、删除约束属性

alter table xy110 drop primary key;
alter table xy110 add primary key(name);

3.MySQL的6大约束属性

not null:非空约束

auto_increment:自增约束

案例扩展:

use mybl;
create table if not exists info (				  #表示检测要创建的表是否已存在,如果不存在就继续创建。
id int(4) zerofill primary key auto_increment,    #指定主键的第二种方式。其中int(4) zerofill表示若数值不满4位数,则前面用"0"填充,例如0001。
name varchar(10) not null default '匿名',
cardid int(18) not null unique key,
hobby varchar(50));

注意: int(N) 需要和zerofill primary配合使用,否则N的值没有意义

相关文章:

MySQL数据库管理(一)

目录 1.MySQL数据库管理 1.1 常用的数据类型​编辑 1.2 char和varchar区别 2. 增删改查命令操作 2.1 查看数据库结构 2.2 SQL语言 2.3 创建及删除数据库和表 2.4 管理表中的数据记录 2.5 修改表名和表结构 3.MySQL的6大约束属性 1.MySQL数据库管理 1.1 常用的数据类…...

Kafka使用教程和案例详解

Kafka 使用教程和案例详解 Kafka 使用教程和案例详解1. Kafka 基本概念1.1 Kafka 是什么?1.2 核心组件2. Kafka 安装与配置2.1 安装 Kafka使用包管理器(如 yum)安装使用 Docker 安装2.2 配置 Kafka2.3 启动 Kafka3. Kafka 使用教程3.1 创建主题3.2 生产消息3.3 消费消息3.4 …...

TGI模型- 同期群-评论文本

用户偏好分析 TGI 1.1 用户偏好分析介绍 要分析的目标&#xff0c;在目标群体中的均值 和 全部群体里的均值进行比较&#xff0c; 差的越多说明 目标群体偏好越明显 TGI&#xff08;Target Group Index&#xff0c;目标群体指数&#xff09;用于反映目标群体在特定研究范围内…...

ESP32 BLE学习(0) — 基础架构

前言 &#xff08;1&#xff09;学习本文之前&#xff0c;需要先了解一下蓝牙的基本概念&#xff1a;BLE学习笔记&#xff08;0.0&#xff09; —— 基础概念&#xff08;0&#xff09; &#xff08;2&#xff09; 学习一款芯片的蓝牙肯定需要先简单了解一下该芯片的体系结构&a…...

【JAVA】Java中Spring Boot如何设置全局的BusinessException

文章目录 前言一、函数解释二、代码实现三、总结 前言 在Java应用开发中&#xff0c;我们常常需要读取配置文件。Spring Boot提供了一种方便的方式来读取配置。在本文中&#xff0c;我们将探讨如何在Spring Boot中使用Value和ConfigurationProperties注解来读取配置。 一、函数…...

pdf.js实现web h5预览pdf文件(兼容低版本浏览器)

注意 使用的是pdf.js 版本为 v2.16.105。因为新版本 兼容性不太好&#xff0c;部分手机预览不了&#xff0c;所以采用v2版本。 相关依赖 "canvas": "^2.11.2", "pdfjs-dist": "^2.16.105", "core-js-pure": "^3.37.…...

SSID简介

一、 SSID 概念定义 SSID&#xff08;Service Set Identifier&#xff09;即服务集标识符。它是无线网络中的一个重要标识&#xff0c;用于区分不同的无线网络。 相当于无线网络的名称&#xff0c;用于区分不同的无线网络。用户在众多可用网络中识别和选择特定网络的依据。通…...

PS通过GTX实现SFP网络通信1

将 PS ENET1 的 GMII 接口和 MDIO 接口 通过 EMIO 方 式引出。在 PL 端将引出的 GMII 接口和 MDIO 接口与 IP 核 1G/2.5G Ethernet PCS/PMA or SGMII 连接&#xff0c; 1G/2.5G Ethernet PCS/PMA or SGMII 通过高速串行收发器 GTX 与 MIZ7035/7100 开发…...

前端面试项目细节重难点(已工作|做分享)(九)

面试官&#xff1a;请你讲讲你在工作中如何开发一个新需求&#xff0c;你的整个开发过程是什么样的&#xff1f; 答&#xff1a;仔细想想&#xff0c;我开发新需求的过程如下&#xff1a; &#xff08;1&#xff09;第一步&#xff1a;理解需求文档&#xff1a; 首先&#x…...

区间预测 | Matlab实现BP-ABKDE的BP神经网络自适应带宽核密度估计多变量回归区间预测

区间预测 | Matlab实现BP-ABKDE的BP神经网络自适应带宽核密度估计多变量回归区间预测 目录 区间预测 | Matlab实现BP-ABKDE的BP神经网络自适应带宽核密度估计多变量回归区间预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现BP-ABKDE的BP神经网络自适应带…...

抢占人工智能行业红利,前阿里巴巴产品专家带你15天入门AI产品经理

前言 当互联网行业巨头纷纷布局人工智能&#xff0c;国家将人工智能上升为国家战略&#xff0c;藤校核心课程涉足人工智能…人工智能领域蕴含着巨大潜力&#xff0c;早已成为业内共识。 面对极大的行业空缺&#xff0c;不少人都希望能抢占行业红利期&#xff0c;进入AI领域。…...

MEMS:Lecture 16 Gyros

陀螺仪原理 A classic spinning gyroscope measures the rotation rate by utilizing the conservation of angular momentum. 经典旋转陀螺仪通过利用角动量守恒来测量旋转速率。 Coriolis Effect and Coriolis Force 科里奥利效应是一种出现在旋转参考系中的现象。它描述了…...

Java中List流式转换为Map的终极指南

哈喽&#xff0c;大家好&#xff0c;我是木头左&#xff01; 在Java编程中&#xff0c;经常需要将一个List对象转换为另一个Map对象。这可能是因为需要根据List中的元素的某些属性来创建一个新的键值对集合。在本文中&#xff0c;我将向您展示如何使用Java 中的流式API轻松地实…...

【秋招突围】2024届秋招笔试-小红书笔试题-第一套-三语言题解(Java/Cpp/Python)

&#x1f36d; 大家好这里是清隆学长 &#xff0c;一枚热爱算法的程序员 ✨ 本系计划跟新各公司春秋招的笔试题 &#x1f4bb; ACM银牌&#x1f948;| 多次AK大厂笔试 &#xff5c; 编程一对一辅导 &#x1f44f; 感谢大家的订阅➕ 和 喜欢&#x1f497; &#x1f4e7; 清隆这边…...

HAL库开发--STM32的HAL环境搭建

知不足而奋进 望远山而前行 目录 文章目录 前言 下载 安装 解压 安装 添加开发包 修改仓库路径 下载软件开发包&#xff08;慢&#xff0c;不推荐&#xff09; 解压已有软件开发包&#xff08;快&#xff0c;推荐&#xff09; 总结 前言 在嵌入式系统开发中&#x…...

【DPDK学习路径】七、创建RX/TX队列

上一节我们讲述了如何申请内存池缓冲区以便接下来创建 RX 队列&#xff0c;这一节我们将给出具体如何创建 RX/TX 队列。 在 DPDK 中提供了 rte_eth_rx_queue_setup 及 rte_eth_tx_queue_setup 这两个接口用于接收/发送队列的创建。 下面给出一个为各个网卡创建RX/TX 队列的实例…...

【ArcGISProSDK】OpenItemDialog打开文件对话框

打开单个文件 效果 代码 public async void OpenFunction() {// 获取默认数据库var gdbPath Project.Current.DefaultGeodatabasePath;OpenItemDialog openItemDialog new OpenItemDialog() { Title "打开要素文件",InitialLocation gdbPath,Filter ItemFilte…...

TensorFlow2.x基础与mnist手写数字识别示例

文章目录 Github官网文档Playground安装声明张量常量变量 张量计算张量数据类型转换张量数据维度转换ReLU 函数Softmax 函数卷积神经网络训练模型测试模型数据集保存目录显示每层网络的结果 TensorFlow 是一个开源的深度学习框架&#xff0c;由 Google Brain 团队开发和维护。它…...

大数据开发语言Scala入门

Scala是一种多范式编程语言&#xff0c;它集成了面向对象编程和函数式编程的特性。Scala运行在Java虚拟机上&#xff0c;并且可以与Java代码无缝交互&#xff0c;这使得它成为大数据处理和分析领域中非常受欢迎的语言&#xff0c;尤其是在使用Apache Spark这样的框架时。 Scal…...

【CDN】逆天 CDN !BootCDN 向 JS 文件中植入恶意代码

今天在调试代码&#xff0c;突然控制台出现了非常多报错。 这非常可疑&#xff0c;报错指向的域名也证实了这一点。 因为我的 HTML 中只有一个外部开源库&#xff08;qrcode.min.js&#xff09;&#xff0c;因此只有可能是它出现了问题。 我翻看了请求记录&#xff0c;发现这…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码&#xff0c;写上注释 当然可以&#xff01;这段代码是 Qt …...

Linux-07 ubuntu 的 chrome 启动不了

文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了&#xff0c;报错如下四、启动不了&#xff0c;解决如下 总结 问题原因 在应用中可以看到chrome&#xff0c;但是打不开(说明&#xff1a;原来的ubuntu系统出问题了&#xff0c;这个是备用的硬盘&a…...

LLM基础1_语言模型如何处理文本

基于GitHub项目&#xff1a;https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken&#xff1a;OpenAI开发的专业"分词器" torch&#xff1a;Facebook开发的强力计算引擎&#xff0c;相当于超级计算器 理解词嵌入&#xff1a;给词语画"…...

前端开发面试题总结-JavaScript篇(一)

文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包&#xff08;Closure&#xff09;&#xff1f;闭包有什么应用场景和潜在问题&#xff1f;2.解释 JavaScript 的作用域链&#xff08;Scope Chain&#xff09; 二、原型与继承3.原型链是什么&#xff1f;如何实现继承&a…...

GraphQL 实战篇:Apollo Client 配置与缓存

GraphQL 实战篇&#xff1a;Apollo Client 配置与缓存 上一篇&#xff1a;GraphQL 入门篇&#xff1a;基础查询语法 依旧和上一篇的笔记一样&#xff0c;主实操&#xff0c;没啥过多的细节讲解&#xff0c;代码具体在&#xff1a; https://github.com/GoldenaArcher/graphql…...

sshd代码修改banner

sshd服务连接之后会收到字符串&#xff1a; SSH-2.0-OpenSSH_9.5 容易被hacker识别此服务为sshd服务。 是否可以通过修改此banner达到让人无法识别此服务的目的呢&#xff1f; 不能。因为这是写的SSH的协议中的。 也就是协议规定了banner必须这么写。 SSH- 开头&#xff0c…...

如何通过git命令查看项目连接的仓库地址?

要通过 Git 命令查看项目连接的仓库地址&#xff0c;您可以使用以下几种方法&#xff1a; 1. 查看所有远程仓库地址 使用 git remote -v 命令&#xff0c;它会显示项目中配置的所有远程仓库及其对应的 URL&#xff1a; git remote -v输出示例&#xff1a; origin https://…...

【阅读笔记】MemOS: 大语言模型内存增强生成操作系统

核心速览 研究背景 ​​研究问题​​&#xff1a;这篇文章要解决的问题是当前大型语言模型&#xff08;LLMs&#xff09;在处理内存方面的局限性。LLMs虽然在语言感知和生成方面表现出色&#xff0c;但缺乏统一的、结构化的内存架构。现有的方法如检索增强生成&#xff08;RA…...

【工具教程】多个条形码识别用条码内容对图片重命名,批量PDF条形码识别后用条码内容批量改名,使用教程及注意事项

一、条形码识别改名使用教程 打开软件并选择处理模式&#xff1a;打开软件后&#xff0c;根据要处理的文件类型&#xff0c;选择 “图片识别模式” 或 “PDF 识别模式”。如果是处理包含条形码的 PDF 文件&#xff0c;就选择 “PDF 识别模式”&#xff1b;若是处理图片文件&…...

深入浅出JavaScript中的ArrayBuffer:二进制数据的“瑞士军刀”

深入浅出JavaScript中的ArrayBuffer&#xff1a;二进制数据的“瑞士军刀” 在JavaScript中&#xff0c;我们经常需要处理文本、数组、对象等数据类型。但当我们需要处理文件上传、图像处理、网络通信等场景时&#xff0c;单纯依赖字符串或数组就显得力不从心了。这时&#xff…...