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

【04】MySQL数据库和数据表的基本操作详解与实例

文章目录

  • 一、连接MySQL服务器
  • 二、数据库的基本操作
    • 2.1数据库的基本操作
      • 1. 创建数据库
      • 2. 选择数据库
      • 3. 删除数据库
      • 4.查询所有数据库
      • 5.修改数据库的字符集
    • 2.2 数据表的基本操作
      • 1. 创建数据表
      • 2. 查看数据表结构
      • 3. 删除数据表
      • 4. 修改数据表
      • 5. 插入数据
      • 6. 查询数据
      • 7. 更新数据
      • 8. 删除数据
    • 2.3. 数据表的索引
  • 三、总结

在这里插入图片描述


MySQL是一个广泛使用的开源关系数据库管理系统。本文将详细介绍如何在MySQL中进行数据库和数据表的基本操作,包括创建、修改、查询和删除。我们将通过实例来讲解每个操作的具体步骤。

一、连接MySQL服务器

在开始操作之前,首先需要连接到MySQL服务器。你可以使用以下命令通过命令行客户端连接:

mysql -u username -p

输入密码后,你将进入MySQL命令行界面。

二、数据库的基本操作

2.1数据库的基本操作

1. 创建数据库

在MySQL中,创建数据库的语法很简单,使用CREATE DATABASE命令:

CREATE DATABASE database_name;

示例:


CREATE DATABASE test_db; #这将创建一个名为test_db的数据库。

2. 选择数据库

在执行操作之前,需要选择要操作的数据库。使用USE命令:

USE database_name;

示例:

USE test_db;

查看当前使用的数据库 MySQL命令:

select test_db();

3. 删除数据库

如果不再需要某个数据库,可以使用DROP DATABASE删除它:

DROP DATABASE database_name;

示例:

DROP DATABASE test_db;

4.查询所有数据库

查询出MySQL中所有的数据库MySQL命令:

show test_db;

5.修改数据库的字符集

将数据库的字符集修改为gbk MySQL命令:

alter test_dbdb1 character set gbk;

2.2 数据表的基本操作

1. 创建数据表

创建数据表使用CREATE TABLE语句。你需要定义表名以及表中的列和数据类型。

CREATE TABLE table_name (column1 datatype constraints,column2 datatype constraints,...
);

示例:

CREATE TABLE employees (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(100) NOT NULL,age INT,salary DECIMAL(10, 2)
);

这将创建一个名为employees的数据表,其中包括id(整数类型且自动递增)、name(字符串类型,不能为空)、age(整数类型)和salary(小数类型)。

2. 查看数据表结构

要查看数据库中所有表的信息,可以使用SHOW TABLES:

SHOW TABLES;

要查看表的具体结构,使用DESCRIBE:

DESCRIBE table_name;

示例:

DESCRIBE employees;

3. 删除数据表

如果需要删除某个数据表,使用DROP TABLE命令:

DROP TABLE table_name;

示例:

DROP TABLE employees;

4. 修改数据表

  • 修改列的名称和数据类型
    使用ALTER TABLE修改列的属性。比如修改列名或数据类型:
ALTER TABLE table_name MODIFY COLUMN column_name new_data_type;

示例:

ALTER TABLE employees MODIFY COLUMN salary DECIMAL(15, 2);
  • 添加列
    可以使用ADD添加新的列:
ALTER TABLE table_name ADD column_name data_type;

示例:

ALTER TABLE employees ADD email VARCHAR(100);
  • 删除列
    使用DROP COLUMN删除某列:
ALTER TABLE table_name DROP COLUMN column_name;

示例:

ALTER TABLE employees DROP COLUMN email;
  • 修改表名 :
alter table table_name rename to retable_name ;
  • 修改字段名 :
alter table table_name change column_name new_column_name varchar(10);
  • 修改字段数据类型:
alter table table_name modify column_name int;

5. 插入数据

插入数据到表中使用INSERT INTO命令:

INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);

示例:

