MySQL - 单表增删改

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 插件,通过这些工具可以方便地连接、管理和操作数据库。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cyt涛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值