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 索引名;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?