INSERT INTO employees (name, age, salary) VALUES ('Alice', 30, 5000.00);
INSERT INTO employees (name, age, salary) VALUES ('Bob', 25, 4000.00);

6. 查询数据

  • 查询所有数据
    使用SELECT来查询数据:
SELECT * FROM table_name;

示例:

SELECT * FROM employees;
  • 查询特定列
    如果只需要查询特定的列,可以指定列名:
SELECT column1, column2 FROM table_name;

示例:

SELECT name, salary FROM employees;
  • 查询带条件的数据
    使用WHERE子句来限制查询结果:
SELECT * FROM table_name WHERE condition;

示例:

SELECT * FROM employees WHERE age > 25;

7. 更新数据

使用UPDATE命令更新表中的数据:

UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition;

示例:

UPDATE employees SET salary = 5500.00 WHERE name = 'Alice';

8. 删除数据

使用DELETE FROM删除表中的数据:

DELETE FROM table_name WHERE condition;

示例:

DELETE FROM employees WHERE age < 30;

2.3. 数据表的索引

索引是为了提高查询效率而创建的。可以使用CREATE INDEX语句来创建索引:

CREATE INDEX index_name ON table_name (column_name);

示例:

CREATE INDEX idx_name ON employees (name);

三、总结

本文详细介绍了在MySQL中进行数据库和数据表的基本操作。通过这些操作,你可以创建、修改、查询和删除数据库和数据表。掌握这些基本操作是使用MySQL进行数据库管理的基础。在实际应用中,应根据具体需求灵活运用这些命令。

相关文章:

【04】MySQL数据库和数据表的基本操作详解与实例

文章目录 一、连接MySQL服务器二、数据库的基本操作2.1数据库的基本操作1. 创建数据库2. 选择数据库3. 删除数据库4.查询所有数据库5.修改数据库的字符集 2.2 数据表的基本操作1. 创建数据表2. 查看数据表结构3. 删除数据表4. 修改数据表5. 插入数据6. 查询数据7. 更新数据8. 删…...

Spring中实现动态数据源切换,基于AbstractRoutingDataSource

背景 在项目开发过程中&#xff0c;我们可能会遇到一个场景&#xff1a;某个类型数据源有多个数据源实例&#xff0c;需要我们按照不同的请求切换到不同数据源去。 而目前绝大多数java应用都是基于Spring框架来开发&#xff0c;我们很多时候相关的数据源连接都是交给了Spring框…...

StarRocks-join优化

1、背景 有两个大表&#xff0c;都是6kw级别上下的&#xff0c;通过SR然后包装了一个接口对外提供查询&#xff0c;当前的问题是&#xff0c;这样大的join查询会导致BE直接宕机。并且这个sql很有代表性&#xff0c;我截图如下&#xff1a; 这个表是个单分区&#xff0c;所以直接…...

js 高亮文本中包含的关键词标红

在开发中&#xff0c;遇到需要将文本中包含的关键字高亮的情况&#xff0c;可以做以下处理。 <div class"title"v-html"highlightKeywords(item.title, state1.tags1.concat(state2.tags2).concat(state3.tags3))"> </div> ...... ...... con…...

DVWA靶场——File Inclusion

File Inclusion&#xff08;文件包含&#xff09;漏洞 指攻击者通过恶意构造输入&#xff0c;利用应用程序错误的文件包含机制&#xff0c;导致程序包含并执行未经授权的本地或远程文件。这类漏洞广泛存在于Web应用程序中&#xff0c;尤其是在那些允许用户提供文件路径或URL的地…...

Android Framework禁止弹出当前VOLTE不可用的提示窗口

文章目录 VoLTE简介VoLTE 的优势 当前VOLTE不可用的弹窗弹窗代码定位屏蔽弹出窗口 VoLTE简介 VoLTE&#xff08;Voice over LTE&#xff09;是一种基于4G LTE网络的语音通话技术。它允许用户在4G网络上进行高质量的语音通话和视频通话&#xff0c;而不需要回落到2G或3G网络。V…...

OceanBase 大数据量导入(obloader)

