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;
相关推荐
市场部需要一个软件开发岗位6 分钟前
JAVA开发常见安全问题:纵向越权
java·数据库·安全
海奥华29 分钟前
mysql索引
数据库·mysql
2601_949593651 小时前
深入解析CANN-acl应用层接口:构建高效的AI应用开发框架
数据库·人工智能
javachen__1 小时前
mysql新老项目版本选择
数据库·mysql
Dxy12393102161 小时前
MySQL如何高效查询表数据量:从基础到进阶的优化指南
数据库·mysql
Dying.Light1 小时前
MySQL相关问题
数据库·mysql
蜡笔小炘2 小时前
LVS -- 利用防火墙标签(FireWall Mark)解决轮询错误
服务器·数据库·lvs
韩立学长2 小时前
基于Springboot泉州旅游攻略平台d5h5zz02(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·旅游
Re.不晚3 小时前
MySQL进阶之战——索引、事务与锁、高可用架构的三重奏
数据库·mysql·架构
老邓计算机毕设3 小时前
SSM智慧社区信息化服务平台4v5hv(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·智慧社区、·信息化平台