MySQL - 单表增删改

news2024/11/17 23:39:30

1. MySQL 概述

MySQL 是一种流行的开源关系型数据库管理系统 (DBMS),广泛应用于互联网公司和企业开发中。它支持 SQL 语句操作数据,并提供多种版本供选择。

1.1 MySQL 安装和连接

  • 社区版:免费版本,适合开发者使用。
  • 商业版:付费版本,提供官方技术支持。

连接 MySQL 数据库的常用命令:

mysql -u用户名 -p密码 [-h数据库服务器IP -P端口号]

不指定 -h-P 时,默认连接本地 127.0.0.1,端口为 3306。

1.2 关系型数据库和数据模型

MySQL 属于关系型数据库 (RDBMS),基于二维表存储数据。每张表由行和列组成,表与表之间存在关系。

2. SQL 简介

SQL(Structured Query Language,结构化查询语言)是用于操作关系型数据库的编程语言。MySQL 支持的 SQL 主要分为以下几类:

  • DDL(数据定义语言):用于定义数据库和表的结构。
  • DML(数据操作语言):用于操作数据库表中的数据,如增删改。
  • DQL(数据查询语言):用于查询表中的数据。
  • DCL(数据控制语言):用于管理数据库用户和权限。

3. 数据库设计 - DDL

3.1 项目开发流程

在企业开发中,通常会经历以下阶段:

  1. 需求分析:理解产品原型和需求文档。
  2. 数据库设计:根据需求设计表结构和字段约束。
  3. 开发与测试:编写 SQL 操作数据。
  4. 数据库优化:通过索引、分库分表等方式提升性能。

3.2 数据库操作

3.2.1 查询数据库

SHOW DATABASES;
SELECT DATABASE();

3.2.2 创建数据库

CREATE DATABASE [IF NOT EXISTS] 数据库名;

3.2.3 切换数据库

USE 数据库名;

3.2.4 删除数据库

DROP DATABASE [IF EXISTS] 数据库名;

4. 表操作

4.1 创建表

4.1.1 表的创建语法

CREATE TABLE 表名 (
  字段1 字段类型 [约束] [COMMENT 字段注释],
  字段2 字段类型 [约束] [COMMENT 字段注释],
  ...
) [COMMENT 表注释];

4.1.2 示例

CREATE TABLE tb_user (
  id INT PRIMARY KEY AUTO_INCREMENT COMMENT 'ID,唯一标识',
  username VARCHAR(20) NOT NULL UNIQUE COMMENT '用户名',
  name VARCHAR(10) NOT NULL COMMENT '姓名',
  age INT COMMENT '年龄',
  gender CHAR(1) DEFAULT '男' COMMENT '性别'
) COMMENT '用户表';

4.2 约束

约束是用于限制表中数据的规则,常见的约束有:

  • 非空约束NOT NULL,字段值不能为 NULL
  • 唯一约束UNIQUE,字段值必须唯一。
  • 主键约束PRIMARY KEY,标识每行数据的唯一性,通常与自增 AUTO_INCREMENT 配合使用。
  • 默认约束DEFAULT,字段的默认值。
  • 外键约束FOREIGN KEY,用于建立表与表之间的关联。

4.3 数据类型

MySQL 数据类型包括:

  • 数值类型:如 INTBIGINTFLOATDOUBLEDECIMAL 等。
  • 字符串类型:如 VARCHARCHARTEXTBLOB 等。
  • 日期时间类型:如 DATEDATETIMETIMESTAMP 等。

4.4 查询和修改表

4.4.1 查看表结构

DESC 表名;
SHOW CREATE TABLE 表名;

4.4.2 修改表结构

(1)添加字段

ALTER TABLE 表名 ADD 字段名 类型 [COMMENT 字段注释];

(2)修改字段

ALTER TABLE 表名 MODIFY 字段名 类型 [COMMENT 字段注释];
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型 [COMMENT 字段注释];

(3)删除字段

