MySQL——表的操作

创建表

语法

说明:

field 表示列名 datatype 表示列的类型

character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准

collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准

创建数据库user_db,使用数据库

sql 复制代码
create database user_db;
use user_db;
sql 复制代码
create table if not exists user1
(
    id int,
    name varchar(20) comment '用户名',
    password char(32) comment '密码',
    birthday date comment '生日'
)character set utf8 engine MyISAM;

不同的存储引擎,创建表的文件不一样

user1 表存储引擎是 MyISAM ,在数据目中有三个不同的文件,分别是:

user1.frm: 表结构

user1.MYD: 表数据

user1.MYI: 表索引

我的MySQL版本是8.0的,移除了frm文件

创建表2

可以看到创建表的文件不一样

查看表结构

desc 表名;

字段名 字段类型 是否允许为空 索引类型 默认值 扩充

修改表

在项目实际开发中,经常修改某个表的结构,比如字段名字,字段大小,字段类型,表的字符集类型, 表的存储引擎等等。我们还有需求,添加字段,删除字段等等。这时我们就需要修改表。

ALTER TABLE tablename ADD (column datatype DEFAULT expr,column datatype...); ALTER TABLE tablename MODIfy (column datatype DEFAULT expr,column datatype...); ALTER TABLE tablename DROP (column);

修改表名,这个to可以省略

sql 复制代码
alter table user2 rename to users;

往user1中插入两条数据

在表中新增一个字段,用于保存用户头像的路径

sql 复制代码
alter table user1 add image_path varchar(128) comment '用户的头像路径' after birthday;

修改name,将其长度改成60

sql 复制代码
alter table user1 modify name varchar(60);

删除password列

注意:删除字段一定要小心,删除字段及其对应的列数据都没了

sql 复制代码
alter table user1 drop password;

将name列修改为xingming

sql 复制代码
alter table user1 change name xingming varchar(60);

注意:新字段需要完整 定义

删除表

语法

DROP TEMPORARY TABLE IF EXISTS tbl_name , tbl_name ...

示例

sql 复制代码
drop table users;
相关推荐
hey you~12 分钟前
通话记录与工单关联数据库设计:ER图、中间表、索引优化与分库分表(2026版)
数据库·分库分表·客服系统·数据一致性·后端开发·通话记录·跨系统查询
java_logo33 分钟前
Docker 部署 OpenViking:轻松搭建 AI Agent 上下文数据库平台
数据库·人工智能·docker·agent·火山引擎·openviking·轩辕镜像
Codiggerworld37 分钟前
Redis 正式接入 AI:当“最懂速度的数据库“开始解决“记忆问题“
数据库·人工智能·redis
白露与泡影38 分钟前
Redis 正式接入 AI:当“最懂速度的数据库“开始解决“记忆问题“
数据库·人工智能·redis
我不会插花弄玉1 小时前
3.通用命令【由浅入深-redis】
数据库·redis·bootstrap
腾科IT教育1 小时前
Oracle OCP和MySQL OCP怎么选?方向对比指南
mysql·oracle·ocp·oracle ocp·ocp怎么选·mysql ocp
大牧师1 小时前
Mybatis 框架教程
java·数据库·mybatis·数据持久化·orm
有想法的py工程师2 小时前
PostgreSQL【内核】 CBO 优化器的“早停下注”与数学模型失效分析
数据库·postgresql
用户460381291942 小时前
别人都 commit 了,为什么我的 select 还是旧值?图解 MySQL MVCC
mysql
冰暮流星2 小时前
sql之计算
数据库·sql