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
相关推荐
2501_938782093 小时前
《Ubuntu 系统下 MySQL 安装前的环境检查与依赖准备指南》
hive·mysql·ubuntu·adb
Java 码农3 小时前
mysql8.4.6 LTS 主从架构搭建
mysql·adb·架构
摇滚侠4 小时前
Oracle 数据库修改表名
数据库·oracle
Dolphin_Home5 小时前
MySQL逗号分隔字段-历史遗留原因兼容方案
数据库·mysql
MrZhangBaby6 小时前
SQL-leetcode—3475. DNA 模式识别
数据库·sql·leetcode
码力引擎6 小时前
【零基础学MySQL】第二章:SQL类型
数据库·sql·mysql·oracle
AscendKing7 小时前
Oracle 数据库OGG 工具简介
数据库·oracle·ogg
敲代码的嘎仔7 小时前
JavaWeb零基础学习Day5——MySQL
java·数据库·学习·程序人生·mysql·adb·改行学it
爱宇阳7 小时前
使用 PowerShell 批量导出 MySQL 数据库(新手教程)
数据库·mysql