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;
相关推荐
计算机学姐16 小时前
基于SpringBoot的校园资源共享系统【个性化推荐算法+数据可视化统计】
java·vue.js·spring boot·后端·mysql·spring·信息可视化
l1t16 小时前
DeepSeek辅助编写的利用位掩码填充唯一候选数方法求解数独SQL
数据库·sql·算法·postgresql
墨月白17 小时前
[QT] QT中的折线图和散点图
数据库·qt
龙潜月七17 小时前
做一个背单词的脚本
数据库·windows·c#·aigc·程序那些事
我科绝伦(Huanhuan Zhou)17 小时前
DM数据库物理存储结构深度解析与理论实践
数据库·oracle
霖霖总总17 小时前
[小技巧23]全面理解 MySQL 的 WAL 机制:原理、影响与可观测性
数据库·mysql
列御寇17 小时前
MongoDB分片集概述
数据库·mongodb
又是忙碌的一天17 小时前
SpringMVC响应
java·服务器·数据库
W001hhh17 小时前
260110
java·数据库
冰暮流星18 小时前
sql语句之select语句的基本使用
数据库·sql·mysql