kizumi_header_banner_img

Hello! Beautiful Kizumi!

加载中

文章导读

Mysql基础


avatar
Yuyas 2025年11月15日 10

# MySQL 基本操作笔记

## 一、连接与退出
- 连接:`mysql -u 用户名 -p`(回车后输入密码)
- 退出:`exit;` 或 `quit;`


## 二、数据库操作
1. 查看所有数据库:`SHOW DATABASES;`
2. 创建数据库:`CREATE DATABASE 数据库名 [CHARSET utf8mb4];`  
  例:`CREATE DATABASE test_db CHARSET utf8mb4;`
3. 删除数据库:`DROP DATABASE 数据库名;`(谨慎!)
4. 使用数据库:`USE 数据库名;`(操作表前必须执行)


## 三、表操作
1. 查看表
  - 查看当前库所有表:`SHOW TABLES;`
  - 查看表结构:`DESC 表名;`

2. 创建表
  ```sql
  CREATE TABLE 表名 (
    字段1 类型 [约束],
    字段2 类型 [约束],
    ...
    [主键/外键约束]
  );

例:

CREATE TABLE students (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
age INT,
gender ENUM('男', '女'),
create_time DATETIME DEFAULT NOW()
);

增删改查

  • 增– 插入单条记录(指定字段)
    INSERT INTO Player (name, score) VALUES (‘张三’, 90);

    — 插入单条记录(省略字段,按表结构顺序)
    INSERT INTO Player VALUES (null, ‘李四’, 85); — id 自增,可填 null 或省略

    — 批量插入
    INSERT INTO Player (name, score)
    VALUES (‘王五’, 95), (‘赵六’, 88), (‘钱七’, 76);
  • 删– 删除 id=5 的玩家记录
    DELETE FROM Player WHERE id = 5;

    — 删除分数 < 60 的玩家(如“不及格”数据)
    DELETE FROM Player WHERE score < 60;

    — 清空表(保留表结构,自增ID会重置,比 DELETE 高效)
    TRUNCATE TABLE Player; — 注意:TRUNCATE 无法回滚,慎用!
  • 改– 将“张三”的分数更新为 95
    UPDATE Player SET score = 95 WHERE name = ‘张三’;

    — 将 id=3 的玩家分数增加 10(适合累加/累减)
    UPDATE Player SET score = score + 10 WHERE id = 3;

    — 同时更新多个字段(如修改姓名和分数)
    UPDATE Player SET name = ‘张三丰’, score = 100 WHERE id = 1;
  • 查– 查询所有玩家的姓名和分数
    SELECT name, score FROM Player;

    — 查询分数 ≥ 90 的玩家
    SELECT * FROM Player WHERE score >= 90;

    — 查询名字包含“张”的玩家(模糊查询,% 匹配任意字符)
    SELECT * FROM Player WHERE name LIKE ‘%张%’;

    — 按分数降序排列,取前 3 名
    SELECT name, score FROM Player ORDER BY score DESC LIMIT 0, 3;

    — 查询 id 为 2 或 5 的玩家
    SELECT * FROM Player WHERE id IN (2, 5);

Unity连接数据库

  • 首先需要导入MySql的dll文件

    • 在unity中会有报错,删除报错文件
    • 同时需要额外导入插件,我在文件夹里有放

  • 输入ConnectString时,不用区分大小写和空格缩进

[SerializeField] private string server = "127.0.0.1";
[SerializeField] private int port = 3306;
[SerializeField] private string user = "root";
[SerializeField] private string password = "root";
[SerializeField] private string database = "unity";
private string connectString;

private void Start()
{
  connectString = $"server={server};port={port};user={user};password={password};database={database}";
  MySqlConnection connection = new MySqlConnection(connectString);

  try
  {
      connection.Open();
      print("MySql Connect Success");
      connection.Close();
  }
  catch (MySqlException e)
  {
      print("MySql Connect Fault " + e.Message);
  }
}



评论(0)

查看评论列表

暂无评论


发表评论

表情 颜文字
插入代码

个人信息

avatar

24
文章
1
评论
1
用户

近期文章