当前位置: 首页 > news >正文

【MySQL】库和表的操作

目录

    • 一. 库的操作
      • 1. 创建数据库
      • 2. 删除数据库
      • 3. 查看数据库
        • 显示当前服务器的所有数据库
        • 显示当前所在的数据库
        • 显示指定数据库的属性
        • 显示数据库的连接情况
      • 4. 修改数据库
      • 5. 数据库的备份与恢复
      • 6 . 字符集和校验规则
        • 查看系统默认字符集及校验规则;
        • 查看数据库支持的字符集和校验规则;
        • 校验规则对数据库的影响
    • 二. 表的操作
      • 1. 创建表
      • 2. 删除表
      • 3. 查看表
        • 显示数据库所有的表;
        • 显示指定表创建的详细信息
        • 显示指定表的结构;
      • 4. 修改表
        • 新增字段
        • 删除字段
        • 修改指定字段属性
        • 修改列名
        • 修改表名

一. 库的操作

1. 创建数据库

CREATE DATABASE [IF NOT EXISTS] db_name [[DEFAULT] CHARSET=charset_name] [[DEFAULT] COLLATE=collation_name];
  • SQL 中大写的表示关键字, [ ]中代表的是可选项;
  • CHARSET(charset): 用于指定数据库所采用的编码格式; 若未指定, 则使用配置文件中的默认格式;
  • COLLATE(collate): 用于指定数据库所采用的校验规则; 若未指定, 则使用配置文件中的默认规则;

在 SQL 中不区分关键字的大小写;

使用例:

创建名为 t1 的数据库;

create database t1;

在这里插入图片描述

创建使用 utf8mb4 编码格式的数据库 t2;

create database t2 charset=utf8mb4;

以下三种写法也可以

create database t2 charset utf8mb4;
create database t2 character set=utf8mb4;
create database t2 character set utf8mb4;

在这里插入图片描述

创建使用 utf8mb4 编码格式和 utf8mb4_0900_ai_ci 校验规则的数据库 t3;

create database t3 charset=utf8mb4 collate=utf8mb4_0900_ai_ci;

校验规则的另一种写法也可以

create database t3 charset=utf8mb4 collate utf8mb4_0900_ai_ci;

在这里插入图片描述

2. 删除数据库

DROP DATABASE [IF EXISTS] db_name;

在这里插入图片描述

注: 删除数据库 会删除数据库的下级文件及目录, 级联删除, 不要轻易删除数据库;

3. 查看数据库

显示当前服务器的所有数据库
SHOW DATABASES;

在这里插入图片描述

显示当前所在的数据库
SELECT DATABASE();

在这里插入图片描述

显示指定数据库的属性
SHOW CREATE DATABASE da_name;

在这里插入图片描述

  • 数据库名的反引号是为了防止数据库名与关键字冲突;
  • /*!40100 default… */ 不是注释, 表示当前使用 MySQL 版本若大于4.01版本, 执行这里的 SQL 语句;
显示数据库的连接情况
SHOW PROCESSLIST;

在这里插入图片描述

4. 修改数据库

ALTER DATABASE db_name [[DEFAULT] CHARSET=character_name] [[DEFAULT] COLLATE=collation_name];

在这里插入图片描述
数据库的修改主要是数据库的字符集和校验规则, 但数据库的修改不会影响数据库中已有表的字符集和校验规则;
在这里插入图片描述

数据库的更名方法推荐备份数据, 新建数据库(更名), 导入数据的方法, 并且轻易不要改名;

5. 数据库的备份与恢复

使用 MySQL 提供的备份工具 mysqldump 进行备份;

mysqldump -u 用户 -p -P 端口 -B 待备份的数据库 > 目标路径(含目标文件)
  • -B 表示备份时, 将创建数据库的语句进行备份, 恢复时将会自行创建数据库; 若不加 -B 选项, 恢复时先 use 选择数据库, 然后才能 source;

若当前数据库正在被使用, 需要先断开连接;
在这里插入图片描述
查看备份文件, 其中包含了数据库的配置信息和有效的 SQL 语句;
在这里插入图片描述

恢复则在 MySQL 中使用 SQL 语句;

SOURCE 路径; 

在这里插入图片描述在这里插入图片描述

6 . 字符集和校验规则

查看系统默认字符集及校验规则;
show variables like 'character_set_database';
show variables like 'collation_database';

在这里插入图片描述

查看数据库支持的字符集和校验规则;
show charset;
show collation;
校验规则对数据库的影响

创建 d1 数据库, 使用 utf8mb4_0900_ai_ci 校验规则, 不区分字母的大小写;
在这里插入图片描述
在 d1 数据库中创建 t1 表, 插入大写和小写的数据, 并查询小写数据, 结果大写和小写字母全部打印;
在这里插入图片描述

创建 d2 数据库, 使用 utf8mb4_bin 校验规则, 区分字母的大小写;
在这里插入图片描述
在 d2 数据库中创建 t2 表, 插入大写和小写的数据, 并查询小写数据, 只有小写字母打印;
在这里插入图片描述

二. 表的操作

1. 创建表

CREATE TABLE [IF NOT EXISTS] table_name(field1 datatype1 [COMMENT '注释信息'],field2 datatype2 [COMMENT '注释信息'],field3 datatype3  [COMMENT '注释信息']
)[CHARSET=charset_name] [COLLATE=collation_name] [ENGINE=engine_name];
  • field: 表示列名
  • datatype: 表示列的类型
  • CHARSET: 字符集, 若未指定则使用当前数据库的字符集;
  • COLLATE: 校验规则, 若未指定则使用当前数据库的校验规则;
  • ENGINE: 存储引擎, 若未指定则使用默认的存储引擎;