现需要将源数据库&#xff08;Oracle|MySQL等&#xff09;一些表的海量数据迁移到目标数据库 OceanBase 中&#xff0c;基于常规 jdbc 驱动编码的方式涉及开发工作&#xff0c;性能效率也要看编码的处理机制。 OceanBase 官方提供了的 OceanBase Migration Service (OMS) 数据…...

w058基于web的美发门店管理系统

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0…...

实时数据开发 | checkpoints监控和调优

监控Checkpoints 监控 checkpoint 行为最简单的方法是通过 UI 的 checkpoint 部分。 监控这两个指标: 算子收到第一个 checkpoint barrier 的时间。当触发 checkpoint 的耗费时间一直很高时&#xff0c;这意味着 checkpoint barrier 需要很长时间才能从 source 到达 operator…...

el-tree的使用及控制全选、反选、获取选中

el-tree的使用及控制全选、反选、获取选中 组件使用获取选中的id全选实现反选实现全部代码 组件使用 引入组件&#xff0c;可以参考官网组件引入参考官网示例写好基础数据结构&#xff0c;不知道怎么转换树形机构的看文章&#xff1a;一维数组转树形 <template><el-…...

机器学习(二十五):决策树算法以及决策树和神经网络的对比

一、决策树集合 单一决策树会对训练数据的变化很敏感。例子&#xff1a;输入十个数据&#xff0c;判断是否是猫。只替换其中一个数据&#xff0c;信息增益最高的分裂特征就发生了改变&#xff0c;决策树就发生了变化。 使用决策树集合可以使算法更加健壮。例子&#xff1a;使用…...

新版布谷直播软件源码开发搭建功能更新明细

即将步入2025年也就是山东布谷科技专注直播系统开发,直播软件源码出售开发搭建等业务第9年,山东布谷科技不断更新直播软件功能&#xff0c;以适应当前新市场环境下的新要求。山东布谷科技始终秉承初心&#xff0c;做一款符合广大客户需求的直播系统软件。支持广大客户提交更多个…...

vue3 reactive响应式实现源码

Vue 3 的 reactive 是基于 JavaScript 的 Proxy 实现的&#xff0c;因此它通过代理机制来拦截对象的操作&#xff0c;从而实现响应式数据的追踪。下面是 Vue 3 的 reactive 源码简化版。 Vue 3 reactive 源码简化版 首先&#xff0c;我们需要了解 reactive 是如何工作的&…...

git的使用(简洁版)

什么是 Git&#xff1f; Git 是一个分布式版本控制系统 (DVCS)&#xff0c;用于跟踪文件的更改并协调多人之间的工作。它由 Linus Torvalds 在 2005 年创建&#xff0c;最初是为了管理 Linux 内核的开发。Git 的主要目标是提供高效、易用的版本控制工具&#xff0c;使得开发者…...

使用命令行创建 Maven 项目

本指南将引导您通过命令行创建一个简单的 Maven 项目。本教程假设您已经在您的机器上安装了 Maven 和 JDK 21。 第一步&#xff1a;验证 Maven 和 Java 安装 在开始之前&#xff0c;我们需要验证 Maven 和 Java 是否已正确安装在您的系统上。 验证 Maven 安装 打开命令行终…...

JVM_栈详解一

1、栈的存储单位 **栈中存储什么&#xff1f;**&#xff0c; 每个线程都有自己的栈&#xff0c;栈中的数据都是以栈帧&#xff08;Stack Frame&#xff09;的格式存在。在这个线程上正在执行的每个方法都各自对应一个栈帧&#xff08;Stack Frame&#xff09;。 栈帧是一个内存…...

Linux 金仓数据库安装和使用

文章目录 Linux 金仓数据库安装和简单使用 一、下载二、安装三、启动法1. 通用启动方式法2. 系统服务启动方式 四、测试五、DB管理工具1. 启动DB管理工具2. DB管理工具的常用功能 六、卸载 Linux 金仓数据库安装和简单使用 一、下载 打开官网 https://www.kingbase.com.cn/xzz…...

