首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >MySql基础之DDL-数据定义语言(修改表结构)

MySql基础之DDL-数据定义语言(修改表结构)

作者头像
Java微观世界
发布2025-01-21 08:08:23
发布2025-01-21 08:08:23
22600
代码可运行
举报
文章被收录于专栏:springbootspringboot
运行总次数:0
代码可运行

1、创建和管理数据库

创建数据库

  • 方式1:创建数据库
代码语言:javascript
代码运行次数:0
运行
复制
CREATE DATABASE 数据库名;
  • 方式2:创建数据库并指定字符集
代码语言:javascript
代码运行次数:0
运行
复制
CREATE DATABASE 数据库名 CHARACTER SET 字符集;
  • 方式3:判断数据库是否已经存在,不存在则创建数据库( 推荐
代码语言:javascript
代码运行次数:0
运行
复制
CREATE DATABASE IF NOT EXISTS 数据库名;

注意:DATABASE 不能改名。一些可视化工具可以改名,它是建新库,把所有表复制到新库,再删 旧库完成的。

使用数据库

  • 查看当前所有的数据库
代码语言:javascript
代码运行次数:0
运行
复制
SHOW DATABASES;
  • 查看当前正在使用的数据库
代码语言:javascript
代码运行次数:0
运行
复制
SELECT DATABASE();
  • 查看指定库下所有的表
代码语言:javascript
代码运行次数:0
运行
复制
SHOW TABLES FROM 数据库名;
  • 查看数据库的创建信息
代码语言:javascript
代码运行次数:0
运行
复制
SHOW CREATE DATABASE 数据库名; 
或者: 
SHOW CREATE DATABASE 数据库名\G
  • 使用/切换数据库
代码语言:javascript
代码运行次数:0
运行
复制
USE 数据库名;

修改数据库

  • 更改数据库字符集
代码语言:javascript
代码运行次数:0
运行
复制
ALTER DATABASE 数据库名 CHARACTER SET 字符集; #比如:gbk、utf8等

删除数据库

  • 方式1:删除指定的数据库
代码语言:javascript
代码运行次数:0
运行
复制
DROP DATABASE 数据库名;
  • 方式2:删除指定的数据库( 推荐 )
代码语言:javascript
代码运行次数:0
运行
复制
DROP DATABASE IF EXISTS 数据库名;

2、创建表

创建方式1

代码语言:javascript
代码运行次数:0
运行
复制
CREATE TABLE [IF NOT EXISTS] 表名( 
	字段1, 数据类型 [约束条件] [默认值], 
	字段2, 数据类型 [约束条件] [默认值], 
	字段3, 数据类型 [约束条件] [默认值], 
	……
	[表约束条件] 
);
代码语言:javascript
代码运行次数:0
运行
复制
-- 创建表 
CREATE TABLE emp (
	-- int类型 
	emp_id INT,
	-- 最多保存20个中英文字符 
	emp_name VARCHAR(20),
	-- 总位数不超过15位 
	salary DOUBLE,
	-- 日期类型 
	birthday DATE 
);

创建方式2

使用 AS subquery 选项,将创建表和插入数据结合起来

代码语言:javascript
代码运行次数:0
运行
复制
-- 创建的emp1和employees表结构相同数据相同
CREATE TABLE emp1 AS SELECT * FROM employees; 

-- 创建的emp2是空表
CREATE TABLE emp2 AS SELECT * FROM employees WHERE 1=2; 

查看数据表结构

代码语言:javascript
代码运行次数:0
运行
复制
show create table emp1

3、修改表

追加一个列

语法格式如下:

代码语言:javascript
代码运行次数:0
运行
复制
ALTER TABLE 表名 
ADD 【COLUMN】 字段名1 字段类型 【FIRST|AFTER 字段名2】;

举例:

代码语言:javascript
代码运行次数:0
运行
复制
ALTER TABLE dept80 
ADD job_id varchar(15);

注意:默认添加字段在最后,可以通过first或after字段名调整位置

修改一个列

可以修改列的数据类型,长度、默认值和位置 修改字段数据类型、长度、默认值、位置的语法格式如下:

代码语言:javascript
代码运行次数:0
运行
复制
ALTER TABLE 表名 
MODIFY 【COLUMN】 字段名1 字段类型 
【DEFAULT 默认值】【FIRST|AFTER 字段名2】;

重命名一个列

语法格式如下:

代码语言:javascript
代码运行次数:0
运行
复制
ALTER TABLE 表名 
CHANGE 【column】 列名 新列名 新数据类型;

举例:

代码语言:javascript
代码运行次数:0
运行
复制
ALTER TABLE dept80 
CHANGE department_name dept_name varchar(15);

删除一个列

格式如下:

代码语言:javascript
代码运行次数:0
运行
复制
ALTER TABLE 表名 DROP 【COLUMN】字段名

举例:

代码语言:javascript
代码运行次数:0
运行
复制
ALTER TABLE dept80 
DROP COLUMN job_id;

重命名表

  • 方式一:使用RENAME
代码语言:javascript
代码运行次数:0
运行
复制
RENAME TABLE emp TO myemp;
  • 方式二:
代码语言:javascript
代码运行次数:0
运行
复制
ALTER table dept 
RENAME [TO] detail_dept; -- [TO]可以省略

4、删除表

语法格式:

代码语言:javascript
代码运行次数:0
运行
复制
DROP TABLE [IF EXISTS] 数据表1 [, 数据表2, …, 数据表n];
  • DROP TABLE 语句不能回滚

清空表

删除表中所有的数据

代码语言:javascript
代码运行次数:0
运行
复制
TRUNCATE TABLE detail_dept;

TRUNCATE语句不能回滚,而使用 DELETE 语句删除数据,可以回滚

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-12-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、创建和管理数据库
  • 2、创建表
  • 3、修改表
  • 4、删除表
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档