ALTER TABLE 表名 DROP 字段名;

4.4.3 删除表

DROP TABLE [IF EXISTS] 表名;

5. 数据操作 - DML

5.1 插入数据

插入单条或多条数据:

INSERT INTO 表名 (字段1, 字段2) VALUES (值1, 值2);
INSERT INTO 表名 (字段1, 字段2) VALUES (值1, 值2), (值3, 值4);

5.2 更新数据

DELETE FROM 表名 WHERE 条件;
DELETE FROM 表名;  -- 删除所有数据

修改指定条件的数据:

UPDATE 表名 SET 字段1 = 值1, 字段2 = 值2 WHERE 条件;

5.3 删除数据

删除表中数据:

DELETE FROM 表名 WHERE 条件;
DELETE FROM 表名;  -- 删除所有数据

6. 图形化数据库管理工具

为了方便数据库管理,可以使用图形化工具操作 MySQL。常用工具有 DataGrip 和 IntelliJ IDEA 自带的 Database 插件,通过这些工具可以方便地连接、管理和操作数据库。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

sizeof 和 strlen

一 . sizeof 关键字 这个是我们的老朋友了昂,经常都在使用,它是专门用来计算变量所占内存空间大小的,单位是字节,当然,如果我们的操作对象是类型的话,计算的就是类型所创建的变量所占内存的大小&#xff0…

【笔记】神领物流day1.1.13前后端部署【未完】

使用jenkins 前端部署 需要将前端开发的vue进行编译,发布成html,然后通过nginx进行访问,这个过程已经在Jenkins中配置,执行点击发布即可 网址栏输入神领TMS管理系统 (sl-express.com)即可看见启动成功 后端部署看linux 回到Jenki…

25维谛技术面试最常见问题面试经验分享总结(包含一二三面题目+答案)

开头附上工作招聘面试必备问题噢~~包括综合面试题、无领导小组面试题资源文件免费!全文干货。 【免费】25维谛技术面试最常见问题面试经验分享总结(包含一二三面题目答案)资源-CSDN文库https://download.csdn.net/download/m0_72216164/8979…

单调递增/递减栈

单调栈 单调栈分为单调递增栈和单调递减栈 单调递增栈:栈中元素从栈底到栈顶是递增的 单调递减栈:栈中元素从栈底到栈顶是递减的 应用:求解下一个大于x元素或者是小于x的元素的位置 给一个数组,返回一个大小相同的数组&#x…

一文了解:最新版本 Llama 3.2

Meta AI最近发布了 Llama 3.2。这是他们第一次推出可以同时处理文字和图片的多模态模型。这个版本主要关注两个方面: 视觉功能:他们现在有了能处理图片的模型,参数量从11亿到90亿不等。 轻量级模型:这些模型参数量在1亿到3亿之间…

llamafactory0.9.0微调qwen2vl

LLaMA-Factory/data/README_zh.md at main hiyouga/LLaMA-Factory GitHubEfficiently Fine-Tune 100+ LLMs in WebUI (ACL 2024) - LLaMA-Factory/data/README_zh.md at main hiyouga/LLaMA-Factoryhttps://github.com/hiyouga/LLaMA-Factory/blob/main

【Java SE】初遇Java,数据类型,运算符

🔥博客主页🔥:【 坊钰_CSDN博客 】 欢迎各位点赞👍评论✍收藏⭐ 1. Java 概述 1.1 Java 是什么 Java 是一种高级计算机语言,是一种可以编写跨平台应用软件,完全面向对象的程序设计语言。Java 语言简单易学…

Android平台如何获取CPU占用率和电池电量信息

技术背景 我们在做Android平台GB28181设备接入模块、轻量级RTSP服务模块和RTMP推流模块的时候,遇到这样的技术诉求,开发者希望把实时CPU占用、电池信息等叠加在视频界面。 获取CPU占用率 Android平台获取CPU占用情况,可以读取/proc/stat文…

第十三届蓝桥杯真题Java c组D.求和(持续更新)

博客主页:音符犹如代码系列专栏:蓝桥杯关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ 【问题描述】 给定 n 个整数 a1, a2, , an ,求它们两两相乘再相…

生信初学者教程(十六):GO富集分析

文章目录 介绍加载R包导入数据所需函数运行输出结果总结介绍 GO(Gene Ontology)是一个在生物信息学中广泛使用的概念,用于描述基因和基因产物的功能、它们所处的细胞位置以及它们参与的生物过程。GO项目是一个协作性的国际努力,旨在建立和维护一个适用于各种物种的、结构化…

用Python实现运筹学——Day 6: 单纯形法求解过程

一、学习内容 1. 单纯形法的详细步骤 单纯形法是通过迭代过程来优化线性规划问题的解决方案。该算法从可行解空间的一个顶点出发,逐步沿着可行解空间的边界移动到另一个顶点,直到找到最优解。单纯形法的求解过程分为以下几个步骤: 初始化&a…

EE trade:黄金T+D是什么意思

黄金TD,全称“黄金延期交割”,是由上海黄金交易所推出的标准化合约,允许投资者以保证金的形式进行黄金交易,并可以选择当日交割或延期交割。它为国内投资者提供了一个全新的黄金投资渠道,但也存在一些风险,…

Linux进程切换以及调度算法

目录 Linux进程切换以及调度算法 Linux进程切换介绍 前置知识 进程切换过程分析 调度算法 补充知识 Linux进程切换以及调度算法 Linux进程切换介绍 前面提到,分时操作系统下,CPU会在多个进程中做高速切换以实现多个进程看似同时执行的&#xff0…

会员办理--足浴店系统开发代码———未来之窗行业应用跨平台架构

function fun_会员查询_事务_新增(){var 未来之窗vos对话框_内容 ;var title"test";var 未来之窗vos对话框_id"hjksgfjkkhkj";CyberWin_Dialog.layer(未来之窗vos对话框_内容,{type:"frame",title:"新增会员",move:false,width:"…

828华为云征文|WordPress部署

目录 前言 一、环境准备 二、远程连接 三、WordPress简介 四、WordPress安装 1. 基础环境安装 ​编辑 2. WordPress下载与解压 3. 创建站点 4. 数据库配置 总结 前言 WordPress 是一个非常流行的开源内容管理系统(Content Management System, CMS&#xf…

FTP 服务器 linux安装

文章目录 前言一、了解二、安装启动匿名连接 三、创建用户1. 创建系统用户2. 连接3. 连接不上? 5004. 还是连接不上? 5005. 还还还是连不上?530 补充关于创建用户useradd 命令如何设置用户不能登录shell不用系统指定的家目录 vsftpd 配置chro…

Python | Leetcode Python题解之第443题压缩字符串

题目&#xff1a; 题解&#xff1a; class Solution:def compress(self, chars: List[str]) -> int:def reverse(left: int, right: int) -> None:while left < right:chars[left], chars[right] chars[right], chars[left]left 1right - 1n len(chars)write lef…

Android15音频进阶之新播放器HwAudioSource(八十六)

简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏: 多媒体系统工程师系列【原创干货持续更新中……】🚀 优质视频课程:AAOS车载系统+…

面试扩展知识点

1.C语言中分为下面几个存储区 栈(stack): 由编译器自动分配释放堆(heap): 一般由程序员分配释放&#xff0c;若程序员不释放&#xff0c;程序结束时可能由OS回收全局区(静态区): 全局变量和静态变量的存储是放在一块的&#xff0c;初始化的全局变量和静态变量在一块区域&#…

线性表二——栈stack

第一题 #include<bits/stdc.h> using namespace std; stack<char> s; int n; string ced;//如何匹配 出现的右括号转换成同类型的左括号&#xff0c;方便我们直接和栈顶元素 char cheak(char c){if(c)) return (;if(c]) return [;if(c}) return {;return \0;/…