STM32笔记(串口IAP升级)

一、IAP简介 IAP&#xff08;In Application Programming&#xff09;即在应用编程&#xff0c; IAP 是用户自己的程序在运行过程中对 User Flash 的部分区域进行烧写&#xff0c;目的是为了在产品发布后可以方便地通过预留的通信口对产 品中的固件程序进行更新升级。 通常实…...

C++网络编程:select IO多路复用及TCP服务器开发

C网络编程&#xff1a;使用select实现IO多路复用 一、什么是 IO 多路复用&#xff1f;二、IO多路复用器 select三、相关接口3.1、fd_set 结构体3.2、宏和函数 四、select 实现 TCP 服务器五、总结 一、什么是 IO 多路复用&#xff1f; 在网络编程中&#xff0c;最容易想到的并…...

部署 L2JMobius 天堂2芙蕾雅版本

首先下载所需要的服务器端 “L2J_Mobius.zip” 和芙蕾雅客户端&#xff08;三个压缩文件&#xff09;&#xff0c; 我的网盘下载&#xff1a;https://pan.baidu.com/s/1XdlcCFPvXnzfwFoVK7Sn7Q?pwdavd4 所有文件都在“芙蕾雅”目录下&#xff0c;也可以加入企鹅交流裙 87470…...

后进先出(LIFO)详解

LIFO 是 Last In, First Out 的缩写&#xff0c;中文译为后进先出。这是一种数据结构的工作原则&#xff0c;类似于一摞盘子或一叠书本&#xff1a; 最后放进去的元素最先出来 -想象往筒状容器里放盘子&#xff1a; &#xff08;1&#xff09;你放进的最后一个盘子&#xff08…...

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中&#xff0c;我们可能会遇到一些流式数据处理的场景&#xff0c;比如接收来自上游接口的 Server-Sent Events&#xff08;SSE&#xff09; 或 流式 JSON 内容&#xff0c;并将其原样中转给前端页面或客户端。这种情况下&#xff0c;传统的 RestTemplate 缓存机制会…...

基于Uniapp开发HarmonyOS 5.0旅游应用技术实践

一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架&#xff0c;支持"一次开发&#xff0c;多端部署"&#xff0c;可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务&#xff0c;为旅游应用带来&#xf…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

【AI学习】三、AI算法中的向量

在人工智能&#xff08;AI&#xff09;算法中&#xff0c;向量&#xff08;Vector&#xff09;是一种将现实世界中的数据&#xff08;如图像、文本、音频等&#xff09;转化为计算机可处理的数值型特征表示的工具。它是连接人类认知&#xff08;如语义、视觉特征&#xff09;与…...

让AI看见世界:MCP协议与服务器的工作原理

让AI看见世界&#xff1a;MCP协议与服务器的工作原理 MCP&#xff08;Model Context Protocol&#xff09;是一种创新的通信协议&#xff0c;旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天&#xff0c;MCP正成为连接AI与现实世界的重要桥梁。…...

Mysql中select查询语句的执行过程

目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析&#xff08;Parser&#xff09; 2.4、执行sql 1. 预处理&#xff08;Preprocessor&#xff09; 2. 查询优化器&#xff08;Optimizer&#xff09; 3. 执行器…...

CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝

目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为&#xff1a;一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...

GO协程(Goroutine)问题总结

在使用Go语言来编写代码时&#xff0c;遇到的一些问题总结一下 [参考文档]&#xff1a;https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现&#xff1a; 今天在看到这个教程的时候&#xff0c;在自己的电…...

LCTF液晶可调谐滤波器在多光谱相机捕捉无人机目标检测中的作用

中达瑞和自2005年成立以来&#xff0c;一直在光谱成像领域深度钻研和发展&#xff0c;始终致力于研发高性能、高可靠性的光谱成像相机&#xff0c;为科研院校提供更优的产品和服务。在《低空背景下无人机目标的光谱特征研究及目标检测应用》这篇论文中提到中达瑞和 LCTF 作为多…...