欢迎来到数据库的世界!今天,我们将一起探索如何创建、管理和查询数据库。无论你是初学者还是希望加深理解的开发者,这篇博客都将帮助你更好地掌握数据库的基础知识。

一、数据库的基本操作

创建数据库

首先,让我们从创建一个新数据库开始。想象一下数据库就像是一个巨大的文件柜,每个文件柜都有自己的名字和用途。使用以下SQL语句可以创建一个新的文件柜(数据库):

CREATE DATABASE IF NOT EXISTS mydb;

这行代码的意思是:如果不存在名为mydb的数据库,则创建它。你可以用SHOW DATABASES;查看所有已有的文件柜。

使用和修改数据库

选择了要工作的文件柜后,可以通过USE mydb;进入它。如果你想改变这个文件柜的语言设置(字符集),可以这样做:

ALTER DATABASE mydb CHARACTER SET utf8mb4;

最后,如果你不再需要某个文件柜了,可以用DROP DATABASE IF EXISTS mydb;将其删除。

二、数据表的操作

在数据库中,数据是以表格的形式存储的。这些表格就像Excel中的工作表一样,每列代表一种类型的数据。

创建和查看表格

创建表格的过程类似于设计一张信息收集表。为了查看表格的设计结构,可以使用:

DESC students;

这将显示表格的所有列及其属性。想要详细了解表格是如何被创建的?试试SHOW CREATE TABLE students;

修改表格结构

随着时间的发展,你可能需要对表格进行调整。比如,添加新的信息字段(列):

ALTER TABLE students ADD email VARCHAR(100);

或者修改已有字段的类型:

ALTER TABLE students MODIFY age TINYINT;

甚至重命名字段或删除不需要的字段也是常有的事:

ALTER TABLE students CHANGE email student_email VARCHAR(100);
ALTER TABLE students DROP student_email;

三、数据的插入、更新和删除

这部分涉及到如何向表格中添加数据、更新现有数据以及删除数据。

  • 插入数据:向表格中添加一行或多行数据。
    INSERT INTO students (name, age) VALUES ('张三', 20), ('李四', 21);
  • 更新数据:根据条件更新特定行的数据。
    UPDATE students SET age = 23 WHERE name = '张三';
  • 删除数据:删除符合条件的数据行。
    DELETE FROM students WHERE age > 22;

四、约束与索引

约束用于确保数据的准确性和一致性。例如,主键约束保证每一行都有唯一的标识符,非空约束确保某些列不能为空等。

  • 主键:每个表格只能有一个主键,它可以由一个或多个列组成。
    ALTER TABLE table_name ADD PRIMARY KEY (column_name);
  • 自增:通常与主键一起使用,自动为每条记录生成唯一的ID。
    id INT AUTO_INCREMENT,
    PRIMARY KEY(id)

五、查询数据

查询是数据库中最常用的功能之一。通过不同的查询语句,我们可以轻松获取所需的信息。

  • 基本查询:选择表格中的所有列或指定列。
    SELECT * FROM students;
    SELECT name, age FROM students;
  • 排序查询:按照指定的顺序排列结果。
    SELECT * FROM students ORDER BY age ASC;
  • 聚合查询:用于统计分析,如计算总数、平均值等。
    SELECT COUNT(*) AS total_students FROM students;

总结来说,数据库管理不仅仅是关于数据的存储,它还涉及到如何高效地组织、访问和保护数据。希望通过这篇博客,你能对数据库有一个更加清晰的理解。

下一篇博客我们将开始走进数据库的基础的一些语法

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从汇编角度揭秘C++构造函数(1)

