MySQL 基础入门指南:从安装到基本操作
一、简介
MySQL 是一种流行的开源关系型数据库管理系统,被广泛用于各种规模和类型的应用程序中。如果您对 MySQL 还不熟悉,本文将为您提供一个基础的入门指南,从安装到基本操作。
1.1 安装 MySQL
首先,您需要下载并安装 MySQL。官方网站提供了适用于各种操作系统的安装包。按照官方文档的指引,执行安装过程,并确保您设置了适当的用户名和密码来管理数据库。
1.2 连接到 MySQL
安装完成后,您可以使用命令行工具或图形界面工具来连接到 MySQL 服务器。在命令行中,可以使用以下命令来连接到本地 MySQL 服务器:
mysql -u 用户名 -p
然后输入您设置的密码即可连接到 MySQL。
二、MySQL入门
2.1 创建数据库
一旦连接到 MySQL,您可以创建自己的数据库。使用以下命令创建一个名为 "mydatabase" 的数据库:
create database mydatabase;
您可以将数据库名称替换为您想要的名称。
2.2 创建数据表
表是 MySQL 中存储数据的基本单元。使用以下命令创建一个名为 "users" 的表,其中包含 id、name 和 age 这三个列:
CREATE TABLE users ( id INT PRIMARY KEY, name VARCHAR(50), age INT );
这将创建一个名为 "users" 的表,其中包含三个列:id、name 和 age。
2.3 插入数据
插入数据是向表中添加新记录的过程。使用以下命令向 "users" 表中插入一条记录:
INSERT INTO users (id, name, age) VALUES (1, 'John', 25);
这将在 "users" 表中插入一条记录,包含 id、name 和 age 这三个字段的值。
2.4 查询数据
查询数据是从表中检索记录的过程。使用以下命令查询 "users" 表中的所有记录:
SELECT * FROM users;
这将返回 "users" 表中的所有记录,包括 id、name 和 age 字段的值。
2.5 更新数据
有时候,您可能需要更新表中的数据。使用以下命令更新 "users" 表中 id 为 1 的记录的 age 值:
UPDATE users SET age = 30 WHERE id = 1;
这将把 id 为 1 的记录的 age 值更新为 30。
2.6 删除数据
如果您想删除表中的记录,可以使用以下命令。以下命令将删除 "users" 表中 id 为 1 的记录:
DELETE FROM users WHERE id = 1;
这将删除 id 为 1 的记录。
三、MySQL进阶
3.1 索引
索引是一种特殊的数据结构,用于快速查找表中的数据。在 MySQL 中,可以使用以下命令为表添加索引:
CREATE INDEX index_name ON table_name (column_name);
这将为表添加一个名为 index_name 的索引,该索引基于列 column_name。索引可以显著提高查询性能,但也会增加插入和更新操作的开销。
3.2 外键
外键是一种用于连接两个表的约束,确保在一个表中的行只能引用另一个表中存在的行。在 MySQL 中,可以使用以下命令为表添加外键:
ALTER TABLE table_name ADD CONSTRAINT constraint_name FOREIGN KEY (column_name) REFERENCES referenced_table_name (referenced_column_name);
这将在表中添加一个名为 constraint_name 的外键,该外键基于列 column_name,并引用了另一个表 referenced_table_name 中的 referenced_column_name 列。外键可以确保数据的完整性,但也可能会影响插入和更新操作的性能。
3.3 视图
视图是一种虚拟表,通过 SELECT 语句定义。在 MySQL 中,可以使用以下命令创建视图:
CREATE VIEW view_name AS SELECT column1, column2 FROM table_name WHERE condition;
这将创建一个名为 view_name 的视图,该视图基于表 table_name,并仅包含列 column1 和 column2,根据条件 condition 进行筛选。视图可以简化复杂的查询操作,并提供安全性和隐私性。
3.4 存储过程
存储过程是一种预编译的数据库对象,类似于函数,可以接受参数并返回结果。在 MySQL 中,可以使用以下命令创建存储过程:
CREATE PROCEDURE procedure_name (IN parameter1 datatype1, OUT parameter2 datatype2) BEGIN -- statements END;
这将创建一个名为 procedure_name 的存储过程,该存储过程接受一个输入参数 parameter1 和一个输出参数 parameter2,并执行语句块中的操作。存储过程可以提高性能和安全性,并允许重用代码。
3.5 事务
事务是一组操作,被视为一个单元,并必须同时成功或失败。在 MySQL 中,可以使用以下命令开启事务:
START TRANSACTION;
然后执行一系列操作,包括插入、更新和删除,最后使用以下命令提交或回滚事务:
COMMIT; -- 提交事务 ROLLBACK; -- 回滚事务
事务可以确保数据的完整性和一致性,并允许恢复到以前的状态。
未完待续...
相关文章:
MySQL 基础入门指南:从安装到基本操作
一、简介 MySQL 是一种流行的开源关系型数据库管理系统,被广泛用于各种规模和类型的应用程序中。如果您对 MySQL 还不熟悉,本文将为您提供一个基础的入门指南,从安装到基本操作。 1.1 安装 MySQL 首先,您需要下载并安装 MySQL。…...
嵌入式Qt Qt Creator安装与工程介绍
一.Qt概述 什么是Qt:Qt是一个跨平台的C图形用户界面应用程序框架。它为应用程序开发者提供建立图形界面所需的所有功能。它是完全面向对象的,很容易扩展,并且允许真正的组件编程。 二.Qt Creator下载安装 下载地址:Index of /a…...
Windows 系统盘(C盘)爆红如何清理、如何增加C盘空间
1、简介 Windows系统中,系统和保留占用太多的空间,一旦系统盘分配空间较少,使用一段时间后,备份文件、临时文件、系统更新记录等都会在占用系统盘较大空间,导致系统盘空间不够使用,会造成应用运行卡顿。如何…...
【JavaEE Spring】Spring 原理
Spring 原理 1. Bean的作⽤域1.1 概念1.2 Bean的作⽤域 2. Bean的⽣命周期 1. Bean的作⽤域 1.1 概念 在Spring IoC&DI阶段, 我们学习了Spring是如何帮助我们管理对象的. 通过 Controller , Service , Repository , Component , Configuration ,Bean 来声明Bean对象。通…...
【Crypto | CTF】RSA打法
天命:我发现题题不一样,已知跟求知的需求都不一样 题目一:已知 p q E ,计算T,最后求D 已知两个质数p q 和 公钥E ,通过p和q计算出欧拉函数T,最后求私钥D 【密码学 | CTF】BUUCTF RSA-CSDN…...
红衣大叔讲AI:从OpenAI发布首个视频大模型Sora,谈2024年视觉大模型的十大趋势
OpenAI宣布推出全新的生成式人工智能模型“Sora”。据了解,通过文本指令,Sora可以直接输出长达60秒的视频,并且包含高度细致的背景、复杂的多角度镜头,以及富有情感的多个角色。 OpenAI发布首个视频大模型Sora,一句话生…...
java远程连接Linux执行命令的三种方式
java远程连接Linux执行命令的三种方式 1. 使用JDK自带的RunTime类和Process类实现2. ganymed-ssh2 实现3. jsch实现4. 完整代码:执行shell命令下载和上传文件 1. 使用JDK自带的RunTime类和Process类实现 public static void main(String[] args){Process proc Run…...
JavaScript- let var const区别
let 允许你声明⼀个作⽤域被限制在块级中的变量、语句或者表达式 let 绑定不受变量提升的约束,这意味着 let 声明不会被提升到当前 该变量处于从块开始到初始化处理的“暂存死区” function example() {let x 10;if (true) {let x 20;console.log(x); // Outpu…...
指针的经典笔试题
经典的指针试题,让你彻底理解指针 前言 之前对于指针做了一个详解,现在来看一些关于指针的经典面试题。 再次说一下数组名 数组名通常表示的都是首元素的地址,但是有两个意外,1.sizeof(数组名)这里数组名…...
书生浦语大模型实战营-课程笔记(1)
模型应用过程,大致还是了解的。和之前实习做CV项目的时候比起来,多了智能体这个环节。智能体是个啥? 类似上张图,智能体不太清楚。感觉是偏应用而不是模型的东西? 数据集类型很多,有文本/图片/视频。所以…...
磁盘database数据恢复: ddrescue,dd和Android 设备的数据拷贝
ddrescue和dd 区别: GNU ddrescue 不是 dd 的衍生物,也与 dd 没有任何关系 除了两者都可用于将数据从一台设备复制到另一台设备。 关键的区别在于 ddrescue 使用复杂的算法来复制 来自故障驱动器的数据,尽可能少地造成额外的损坏。ddrescue…...
SpringMVC-入门
1.概念 SpringMVC是一种软件架构思想,把软件按照模型(Model)、视图(View)、控制器(Controller)这三层来划分。Model:指的是工程中JavaBean,用来处理数据View:指的是工程中的html、jsp等页面,用来展示给用户数据Control…...
需要学习的知识点清单
div 4 div 3 F :拓扑排序 G : 组合数学 D : 结构体排序 div 2 div 12...
杂谈--spconv导出中onnx的扩展阅读
Onnx 使用 Onnx 介绍 Onnx (Open Neural Network Exchange) 的本质是一种 Protobuf 格式文件,通常看到的 .onnx 文件其实就是通过 Protobuf 序列化储存的文件。onnx-ml.proto 通过 protoc (Protobuf 提供的编译程序) 编译得到 onnx-ml.pb.h 和 onnx-ml.pb.cc 或 on…...
嵌入式培训机构四个月实训课程笔记(完整版)-Linux ARM驱动编程第二天-arm ads下的start.S分析(物联技术666)
链接:https://pan.baidu.com/s/1E4x2TX_9SYhxM9sWfnehMg?pwd1688 提取码:1688 ; ; NAME: 2440INIT.S ; DESC: C start up codes ; Configure memory, ISR ,stacks ; Initialize C-variables ; 完全注释 ; HISTORY: ; 2002.02.25:kwtark: ver 0.…...
STL之list容器的介绍与模拟实现+适配器
STL之list容器的介绍与模拟实现适配器 1. list的介绍2. list容器的使用2.1 list的定义2.2 list iterator的使用2.3 list capacity2.4 list element access2.5 list modifiers2.6 list的迭代器失效 3. list的模拟实现3.1 架构搭建3.2 迭代器3.2.1 正向迭代器3.2.2反向迭代器适配…...
Leetcode With Golang 二叉树 part1
这一部分主要来梳理二叉树题目最简单最基础的部分,包括遍历,一些简单题目。 一、Leecode 144 - 二叉树的前序遍历 https://leetcode.cn/problems/binary-tree-preorder-traversal/description/ 二叉树的遍历是入门。我们需要在程序一开始就创建一个空…...
tcp 中使用的定时器
定时器的使用场景主要有两种。 (1)周期性任务 这是定时器最常用的一种场景,比如 tcp 中的 keepalive 定时器,起到 tcp 连接的两端保活的作用,周期性发送数据包,如果对端回复报文,说明对端还活着…...
黑马Java——IO流
一、IO流的概述 IO流:存储和读取数据的解决方案 IO流和File是息息相关的 1、IO流的分类 1.1、纯文本文件 word、Excel不是纯文本文件 而txt或者md文件是纯文本文件 2、小结 二、IO流的体系结构 三、字节流 1、FileOutputStream(字节输出流ÿ…...
re:从0开始的CSS学习之路 11. 盒子垂直布局
1. 盒子的垂直布局的注意 若两个“相邻”垂直摆放的盒子,上面盒子的下外边距与下面盒子的上外边距会发生重叠,称为外边距合并 若合并后,外边距会选择重叠外边距的较大值 若两个盒子具有父子关系,则两个盒子的上外边距会发生重叠&…...
不止是拆网卡:以联想ThinkCentre M7131z为例,聊聊老旧一体机的升级改造可能性
联想ThinkCentre M7131z改造指南:从拆网卡到全面性能升级 老旧商用一体机往往被贴上"性能瓶颈"的标签,但联想ThinkCentre M7131z系列却隐藏着令人惊喜的改造潜力。这台发布于2015年前后的商用一体机,凭借其模块化设计和充足的内部空…...
解码器精准调优:LoRA赋能Depth-Anything-V2实现绝对深度估计
1. LoRA技术如何革新Depth-Anything-V2的深度估计 当我在实验室第一次尝试用LoRA微调Depth-Anything-V2时,意外发现只需要调整解码器中1x1卷积层的极少量参数,就能让相对深度模型输出精确的绝对深度值。这就像给一个只会判断"远近"的模型突然装…...
Wangle客户端开发实战:从零开始构建高效网络应用
Wangle客户端开发实战:从零开始构建高效网络应用 【免费下载链接】wangle Wangle is a framework providing a set of common client/server abstractions for building services in a consistent, modular, and composable way. 项目地址: https://gitcode.com/g…...
React Native Chart Kit 性能优化技巧:大数据量下的流畅图表渲染
React Native Chart Kit 性能优化技巧:大数据量下的流畅图表渲染 【免费下载链接】react-native-chart-kit 📊React Native Chart Kit: Line Chart, Bezier Line Chart, Progress Ring, Bar chart, Pie chart, Contribution graph (heatmap) 项目地址:…...
阿里内部强推性能优化全栈小册,Java程序员必备!
性能优化可以说是我们程序员的必修课,如果你想要跳出CRUD的苦海,成为一个更“高级”的程序员的话,性能优化这一关你是无论无何都要去面对的。为了提升系统性能,开发人员可以从系统的各个角度和层次对系统进行优化。除了最常见的代…...
避开这5个坑!用MediaRecorder+Vue3实现高兼容性语音输入
Vue3MediaRecorder实战:5个关键技巧打造高兼容语音输入方案 在移动优先的时代,语音输入已成为提升用户体验的重要交互方式。但当你兴奋地在Vue3项目中集成MediaRecorder API时,可能会遇到iOS设备上的静默失败、Android机型上的格式兼容性问题…...
手机号查QQ号:解密腾讯通信协议的Python实战工具
手机号查QQ号:解密腾讯通信协议的Python实战工具 【免费下载链接】phone2qq 项目地址: https://gitcode.com/gh_mirrors/ph/phone2qq 你是否曾经遇到过这样的情况:手头有一个手机号,想知道它是否关联了QQ账号?或者作为开发…...
利用Dify平台快速搭建InternLM2-Chat-1.8B智能应用
利用Dify平台快速搭建InternLM2-Chat-1.8B智能应用 你是不是也遇到过这种情况:好不容易在服务器上部署了一个像InternLM2-Chat-1.8B这样的开源大模型,感觉它能力挺强,但除了在命令行里一问一答,就不知道怎么把它变成一个真正能用…...
Qwen3.5-2B部署实操:CentOS 7兼容性处理与依赖库降级方案
Qwen3.5-2B部署实操:CentOS 7兼容性处理与依赖库降级方案 1. 模型简介 Qwen3.5-2B是阿里云推出的轻量化多模态基础模型,属于Qwen3.5系列的小参数版本(20亿参数)。该模型主打低功耗、低门槛部署特性,特别适配端侧和边…...
2025.12晶晨S905L3S-L3SB安卓9通刷实战:当贝桌面加持,解锁多品牌盒子新玩法
1. 晶晨S905L3S-L3SB通刷包的前世今生 第一次听说晶晨S905L3S-L3SB芯片能通刷时,我正对着家里三台不同品牌的电视盒子发愁。这些盒子有的来自运营商赠送,有的是二手市场淘来的,虽然硬件配置相近,但系统体验天差地别。直到发现这个…...
