MySQL表的操作

MySQL表的操作

1. 表的操作

1.1 创建表

语法:

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

说明:

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

1.2 创建表案例

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:表数据和索引

image-20230803172311054

1.3 查看表结构

desc 表名;

image-20230803173514345

show create table 表名;
# 查看表创建时的详细信息

image-20230803173654272

1.4 修改表

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

  1. 修改表名

    alter table 旧名字 rename to 新名字
    # 其中to可以省略
    

    image-20230803174746476

  2. 插入数据

    insert into myuser values (1,'张三','abc123','2002-1-1');
    insert into myuser values (1,'李四','123aaa','2002-12-4');
    

    image-20230803175622038

  3. 在表中添加一个字段,用于保存图片路径

    ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column datatype]...);
    

    image-20230803180001837

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

  4. 修改表中字段的属性

    ALTER TABLE tablename MODIfy (column datatype [DEFAULT expr][,column datatype]...);
    

    image-20230803180758620

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

  5. 删除某一字段

    ALTER TABLE tablename DROP (column);
    

    image-20230803181119651

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

  6. 修改某一字段名称

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

    image-20230803181904538

1.5 删除表

语法:

DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...

示例:

drop table user2;

image-20230803182121504

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值