【MySQL】表的操作

创建表

bash 复制代码
create table table_name(
   field1 datatype,
   field2 datatype,
   field3 datatype
   )character set 字符集 collate 校验规则 engine 存储引擎;

field表示列名,datatype表示列的类型,character set 字符集,若没有指定字符集,则以所在所在数据库的字符集为准。

例:

bash 复制代码
create table users (
    id int,
    name varchar(20) comment '用户名',
    password char(32) comment '密码',
    birthday date comment '生日'
) engine=MyISAM charset=utf8;

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

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

users.firm:表结构

users.MYD:表数据

users.MYI:表索引

查看表结构

bash 复制代码
desc 表名;

修改表

bash 复制代码
alter table [tablename] add/modify (column datatype ...)
alter table [tablename] drop(column);

例:

在users表添加一个字段用来保存图片路径:

在users表中添加两条记录:

插入新字段后,对原来表中的数据没有影响。

修改name,将其长度改为60:

bash 复制代码
mysql> alter table users modify name varchar(60);

删除某一列:

修改表名:

to:可以省略

修改某一列:

bash 复制代码
alter table person change name xingming varchar(50);------------------新字段需要完整定义!!!

删除表:

bash 复制代码
drop [temporary] table [if exists] tb1_name[,tb_name]...

例:

相关推荐
GeW15 分钟前
红帽RHCE从挂科边缘到一次过,我做对了什么
linux
时空自由民.15 分钟前
WSL解决USB 串口连接问题与linux串口权限问题
linux·单片机
OpenPomeloxCommunity24 分钟前
Linux驱动基础(三):firmware的声明与加载
linux·操作系统
linmengmeng_131438 分钟前
【总结】MyBatis-Plus批量插入与清表的正确姿势
java·spring boot·mysql·mybatis
云计算练习生1 小时前
什么是系统调用?为什么程序访问硬件必须经过它
linux·windows·操作系统·系统调用·操作系统原理
笃行3501 小时前
别拿MySQL数据库管理工具硬导:MySQL 迁 KingbaseES 的完整工具链
数据库
风哥2号1 小时前
数据库教程FGMT51‑PostgreSQL实例管理与参数文件
数据库·postgresql
玄芯散人2 小时前
【筑基·059】Linux命令行入门:工程师的操作系统
linux·操作系统·命令行
半仙白桑2 小时前
内核篇第二讲:Linux exec 函数族详解
linux·linux驱动
AR-26710-2 小时前
Linux Day7——建组/用户、umask、Python脚本
linux·python