MySQL数据库与表结构操作指南

前言:本文系统梳理MySQL核心操作语句。内容覆盖建库建表、结构调整、数据迁移全流程(包含创建/修改/删除/备份场景)。希望它们能帮你快速解决问题。

库结构操作

一、库的创建

    一个库的简单创建:

    create database 库名;

    注意:database是单数,不要写成databases。 

    比如创建一个名为d1的库:

    直接创建:

    create database d1;

    判断该库是否存在,不存在则创建:

    create database if not exists d1;

    如下: 

    除此之外在shell命令行中对应mysql目录下创建文件夹,同样相当于创建库: 

    使用show databases;指令同样能查到: 

    这里只是说明库的本质就是文件夹,但千万不要以这种方式创建库。

    以下是删除库的语句,我们对d2进行删除:

    drop database d2;

    最后我们来看库创建的语法:

    CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,
    create_specification] ...]
    create_specification:
    [DEFAULT] CHARACTER SET charset_name
    [DEFAULT] COLLATE collation_name

    说明:

    • 大写的表示关键字
    • [] 是可选项
    • CHARACTER SET: 指定数据库采用的字符集
    • COLLATE: 指定数据库字符集的校验规则

    1.编码与校验

            在创建库时可以在库名后面指定字符集和校验集。如果不带则默认使用配置文件中所设的字符集和校验集。

    字符集,校验集的关系:

    字符集

    • 相当于"字典":定义所有可用字符的集合

    • 为每个字符分配唯一的代码点(Code Point)

    • 例如:ASCII字符集包含128个字符,Unicode字符集包含14+万字符

    校验集

    • 相当于"使用规则":定义字符的比较、排序和匹配规则

    • 解决如何对文本数据进行查询、排序等操作

    • 例如:是否区分大小写、重音符号如何处理。

    查看数据库支持的字符集:

    show charset;

    查看数据库支持的校验集:

    show collation;

    创建库后,库的字符集和校验集会在文件db.opt中存储,如下:

    utf8_general_ci:utf8格式,不区分大小写。

    utf8_bin:utf8格式,区分大小写。

    通常在查找指定数据或排序时体现出它们的区别。 

    创建库时指明字符集和校验集的两种方式:

    2.库的备份和恢复

    2.1.备份

            数据库通常会带有备份工具,在shell命令行创建一个目录,这里命名为MySQL。在MySQL目录下使用以下指令进行备份:

    mysqldump -P3306 -uroot -B 库名 > 生成备份文件名.sql
    • mysqldump:备份指令
    • -P3306:指定端口号
    • -uroot:指定用什么用户身份
    • -B:填写-B选项后恢复数据库时不用先创建该库。
    • >: 重定向

    对d1库在MySQL目录下进行备份:

    事实上它备份的不是数据而是操作,我们可以把d1.sql打开查看。 

    2.2.恢复

    恢复库的语句:

    source 备份文件的路径;

    二、库的查改

    查看一共有哪些库:

    show databases;

    查看某个库的详细信息(即创建库时带的信息)

    show create database 库名;

    修改库结构:

    alter database 库名 选项(如编码集,校验集);

    与创建相比只是把create改成了alter。 

    表结构操作

    进行表操作首先要进入库,使用use进入库:

    use 库名;

    查看当前所在的库: 

    select database();

    三、表的创建

    语法:

    CREATE TABLE table_name (
    field1 datatype,
    field2 datatype,
    field3 datatype
    ) character set 字符集 collate 校验规则 engine 存储引擎;

    说明:

    • field:表示列名。
    • datatype:表示列的类型。
    • character set:字符集,如果没有指定字符集,则以所在数据库的字符集为准。
    • collate:校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准。

    在/var/lib/mysql/d1中新增了对应的两个文件。

    表的备份:

    mysqldump -P3306 -uroot 库名 表名1,表名2,... > 备份的文件;

    表的恢复和库的恢复相同。 

    四、表的删改查

    查看表结构

    查看库中有哪些表:

    show tables;

    查看指定表信息: 

    desc 表名;

    查看指定表的详细信息(即创建时的信息):

    show create table 表名;

     或:

    show create table 表名 \G

    修改表结构

    重命名:

    alter table 原表名 rename to 新表名;

    这里to可以省略。

    新增列:

    alter table 表名 add 新增列的属性(列名,类型,...) after 列1; 

     after选项可不加,表示把新增列放在列1后面。

    改列属性:

    alter table 表名 modify 列名 列的其他属性(类型,...);

    注意它是把原来的列信息丢弃,新增列信息。而不是做局部修改,所以需要把列信息写全。 

    改列名:

    alter table 表名 change 原列名 新的列属性(新列名,类型,...);

    删除列:

    alter table 表名 drop 列名;

    删除表: 

    drop table 表名;

    本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/82267.shtml

    如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

    相关文章

    【WEB3】区块链、隐私计算、AI和Web3.0——数据民主化(1)

    区块链、隐私计算、AI,是未来Web3.0至关重要的三项技术。 1.数据民主化问题 数据在整个生命周期(生产、传输、处理、存储)内的隐私安全,则是Web3.0在初始阶段首要解决的问题。 数据民主化旨在打破数据垄断,让个体能…

    C语言—指针2

    1. const 修饰变量 1.1 const修饰变量 变量被const修饰时,变量此时为常变量,本质为常量,语法上不可被修改,但是如果此时需要修改变量值,可以通过指针的方式修改。 虽然此时通过指针的方式确实修改了变量的值&#xff…

    高级架构软考之网络OSI网络模型

    高级架构软考之网络: 1.OSI网络模型: a.物理层: a.物理传输介质物理连接,负责数据传输,并监控数据 b.传输单位:bit c.协议: d:对应设备:中继器、集线器 b.数据链路层: a.…

    el-table计算表头列宽,不换行显示

    1、在utils.js中封装renderHeader方法 2、在el-table-column中引入: 3、页面展示:

    MySQL OCP和Oracle OCP怎么选?

    近期oracle 为庆祝 MySQL 数据库发布 30 周年,Oracle 官方推出限时福利:2025 年 4 月 20 日至 7 月 31 日期间,所有人均可免费报考 MySQL OCP(Oracle Certified Professional)认证考试(具体可查看MySQL OCP…

    2025最新免费视频号下载工具!支持Win/Mac,一键解析原画质+封面

    软件介绍 适用于Windows 2025 最新5月蝴蝶视频号下载工具,免费使用,无广告且免费,支持对原视频和封面进行解析下载,亲测可用,现在很多工具都失效了,难得的几款下载视频号工具,大家且用且珍…

    Python学习之路(八)-多线程和多进程浅析

    在 Python 中,多线程(Multithreading) 和 多进程(Multiprocessing) 是实现并发编程的两种主要方式。它们各有优劣,适用于不同的场景。 一、基本概念 特性多线程(threading)多进程(multiprocessing)并发模型线程共享内存空间每个进程拥有独立内存空间GIL(全局解释器锁…

    Spark缓存--persist方法

    1. 功能本质 persist:这是一个通用的持久化方法,能够指定多种不同的存储级别。存储级别决定了数据的存储位置(如内存、磁盘)以及存储形式(如是否序列化)。 2. 存储级别指定 persist:可以通过传入…

    裸辞8年前端的面试笔记——JavaScript篇(一)

    裸辞后的第二个月开始准备找工作,今天是第三天目前还没有面试,现在的行情是一言难尽,都在疯狂的压价。 下边是今天复习的个人笔记 一、事件循环 JavaScript 的事件循环(Event Loop)是其实现异步编程的关键机制。 从…

    什么是死信队列?死信队列是如何导致的?

    死信交换机(Dead Letter Exchange,DLX) 定义:死信交换机是一种特殊的交换机,专门用于**接收从其他队列中因特定原因变成死信的消息**。它的本质还是交换机,遵循RabbitMQ中交换机的基本工作原理&#xff0c…

    9. 从《蜀道难》学CSS基础:三种选择器的实战解析

    引言:当古诗遇上现代网页设计 今天我们通过李白的经典诗作《蜀道难》来学习CSS的三种核心选择器。这种古今结合的学习方式,既能感受中华诗词的魅力,又能掌握实用的网页设计技能。让我们开始这场穿越时空的技术之旅吧! 一、HTML骨架…

    三角网格减面算法及其代表的算法库都有哪些?

    以下是三角网格减面算法及其代表库/工具的详细分类,涵盖经典算法和现代实现: ​​1. 顶点聚类(Vertex Clustering)​​ ​​原理​​:将网格空间划分为体素栅格,合并每个栅格内的顶点。​​特点​​&#…

    URP - 屏幕图像(_CameraOpaqueTexture)

    首先需要在unity中开启屏幕图像开关才可以使用该纹理 同样只有不透明对象才能被渲染到屏幕图像中 若想要该对象不被渲染到屏幕图像中,可以将其Shader的渲染队列改为 "Queue" "Transparent" 如何在Shader中使用_CameraOpaqueTexture&#xf…

    vue 和 html 的区别

    使用 Vue.js 和原生 HTML 开发 Web 应用有显著的区别,主要体现在开发模式、功能扩展、性能优化和维护性等方面。以下是两者的对比分析: 🧱 原生 HTML(HTML CSS JavaScript) 特点: 静态结构:H…

    LeetCode[226] 翻转二叉树

    思路: 使用递归,归根结底还是左右节点互相倒,那么肯定需要一个temp节点在中间传递,最后就是递归,没什么说的 代码: /*** Definition for a binary tree node.* public class TreeNode {* int …

    幂等的几种解决方案以及实践

    目录 什么是幂等? 解决幂等的常见解决方案: 唯一标识符案例 数据库唯一约束 案例 乐观锁案例 分布式锁(Distributed Locking) 实践精选方案 首先 为什么不直接使用分布式锁呢? 自定义实现幂等组件&#xff01…

    PowerShell中的Json处理

    1.定义JSON字符串变量 PS C:\WINDOWS\system32> $body {"Method": "POST","Body": {"model": "deepseek-r1","messages": [{"content": "why is the sky blue?","role"…

    奥威BI:AI+BI深度融合,重塑智能AI数据分析新标杆

    在数字化浪潮席卷全球的今天,企业正面临着前所未有的数据挑战与机遇。如何高效、精准地挖掘数据价值,已成为推动业务增长、提升竞争力的核心议题。奥威BI,作为智能AI数据分析领域的领军者,凭借其创新的AIBI融合模式,正…

    【Linux网络】网络协议基础

    网络基础 计算机网络背景 独立模式:计算机之间相互独立 网络互联:多台计算机连接在一起,完成数据共享 局域网LAN:计算机数量更多了,通过交换机和路由器连接在一起 广域网WAN:将远隔千里的计算机都连在一起 所谓"局域网"和"广域网"只是一个相对的概念.比…

    LabVIEW表面粗糙度测量及算法解析

    在制造业和科研领域,表面粗糙度测量对保障产品质量、推动材料研究意义重大。表面粗糙度作为衡量工件表面加工质量的关键指标,直接影响着工件诸如磨损、密封、疲劳等机械性能。随着技术的发展,LabVIEW 在表面粗糙度测量及数据处理中发挥着不可…