二、MySQL数据表操作
1. 创建数据库表
示例
CREATE TABLE IF NOT EXISTS `student`( `id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号', `name` VARCHAR(10) NOT NULL DEFAULT '匿名' COMMENT '姓名', `sex` VARCHAR(2) NOT NULL DEFAULT '女' COMMENT '性别', `birthday` DATETIME COMMENT '出身日期', `address` VARCHAR(100) DEFAULT NULL COMMENT '地址', `email` VARCHAR(50) DEFAULT NULL COMMENT '邮箱', PRIMARY KEY(`id`) )ENGINE=INNODB DEFAULT CHARSET=utf8;
格式
CREATE TABLE [IF NOT EXISTS] 表名( '字段名' 列类型 [属性] [索引] [注释], '字段名' 列类型 [属性] [索引] [注释], ...... '字段名' 列类型 [属性] [索引] [注释] )[表类型][字符集设置][注释]
注意点
- ()使用应为的符号
- 表的名称和字段的名称尽量使用``符号括起来
- AUTO_INCREMENT 自增
- 字符串使用单引号括起来
- 所有的语句后面加 , 最后一句不加
- PRIMARY KEY 主键,一般一个表只有一个主键
2. MyISAM和InnoDB的区别
MyISAM | InnoDB | |
---|---|---|
事务支持 | 不支持 | 支持 |
数据行锁定 | 不支持 | 支持 |
外键约束 | 不支持 | 支持 |
全文索引 | 支持 | 不支持 |
表空间的大小 | 较小 | 较大,约为2倍 |
常规使用选择:
- MYISAM: 节约空间,速度较快
- INOODB: 安全性高,事务的处理,多表多用户操作
3. 修改和删除数据表的字段
显示表的结构用 DESC student
-- 修改表的名字 ALTER TABLE teacher RENAME student; -- 向表中增加字段 ALTER TABLE student ADD `score` INT(3); -- 修改表的字段 ALTER TABLE student MODIFY score FLOAT(2); -- 修改约束 ALTER TABLE student CHANGE score score2 INT(2); -- 重命名字段 -- 删除表的字段 ALTER TABLE student DROP score2;
4. 删除数据库表
-- 删除表 DROP TABLE IF EXISTS student;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】博客园2025新款「AI繁忙」系列T恤上架,前往周边小店选购
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 解锁.NET 9性能优化黑科技:从内存管理到Web性能的最全指南
· 通过一个DEMO理解MCP(模型上下文协议)的生命周期
· MySQL下200GB大表备份,利用传输表空间解决停服发版表备份问题
· 记一次 .NET某固高运动卡测试 卡慢分析
· 微服务架构学习与思考:微服务拆分的原则
· 解锁.NET 9性能优化黑科技:从内存管理到Web性能的最全指南
· .net clr 8年才修复的BUG,你让我损失太多了
· 一个神奇的JS代码,让浏览器在新的空白标签页运行我们 HTML 代码(createObjectURL
· 即时通信SSE和WebSocket对比
· 做Docx预览,一定要做这个神库!!