C的构造函数一直比较神秘,今天我们通过汇编的角度来揭秘一下,它的本质是什么。与常规函数有什么不同。从以下这段代码说起: class Person { public:Person(int age) { _age age; }void printAge(){ printf("age %d\r\n",_age); …

java10学习笔记

Java 10 于 2018 年 3 月发布,是 Java 平台按照新的六个月发布周期发布的第一个版本。虽然相比 Java 8 和 Java 9 的大型更新,Java 10 的变化较小,但仍然引入了一些重要的特性,特别是本地变量类型推断(var)…

Flutter Listview的基本使用

Listview() 前端页面常见的一个以列表方式显示内容的组件。可垂直或水平滚动的列表。属性说明scrollDirection设置滚动的方向,取值包括horizontal、verticalreverse设置是否翻转,默认值falseitemExtent设置滚动方向子元素的长度,垂直方向为高…

强化学习笔记:从Q学习到GRPO

推荐学习huggingface的强化学习课程,全面了解强化学习的发展史。 以下是个人笔记,内容不一定完整,有些是个人理解。 基于值函数(value function)的强化学习 基于值函数(value function)的强化学习:学习的是一个值函数&#xff0…

MySQL索引底层原理与性能优化实践

#技术栈深潜计划一、前言 在日常开发中,MySQL数据库以其高效、易用、可扩展等特性成为最主流的关系型数据库之一。而索引作为数据库查询优化的核心工具,被誉为“数据库的加速器”。但你真的了解MySQL索引的底层原理吗?为什么InnoDB默认采用B树…

Ext系列文件系统

1.硬件常见的硬件有磁盘、服务器、机柜、机房机械磁盘但是计算机中唯一的一个机械设备磁盘外设的特点就是外设慢容量大,价格便宜1.1.磁盘的物理结构磁盘的物理图:磁盘的存储图扇区:是磁盘存储数据的基本单位,512字节,块设备磁盘的…

前缀函数——KMP的本质

前缀函数我个人觉得 oiwiki 上的学习顺序是很合理的,学 KMP 之前先了解前缀函数是非常便于理解的。前后缀定义 前缀 prefixprefixprefix 指的是从字符串 SSS 的首位到某个位置 iii 的一个子串,这样的子串写作 prefix(S,i)prefix(S,i)prefix(S,i)。 后缀 …

解决chrome下载crx文件被自动删除,加载未打包的扩展程序时提示“无法安装扩展程序,因为它使用了不受支持的清单版本解决方案”

解决chrome下载crx文件被自动删除 【chrome设置-隐私与安全-安全浏览】,选择 不保护 【chrome设置-下载内容】,勾选 下载前询问每个文件的保存位置 下载crx文件时,选择保存文件夹,将 .crx后缀 改为 .zip后缀,再确定。 …

嵌入式学习day23-shell命令

linux软件编程学习大纲:1.IO操作文件2.多任务编程3.网络编程4.数据库编程5.硬件设备管理学习目标:1.学习接口调用(第一层)2.软件操作流程和思想(第二层)3.软件设计思想和流程架构(第三层&#x…

GPT-5 系列深度详解:第1章-引言(目录)

1 引言2 模型数据与训练3 观察到的安全挑战与评估 3.1 从强制拒绝到安全完成 3.2 禁⽌内容 3.3 拍⻢屁 3.4 越狱 3.5 指令层级 3.6 幻觉 3.7 欺骗 3.7.1 欺骗思维链监控 3.8 图像输入 3.9 健康 3.10 多语言性能 3.1.1公平性与偏见: BBQ评估4 红队测试与外部评估…

NineData 新增支持 AWS ElastiCache 复制链路

2025 年,绝大多数企业已完成业务上云,以获取更高的弹性、可扩展性和成本效益。AWS ElastiCache 作为 AWS 提供的全托管式内存数据库服务,已成为许多企业在云上构建高并发、低延迟应用的理想选择。NineData 数据复制现已全面支持从自建 Redis …

人工智能-python-特征选择-皮尔逊相关系数

以下是关于特征选择中常用方法的表格总结,并且详细阐述了皮尔逊相关系数的原理、计算方法、步骤以及示例。 常用特征选择方法总结方法原理优点缺点使用场景过滤法(Filter Method)基于特征的统计信息(如相关性、方差等)…

LabVIEW多循环架构

​LabVIEW的多循环架构是一种常见的架构,本文Temperature Monitoring.vi 采用 LabVIEW 典型的多循环并行架构,通过功能模块化设计实现温度监测全流程,各循环独立运行又协同工作,构成完整的监测系统。1. 事件处理循环(E…

深入理解Maven BOM

一、什么是Maven BOM? 1.1 BOM的基本概念 Maven BOM(Bill of Materials,材料清单)是一种特殊的POM文件,它主要用于集中管理多个相关依赖的版本。BOM本身不包含任何实际代码,而是作为一个 版本管理的"参…

Mysql分页:高效处理海量数据的核心技术

Mysql分页:高效处理海量数据的核心技术01 引言 在Web应用、移动应用或数据分析场景中,数据库常常需要处理百万甚至千万级的数据记录。一次性加载所有数据不仅效率低下,还会消耗大量网络带宽和内存资源。数据库分页技术正是解决这一挑战的关键…

通过 Docker 运行 Prometheus 入门

Promethues 组件 prometheus serverexporteralertmanager 环境准备 Docker 拉取镜像备用 # https://hub.docker.com/r/prom/prometheus docker pull m.daocloud.io/docker.io/prom/prometheus:main# https://hub.docker.com/r/prom/node-exporter docker pull m.daocloud.io/do…

Java 8特性(一)

目录 一、Lambda表达式 1、语法格式: (1)接口名 对象名(参数类型1参数名1,....参数类型n 参数名n)->{方法体;} (2)参数类型h 参数名n:接口中抽象方法的参数项 (3)->:表示连接操作 &a…

【代码随想录|232.用栈实现队列、225.用队列实现栈、20.有效的括号、1047.删除字符串中的所有相邻重复项】

232.用栈实现队列 timutimtit232. 用栈实现队列 - 力扣&#xff08;LeetCode&#xff09; class MyQueue { public:stack<int> Sin;stack<int> Sout;MyQueue() {}void push(int x) {Sin.push(x);}int pop() {if (Sout.empty()) { // 出栈为空就把入栈的数导出来w…

码上爬第三题【协程+浏览器调试检测】

前言&#xff1a;图灵第三题就是对用户浏览器调试检测&#xff0c;检测鼠标右击打开控制台&#xff0c;检测键盘按键ctrlshifti&#xff0c;从浏览器设置打开开发者工具也不行&#xff0c;应该是有浏览器宽高检测的&#xff0c;所以我们保证浏览器页面宽高不变即可。你如果想右…

windows、linux应急响应入侵排查

windows入侵排查 1.1检查账号 1.查看服务器是否有弱口令&#xff0c;远程管理端口是否对公网开放 2.查看服务器是否存在可疑账号、新增账号 检查方法&#xff1a;打开 cmd 窗口&#xff0c;输入 lusrmgr.msc 命令&#xff0c;查看是否有新增/可疑的账号&#xff0c;如有管…