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

MySQL-DDL语句

MySQL-DDL语句

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

数据库操作语句

增删数据库

查看数据库列表

show databases;

在这里插入图片描述

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

创建数据库

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

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

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

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

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

查看数据库的建库语句

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

在这里插入图片描述

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

show variables like "character_set_database"; 
show variables like "collation_database";

在这里插入图片描述

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

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

删除数据库

drop database [if exists] db_name;

修改数据库的编码集

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

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

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

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

show charsetshow collation;

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

数据库备份

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

备份单个数据库

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

恢复数据库

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

备份多个数据库

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

在这里插入图片描述

备份数据库中的表结构

 mysqldump -P -u -p  指定数据库 表12 > name.sql

在这里插入图片描述

备份文件中的数据

在这里插入图片描述

查看登录列表

show processlist;

在这里插入图片描述

表结构操作语句

创建表

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

查看此数据库下的所有表

show tables;

在这里插入图片描述

查看表的详细信息

desc tb_name;

在这里插入图片描述

查看建表语句

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

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

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

在这里插入图片描述

修改表

删除表

drop table tb_name;

🚀修改表名

alter table tb_name rename to newtb_name;
//alter table stu rename to student;

在这里插入图片描述

插入数据

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

1.全列插入

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

2.指定列插入

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

增加属性列

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

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

alter table student add age int;

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

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

在这里插入图片描述

更改属性列的数据类型

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

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

alter table student modify gender char(1);

在这里插入图片描述

更改属性列的属性名

alter table tb_name change oldname newname 数据类型;

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

alter table student change gender sex char(1);

在这里插入图片描述

删除某一属性列

alter table tb_name drop 属性列;

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

alter table student drop age;

在这里插入图片描述

http://www.lryc.cn/news/165142.html

相关文章:

  • 总结987
  • 【服务器 | 测试】如何在centos 7上面安装jmeter
  • 20.04部署cartographer
  • djangoMTV初探
  • Minecraft--基于云服务器搭建自己的服务器--简易搭建
  • 【数据结构与算法】十大经典排序算法
  • Android 12.0 SystemUI下拉状态栏定制化之隐藏下拉通知栏布局功能实现(一)
  • 665. 非递减数列-先改后验法
  • 调教 文心一言 生成 AI绘画 提示词(Midjourney)
  • 半导体制造工艺(一)光刻
  • 【海思SS626 | 开发环境】VMware17安装Ubuntu 18.04.6
  • Vue知识系列(3)每天10个小知识点
  • Java基础入门·多线程·线程池ThreadPool篇
  • Trinitycore学习之在vscode查看远端服务器上源码配置
  • 583. 两个字符串的删除操作 -- 动规
  • SOME/IP
  • [2023.09.12]: Yew应用开发的第一个hook--use_state
  • 使用Langchain+GPT+向量数据库chromadb 来创建文档对话机器人
  • Spring Cloud(Finchley版本)系列教程(一) 服务注册与发现(eureka)
  • 【大数据】美团 DB 数据同步到数据仓库的架构与实践
  • 分类预测 | MATLAB实现WOA-CNN-BiGRU鲸鱼算法优化卷积双向门控循环单元数据分类预测
  • mac使用squidMan设置代理服务器
  • 大数据Flink(七十八):SQL 的水印操作(Watermark)
  • 【Linux】Qt Remote之Remote开发环境搭建填坑小记
  • ATFX汇市:离岸人民币大幅升值,昨日盘中跌破7.3关口
  • Spring Boot 配置 Knife4j
  • Java项目中遇到uv坐标如何转换成经纬度坐标
  • std : : unordered_map 、 std : : unordered_set
  • Python解释器和Pycharm的傻瓜式安装部署
  • 14 Python使用网络