mysql结构修改汇总

字符编码方式

修改mysql表的字符集 :

ALTER TABLE logtest CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci; 

 

修改数据库字符集:

代码如下:

ALTER DATABASE db_name DEFAULT CHARACTER SET character_name [COLLATE ...];   


把表默认的字符集和所有字符列(CHAR,VARCHAR,TEXT)改为新的字符集

代码如下:

ALTER TABLE tbl_name CONVERT TO CHARACTER SET character_name [COLLATE ...]  


如:ALTER TABLE logtest CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci; 

 

只是修改表的默认字符集:

代码如下:

ALTER TABLE tbl_name DEFAULT CHARACTER SET character_name [COLLATE...];  


如:ALTER TABLE logtest DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 

 

修改字段的字符集:

代码如下:

ALTER TABLE tbl_name CHANGE c_name c_name CHARACTER SET character_name [COLLATE ...];  


如:ALTER TABLE logtest CHANGE title title VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci; 

 

查看数据库编码:

代码如下:

SHOW CREATE DATABASE db_name;   


查看表编码:

代码如下:

SHOW CREATE TABLE tbl_name;   


查看字段编码:

代码如下:

SHOW FULL COLUMNS FROM tbl_name;  

查看表结构
SHOW CREATE TABLE 表名; -- 查看表基本结构
DESCRIBE 表名; -- 查看表详细定义

表结构修改

修改表

1. 修改表名
ALTER TABLE 旧表名 RENAME 新表名;

alter table table_a rename table_b;

2. 修改表字段数据类型
ALTER TABLE 表名 MODIFY 字段名 数据类型;

alter table table_a modify column_1 varchar(30);

3. 修改表字段名
ALTER TABLE 表名 CHANGE 旧属性名 新属性名 新数据类型;

alter table table_a change column_1 column_2 varchar(40);

4. 修改表字段注释
ALTER TABLE 表名 MODIFY COLUMN 字段名 数据类型 COMMENT 新注释;

alter table table_a modify column column_1 varchar(20) comment ‘应用名称’;

5. 增加表字段
ALTER TABLE 表名 ADD 字段名1 数据类型 [完整性约束条件] [FIRST | AFTER 字段名2];

alter table table_a add column_1 varchar(20) not null;

6. 删除表字段
ALTER TABLE 表名 DROP 属性名;

alter table student add teacher_name varchar(20) not null;

7. 更改表的存储引擎
ALTER TABLE 表名 ENGINE = 存储引擎名;

alter table student2 ENGINE = InnoDB;

8. 删除表的外键约束
ALTER TABLE 表名 ENGINE = 存储引擎名;

alter table student2 ENGINE = InnoDB;

增加主键、索引

1. 添加主键
ALTER TABLE 表名 ADD PRIMARY KEY (字段名);

alter table table_a ADD PRIMARY KEY (id);

2. 删除主键
ALTER TABLE 表名 DROP PRIMARY KEY;

alter table table_a DROP PRIMARY KEY;

3. 添加唯一索引
ALTER TABLE 表名 ADD UNIQUE 索引名(字段名);

alter table table_a ADD UNIQUE column_a_unique_index (column_a);

4. 添加普通索引
ALTER TABLE 表名 ADD INDEX 索引名 (字段名);

alter table table_a ADD INDEX column_a_index (column_a);

5. 删除索引
ALTER TABLE 表名 DROP INDEX 索引名;

alter table table_a DROP INDEX column_a_index;
posted @   DB乐之者  阅读(169)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示