MySQL数据库——DDL基本操作

文章目录

前言

DDL 操作是与数据库结构相关的操作,它们不涉及实际的数据操作,而是用于管理数据库的结构和元数据。今天我将为大家分享关于MySQL数据库的DDL操作。

数据库操作

SQL 功能
show databases; 查看所有的数据库
create database if not exists 数据库名 charset/character=utf8; 创建数据库
use 数据库名; 选中数据库
drop database 数据库名; 删除数据库
alter database 数据库名 character set 编码; 修改数据库编码

查看已存在的所有数据库

show databases会将当前MySQL下的所有数据库给展示出来。其中 information_schema mysql performance_schema sys 是MySQL默认具有的数据库。

创建数据库

SQL这样创建数据库 create database 数据库名 (character set)/charset 编码格式;

sql 复制代码
create database test character set utf8;
show databases;

选中数据库

后面的表操作都需要先指定操作的是哪一个数据库,我们使用 use 数据库名 来选中数据库。这里我们讲到表操作的时候会为大家展示用法。

删除数据库

当我们需要删除某一个数据库的时候,使用 drop database 数据库名 来删除指定数据库。

sql 复制代码
drop database test;
show databases;

修改数据库编码

如果我们在创建数据库之后还想要修改数据库编码的时候就使用 alter database 数据库名 character set 编码 来进行操作。

sql 复制代码
alter database mydb1 character set GB2312;

表操作

表位于对应的数据库中,所以我们进行表操作的时候,必须使用 use 数据库名 来指定操作的是哪个数据库。

MySQL基础表操作

SQL语句 功能
create table 表名 (列名1 该列数据类型,列名2 该列数据类型); 创建表,同时指定列的数据类型
show tables; 显示该数据库下的所有表
show create table 表名; 显示该表的创建语句
desc 表名; 显示该表的结构
drop table 表名; 删除指定表

创建表

在创建表之前我们需要知道 MySQL 有哪些数据类型。

MySQL基本数据类型

当知道有什么数据类型的之后,我们就可以来创建表了。

sql 复制代码
use mydb1;
create table student(id int,name varchar(20));
show tables;

显示创建表时的语句

sql 复制代码
show create table student;

显示表结构

sql 复制代码
desc 表名;
sql 复制代码
desc student;

删除表

sql 复制代码
drop table 表名;
sql 复制代码
drop table student;
show tables;

修改表的结构

修改表的结构需要运用到 alter table 表名 操作

增加列

alter table 表名 add 列名 该列数据类型;

sql 复制代码
alter table student add gender varchar(10);
desc student;

修改列

alter table 表名 change 旧列名 新列名 新列数据类型;

sql 复制代码
alter table student change gender tel int;
desc student;

删除列

alter table 表名 drop 列名

sql 复制代码
alter table student drop tel;
desc student;

修改表名

rename table 表名 to 新表名;

sql 复制代码
rename table student to stu;
show tables;
相关推荐
倔强的石头_1 天前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
云技纵横1 天前
唯一索引 INSERT 死锁实战:5 秒复现交叉插入的 S 锁循环等待
sql·mysql
沉默王二1 天前
面试官:RAG 不用向量数据库,用 MySQL 硬扛?我:100 万向量不是很轻松?
mysql·面试·ai编程
冬奇Lab2 天前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm
小猿姐2 天前
MySQL Top 10 热点问题 AI 运维实战:从内核诊断到云原生运维
mysql·云原生·aiops
ClouGence2 天前
Oracle CDC 架构优化:从主库直连到 DataGuard 备库同步
数据库·后端·oracle
云技纵横2 天前
Gap Lock 死锁实战:5 秒在本地复现 MySQL 间隙锁死锁
后端·mysql
无响应de神2 天前
三、用户与权限管理
数据库·mysql
摇滚侠3 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql