Mysql基础知识之SQL语句——库表管理操作

👋 欢迎来到我的技术博客

大家好!我是一名深耕操作系统、云计算与人工智能 领域的程序员。一直以来,我都坚信一个成长公式:清晰的逻辑 + 持续的积累 = 稳健的成长

在这个博客里,我会定期分享三类核心内容:

  • 体系化的学习笔记,帮你梳理技术脉络
  • 接地气的实战经验,带你避开踩坑雷区
  • 深度化的技术思考,助你突破认知边界

我始终追求用「简单易懂的表达」讲清楚「复杂抽象的技术」,让不同阶段的开发者都能有所收获。

而今天,我们的主题聚焦于MySQL。无论你是刚接触数据库的新手,还是正在优化性能的进阶开发者,都希望这篇内容能为你带来启发,或是成为可复用的实用参考。

目录

一、SQL类型----结构化查询语言

二、数据库管理操作

1、查看数据库

2、创建数据库

3、查看数据库创建信息

4、删除数据库

5、切换数据库

三、数据表的管理操作

1、创建表

2、查看表

3、查看表结构

4、删除表

[四、MySQL存储引擎 storage engine](#四、MySQL存储引擎 storage engine)

1、常用的存储引擎

1、查看表创建信息

2、查看支持的存储引擎

3、存储引擎介绍

InnoDB表

[.frm 表结构文件](#.frm 表结构文件)

[修改存储引擎 --- /etc/my.cnf](#修改存储引擎 --- /etc/my.cnf)


一、SQL类型----结构化查询语言

  • DDL 数据定义语言
    • 对库、表、用户定义的管理
    • create, drop, alter
  • DML 数据管理/操作语言
    • 对表中的数据进行操作
    • insert, delete、update、select
  • DCL 数据控制语言
    • 对数据库用户、权限进行管理
    • grant, revoke

二、数据库管理操作

1、查看数据库

复制代码
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

MySQL首次启动初始化生成的数据库,作用说明 :

1、information_schema

保存数据库服务器上元数据信息(数据库名称、数据表名、字段名称、数据类型)

2、mysql

保存用户名、密码、权限

3、performance_schema

保存数据服务器性能相关的数据,例如连接数、进程、线程、

4、sys

对performance_schema数据库的简化,方便数据库管理员查看

2、创建数据库

复制代码
> create databse <数据库名称>;

mysql> create database caiwu;

3、查看数据库创建信息

复制代码
mysql> create database testdb charset utf8;
Query OK, 1 row affected (0.00 sec)

mysql> show create database testdb;
+----------+-----------------------------------------------------------------+
| Database | Create Database                                                 |
+----------+-----------------------------------------------------------------+
| testdb   | CREATE DATABASE `testdb` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+-----------------------------------------------------------------+
1 row in set (0.00 sec)

修改mysql默认的字符集---/etc/my.cnf

复制代码
collation-server = utf8_general_ci
character-set-server = utf8

4、删除数据库

复制代码
mysql> drop database caiwu;
Query OK, 0 rows affected (0.00 sec)

5、切换数据库

复制代码
mysql> select database();
+------------+
| database() |
+------------+
| testdb     |
+------------+
1 row in set (0.00 sec)

mysql> use game;
Database changed
mysql> select database();
+------------+
| database() |
+------------+
| game       |
+------------+
1 row in set (0.00 sec)

三、数据表的管理操作

1、创建表

复制代码
> create table 表名(字段名称 数据类型 [属性], 字段名称 数据类型 [属性], .........)

mysql> use game;
Database changed
mysql> 
mysql> create table account(
    -> id INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
    -> name CHAR(20) NOT NULL,
    -> password CHAR(30) NOT NULL,
    -> level INT UNSIGNED default 1);
Query OK, 0 rows affected (0.00 sec)

数据类型

  • 数字
    • int、smallint、tinyint、bigint、mediumint 整型
      • int unsigned 无符号整型
    • float(5,3) 单精度浮点数 4.178
    • double(5,3) 双精度浮点数
    • decimal(5,3) 财务
  • 字符
    • char(10) 定长字符
    • varchar(20) 变长字符
    • text
    • enum("男", "女") 枚举 ENUM("yes", "no")
  • 日期时间
    • date YYYY-MM-DD
    • datetime YYYY-MM-DD HH:MM:SS
    • timestamp YYYY-MM-DD HH:MM:SS

在数据变化时,时间会自动更新

属性

  • primary key 主键
  • unique key 惟一键
  • not null 不允许为空
  • auto_increment 自动增长, 配合primary key使用
  • default "数据" 设置字段的默认值

2、查看表

复制代码
mysql> show tables;
+----------------+
| Tables_in_game |
+----------------+
| account        |
| tb01           |
+----------------+
2 rows in set (0.00 sec)

3、查看表结构

复制代码
mysql> desc account;
+----------+------------------+------+-----+---------+----------------+
| Field    | Type             | Null | Key | Default | Extra          |
+----------+------------------+------+-----+---------+----------------+
| id       | int(11)          | NO   | PRI | NULL    | auto_increment |
| name     | char(20)         | NO   |     | NULL    |                |
| password | char(30)         | NO   |     | NULL    |                |
| level    | int(10) unsigned | YES  |     | 1       |                |
+----------+------------------+------+-----+---------+----------------+
4 rows in set (0.03 sec)

4、删除表

复制代码
mysql> drop table tb01;

四、MySQL存储引擎 storage engine

1、常用的存储引擎

  • InnoDB
    • 支持事务、外键
    • 适用于OLTP场景, 在线事务处理系统
  • MyISAM
    • 查询性能高
    • 适用于OLAP场景, 在线事务分析系统

1、查看表创建信息

复制代码
mysql> show create table account\G;
*************************** 1. row ***************************
       Table: account
Create Table: CREATE TABLE `account` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` char(20) NOT NULL,
  `password` char(30) NOT NULL,
  `level` int(10) unsigned DEFAULT '1',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
1 row in set (0.00 sec)

2、查看支持的存储引擎

复制代码
mysql> show engines;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| InnoDB             | DEFAULT | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
| MRG_MYISAM         | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
| BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| MyISAM             | YES     | MyISAM storage engine                                          | NO           | NO   | NO         |
| CSV                | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| ARCHIVE            | YES     | Archive storage engine                                         | NO           | NO   | NO         |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                             | NO           | NO   | NO         |
| FEDERATED          | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
9 rows in set (0.00 sec)

3、存储引擎介绍

InnoDB表

.frm 表结构文件

.ibd 表数据文件(数据、索引信息)

MyISAM表

.frm 表结构文件

.MYD 表数据文件

.MYI 表索引文件

修改存储引擎 --- /etc/my.cnf

复制代码
[mysqld]
default-storage-engine=InnoDB
相关推荐
minji...9 小时前
MySQL数据库 (七) MySQL表的基本查询(上),insert、replace、select、where、order by
数据库·mysql·select·replace·insert·order by·where
折戟不必沉沙11 小时前
mysql忘记密码
数据库·mysql
kuonyuma11 小时前
MyBatis入门·注解操作
java·spring boot·mysql·spring·mybatis
聪明努力的积极向上11 小时前
【claude code】MySQL MCP 配置完整指南
数据库·mysql·ai编程
又至冬日12 小时前
鸿蒙(HarmoneyOS),封装一个通用关系型数据库操作类
数据库·oracle·harmonyos
Nontee12 小时前
新手数据库避坑指南:通俗理解“页分裂”与“数据碎片”
数据库·oracle
DIY源码阁12 小时前
JavaSwing酒店管理系统 - MySQL版
java·mysql·eclipse
川石课堂软件测试12 小时前
UI自动化测试|元素操作&浏览器操作实践
功能测试·测试工具·mysql·ui·docker·容器·单元测试
Nontee12 小时前
新手建表指南:数据库主键选自增ID还是UUID?
数据库·oracle
码不停蹄的玄黓12 小时前
MySQL 慢查询日志 核心参数详解
数据库·mysql