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;
相关推荐
jiayou6413 小时前
KingbaseES 表级与列级加密完全指南
数据库·后端
GBASE1 天前
G术时刻 |GBase 8s数据库事务并发控制之封锁技术介绍(下)
数据库
xiezhr2 天前
逛GitHub发现了一款免费的带AI功能的数据库管理工具
数据库·ai编程·dba
唐青枫3 天前
MySQL JSON 实战详解:从存储、查询、更新到 JSON_TABLE 与索引
sql·mysql
吃糖的小孩3 天前
给 QQ AI 机器人设计“可控记忆”:会话摘要、手动长期记忆与角色卡边界
数据库
小满8783 天前
5.Mysql事务隔离级别与锁机制
mysql
笃行3503 天前
金仓数据库数据安全双防线:静态存储加密与传输加密实战
数据库
笃行3503 天前
金仓数据库物理备份实战:sys_rman 全流程演练与误覆盖抢救
数据库
笃行3503 天前
金仓数据库逻辑备份实战:从全库导出到 Schema 替换的完整闭环
数据库
元Y亨H3 天前
技术笔记:MySQL 字符集排序规则与大小写敏感性问题解决方案
mysql