MySQL表的操作

MySQL表的操作

1. 表的操作

1.1 创建表

语法:

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

说明:

  • field 表示列名
  • datatype 表示列的类型
  • character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准
  • collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准

1.2 创建表案例

mysql 复制代码
mysql> create table user1(
    -> id int,
    -> name varchar(20) comment '用户名',
    -> password char(32) comment '用户的密码',
    -> birthday date comment '用户的生日'
    -> )character set utf8 collate utf8_general_ci engine MyIsam;
    
mysql> create table if not exists user2(
    -> id int,
    -> name varchar(20) comment '用户名',
    -> password char(32) comment '用户的密码',
    -> birthday date comment '用户的生日'
    -> )charset=utf8 collate=utf8_general_ci engine=InnoDB;

说明:

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

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

  • user1.frm:表结构
  • user1.MYD:表数据
  • user1.MYI:表索引

user2 表存储引擎是InnoDB ,在数据目中有两个不同的文件,分别是:

  • user2.frm:表结构
  • user2.ibd:表数据和索引

1.3 查看表结构

mysql 复制代码
desc 表名;
mysql 复制代码
show create table 表名;
# 查看表创建时的详细信息

1.4 修改表

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

  1. 修改表名

    mysql 复制代码
    alter table 旧名字 rename to 新名字
    # 其中to可以省略
  2. 插入数据

    mysql 复制代码
    insert into myuser values (1,'张三','abc123','2002-1-1');
    insert into myuser values (1,'李四','123aaa','2002-12-4');
  3. 在表中添加一个字段,用于保存图片路径

    mysql 复制代码
    ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column datatype]...);

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

  4. 修改表中字段的属性

    mysql 复制代码
    ALTER TABLE tablename MODIfy (column datatype [DEFAULT expr][,column datatype]...);

    注意这里修改新属性只改变了类型,我们之前设置的comment备注被覆盖。

  5. 删除某一字段

    mysql 复制代码
    ALTER TABLE tablename DROP (column);

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

  6. 修改某一字段名称

    mysql 复制代码
    mysql> alter table myuser change name XingMing varchar(70) DEFAULT NULL; 
    # 新字段需要完整定义

1.5 删除表

语法:

mysql 复制代码
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...

示例:

mysql 复制代码
drop table user2;
相关推荐
DONG91315 分钟前
《三驾马车:MySQL、MongoDB、Redis对比与融合实战》
数据库·redis·sql·mysql·mongodb·database
程序边界39 分钟前
从 Oracle 到 KingbaseES:企业信创改造的“抄作业”模板,直接套用!
数据库·oracle
funfan05171 小时前
奇怪的“bug”--数据库的“隐式转换”行为
数据库·bug
Jasonakeke1 小时前
【重学MySQL】八十八、8.0版本核心新特性全解析
android·数据库·mysql
comeoffbest1 小时前
PostgreSQL 能存万物:从安装到高级功能实战
数据库·postgresql
时序数据说2 小时前
IoTDB如何解决海量数据存储难题?
大数据·数据库·物联网·时序数据库·iotdb
小楓12013 小时前
MySQL數據庫開發教學(二) 核心概念、重要指令
开发语言·数据库·mysql
花果山总钻风3 小时前
MySQL奔溃,InnoDB文件损坏修复记录
数据库·mysql·adb
TDengine (老段)4 小时前
TDengine IDMP 运维指南(管理策略)
大数据·数据库·物联网·ai·时序数据库·tdengine·涛思数据
Full Stack Developme4 小时前
PostgreSQL interval 转换为 int4 (整数)
数据库·postgresql