在这里插入图片描述

2. 删除表

DROP [TEMPORARY] TABLE [IF EXISTS] table_name;
// temporary 关键字暂时忽略即可;

在这里插入图片描述

3. 查看表

显示数据库所有的表;
SHOW TABLES;

在这里插入图片描述

显示指定表创建的详细信息
SHOW CREATE TABLE table_name

在这里插入图片描述
也可以格式化输出内容

SHOW CREATE TABLE table_name \G

在这里插入图片描述

显示指定表的结构;
DESC tablename

在这里插入图片描述

  • Field: 表示列名;
  • Type: 表示类型;
  • Null: 表示是否可为空;
  • Key: 表示是否存在主键/外键/唯一键约束;
  • Default: 表示是否有默认值;
  • Extra: 表示额外信息;

4. 修改表

新增字段
ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column datatype]...);
  • column: 表示列名;
  • datatype: 表示类型;
  • [DEFAULT expr]: 表示该列的各种属性, 例如约束, 默认值, 是否可为空等, 支持同时新增多个字段;

新增的字段默认是在最后一个字段之后的;
在这里插入图片描述
当新增单个字段时, 支持插入在指定字段后, 和 “( )” 冲突;
在这里插入图片描述

删除字段
ALTER TABLE tablename DROP (column), [DROP ...];

在这里插入图片描述

修改指定字段属性
ALTER TABLE tablename MODIFY column datatype [DEFAULT expr], [MODIFY ...];
  • 需确保修改的字段存在, 并且要保证修改后的字段类型与表中已存在的数据类型相匹配;
  • 当修改多个字段时, 需叠加多条 MODIFY column datatype [DEFAULT expr] 语句, 通过 “,” 分隔;
  • 在修改字段后, 原字段的所有信息都会被覆盖, 包括注释;

修改 ch 的类型为 varchar;
在这里插入图片描述

修改列名
ALTER TABLE tablename CHANGE oldcolumn newcolumn datatype [DEFAULT expr];

需要注意的地方和修改指定字段属性相同;
在这里插入图片描述

修改表名
ALTER TABLE oldname RENAME [TO] newname;

在这里插入图片描述
修改字段名和表名是危险操作, 会影响上层使用, 不要轻易更改;

相关文章:

  • 【C++奇技淫巧】CRTP(奇特重现模板模式)
  • 为了搞清楚 DNS,我花了 1.99 买了一个域名
  • Esxi_FAQ_2024.6.3
  • 实用篇| huggingface网络不通
  • 【Node】node的Console模块使用。
  • 【面试题-012】什么是Spring 它有哪些优势
  • 回溯算法题模板与实战详解
  • 通用代码生成器应用场景六,为完善的应用系统收集需求
  • python替换“${}“占位符为变量,实现读取配置文件
  • MiniQMT国债逆回购策略Python代码全解析
  • CSAPP Lab05——Performance Lab完成思路
  • GPT-4o:重塑人机交互的未来
  • 上位机图像处理和嵌入式模块部署(f407 mcu中fatfs中间件使用)
  • npm安装依赖报错npm ERR! code ENOTFOUNDnpm ERR! syscall getaddrinfo
  • static修饰变量和函数
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • JDK 6和JDK 7中的substring()方法
  • jquery ajax学习笔记
  • leetcode讲解--894. All Possible Full Binary Trees
  • mysql 5.6 原生Online DDL解析
  • Unix命令
  • 仿天猫超市收藏抛物线动画工具库
  • 使用docker-compose进行多节点部署
  • 一道闭包题引发的思考
  • 《天龙八部3D》Unity技术方案揭秘
  • Mac 上flink的安装与启动
  • PostgreSQL之连接数修改
  • 阿里云移动端播放器高级功能介绍
  • 函数计算新功能-----支持C#函数
  • ‌[AI问答] Auto-sklearn‌ 与 scikit-learn 区别
  • ###项目技术发展史
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (二)正点原子I.MX6ULL u-boot移植
  • (附源码)spring boot校园拼车微信小程序 毕业设计 091617
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (一)appium-desktop定位元素原理
  • (转)fock函数详解
  • .java 9 找不到符号_java找不到符号
  • .NET 8.0 发布到 IIS
  • .NET Core Web APi类库如何内嵌运行?
  • .net core 源码_ASP.NET Core之Identity源码学习
  • .NET delegate 委托 、 Event 事件,接口回调
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:Bluetooth组件
  • /3GB和/USERVA开关
  • @DS 多数据源 + @Transactional(rollbackFor = Exception.class) 导致@DS 多数据源没法使用
  • @Responsebody与@RequestBody
  • [ Algorithm ] N次方算法 N Square 动态规划解决
  • [Android学习笔记]ScrollView的使用
  • [Angular] 笔记 21:@ViewChild
  • [Bugku] web-CTF靶场系列系列详解⑥!!!
  • [BZOJ4554][TJOI2016HEOI2016]游戏(匈牙利)
  • [DAU-FI Net开源 | Dual Attention UNet+特征融合+Sobel和Canny等算子解决语义分割痛点]
  • [Gamma]阶段测试报告