码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • MySQL-DDL语句


    MySQL-DDL语句

    • 数据库操作语句
      • 增删数据库
        • 查看数据库列表
        • 创建数据库
        • 进入(使用)数据库/查看当前所在的数据库
        • 查看数据库的建库语句
        • 查看数据库的编码集和校验集
        • 删除数据库
        • 修改数据库的编码集
        • 查看数据库支持的编码集和校验集
      • 数据库备份
        • 备份单个数据库
        • 恢复数据库
        • 备份多个数据库
        • 备份数据库中的表结构
      • 查看登录列表
    • 表结构操作语句
      • 创建表
        • 查看此数据库下的所有表
        • 查看表的详细信息
        • 查看建表语句
      • 修改表
        • 删除表
        • 插入数据
        • 增加属性列
        • 更改属性列的数据类型
        • 更改属性列的属性名
        • 删除某一属性列

    数据库操作语句

    增删数据库

    查看数据库列表

    show databases;
    
    • 1

    在这里插入图片描述

    其中前四个数据库是MySQL数据库自带的,test_db是后来新创建的数据库。

    创建数据库

    create database db1;
    create database [if not exists] dbname [charset = utf8  collate utf8_general_ci engine=innodb]
    //上面上种是完整的建库语句,如果在配置文件中设置了编码集和存储引擎可以不用显示写出。
    
    • 1
    • 2
    • 3

    在这里插入图片描述
    🚀创建数据库的本质:在Linux下安装的MySQL,创建一个数据库就是在 /var/lib/mysql目录下创建一个目录文件。创建表结构就是在相应的数据库目录下创建表文件。
    在这里插入图片描述
    在这里插入图片描述

    db.opt文件内记录了该数据库的配置信息。

    进入(使用)数据库/查看当前所在的数据库

    use db_name; //使用或者进入名字为db_name的数据库
    select database(); //查看当前所在的数据库
    
    • 1
    • 2

    查看数据库的建库语句

    show create database db_name; //\G是格式化显示	
    
    • 1

    在这里插入图片描述

    查看数据库的编码集和校验集

    show variables like "character_set_database"; 
    show variables like "collation_database";
    
    • 1
    • 2

    在这里插入图片描述

    在这里插入图片描述
    🚀编码集和校验集

    编码集是指数据在数据库中以怎样的编码格式存储
    校验集是指在数据库中读取数据或者是进行数据对比是采用的编码格式。

    删除数据库

    drop database [if exists] db_name;
    
    • 1

    修改数据库的编码集

    alter database db_name charset = gbk; //修改数据库的编码集
    
    • 1

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

    可以看到当我们修改数据库的编码集时,其校验集跟随着自动发生改变。

    查看数据库支持的编码集和校验集

    show charset;
    show collation;
    
    • 1
    • 2

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

    数据库备份

    备份数据库的操作在root权限下进行。

    备份单个数据库

    mysqldump -u -P -p -B test_db > /home/gy/test_db.sql
    //在命令行中,不是在MySQL中输出此语句
    //-u后面跟用户名
    //-p后面跟密码(有密码的话)
    //-P 指明数据库使用的端口号
    //-B 后面跟数据库名称
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    恢复数据库

    source 路径/test_db.sql; 导入之前备份的数据库文件
    
    • 1

    备份多个数据库

    mysqldump -u -P -p -B test_db > /home/gy/test_db.sql db1 > /home/gy/db1.sql //直接在后面追加即可
    
    • 1

    在这里插入图片描述

    备份数据库中的表结构

     mysqldump -P -u -p  指定数据库 表1 表2 > name.sql
    
    • 1

    在这里插入图片描述

    备份文件中的数据

    在这里插入图片描述

    查看登录列表

    show processlist;
    
    • 1

    在这里插入图片描述

    表结构操作语句

    创建表

    create table tb_name (
    	字段名,数据类型
    	...
    )[character set 编码集 collate 校验集 engine 存储引擎];
    
    • 1
    • 2
    • 3
    • 4
    create table t3( 
    	id int, 
    	name varchar(12) )
    	character set utf8 collate utf8_general_ci engine=innodb;
    
    • 1
    • 2
    • 3
    • 4

    查看此数据库下的所有表

    show tables;
    
    • 1

    在这里插入图片描述

    查看表的详细信息

    desc tb_name;
    
    • 1

    在这里插入图片描述

    查看建表语句

    show create table tb_name\G; \G用于格式化显示
    
    • 1

    在这里插入图片描述
    🚀comment—建表时对某一列属性进行文字说明

    create table stu (
    	 sno char(12) primary key comment '这是学号', 
     	sname varchar(10) comment '学生姓名' 
    );
    
    • 1
    • 2
    • 3
    • 4
    //使用show create table tb_name;来查看建表语句时就可以看到建表时对属性列的描述
    
    • 1

    在这里插入图片描述

    修改表

    删除表

    drop table tb_name;
    
    • 1

    🚀修改表名

    alter table tb_name rename to newtb_name;
    //alter table stu rename to student;
    
    • 1
    • 2

    在这里插入图片描述

    插入数据

    insert into tb_name [(属性列...)]全列插入时可省略 values(插入的属性值); 
    
    • 1

    1.全列插入

    insert into student values('1001','张三');
    
    • 1

    2.指定列插入

    insert into student(sno) values('1002');
    
    • 1

    增加属性列

    alter table tb_name add 属性列名 数据类型[after 属性列];
    
    • 1

    1.在学生表中插入年龄这一属性列

    alter table student add age int;
    
    • 1

    在这里插入图片描述
    2.在学生表中插入性别这一属性列,并且要求在姓名列后

    alter table student add gender enum('男','女') after sname;
    
    • 1

    在这里插入图片描述

    更改属性列的数据类型

    alter table tb_name modify 属性名 数据类型;
    
    • 1

    1.修改学生表中性别数据类型为char(1)

    alter table student modify gender char(1);
    
    • 1

    在这里插入图片描述

    更改属性列的属性名

    alter table tb_name change oldname newname 数据类型;
    
    • 1

    1.修改学生表中性别的属性名为sex

    alter table student change gender sex char(1);
    
    • 1

    在这里插入图片描述

    删除某一属性列

    alter table tb_name drop 属性列;
    
    • 1

    1.删除学生表中年龄字段

    alter table student drop age;
    
    • 1

    在这里插入图片描述

  • 相关阅读:
    OpenHarmony中SystemAbility的实现方法
    云服务器安装elasticsearch 以及 kibana 附详细图文(全)
    windows下使用nginx + waitress 部署django
    趣学python编程(七、实现个小网站如此简单 web.py使用介绍)
    猿如意开发工具|JetBrains GoLand
    9、Mybatis-Plus 乐观锁
    Xgboost报错 ValueError: Invalid shape: (1650, 2) for label
    [Linux打怪升级之路]-环境变量
    接口测试学习
    一文读懂字符编码ASCII、Unicode与UTF-8
  • 原文地址:https://blog.csdn.net/Djsnxbjans/article/details/132700447
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号